login-test.corp.google.com Open in urlscan Pro
2a00:1450:4025:402::81  Public Scan

URL: https://login-test.corp.google.com/c/gnubbyloginscript.js
Submission: On November 30 via manual from FR — Scanned from FR

Form analysis 0 forms found in the DOM

Text Content

(function(){var $jscomp = $jscomp || {};
$jscomp.scope = {};
$jscomp.arrayIteratorImpl = function(array) {
  var index = 0;
  return function() {
    return index < array.length ? {done:!1, value:array[index++]} : {done:!0};
  };
};
$jscomp.arrayIterator = function(array) {
  return {next:$jscomp.arrayIteratorImpl(array)};
};
$jscomp.ASSUME_ES5 = !1;
$jscomp.ASSUME_ES6 = !1;
$jscomp.ASSUME_NO_NATIVE_MAP = !1;
$jscomp.ASSUME_NO_NATIVE_SET = !1;
$jscomp.ISOLATE_POLYFILLS = !1;
$jscomp.FORCE_POLYFILL_PROMISE = !1;
$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION = !1;
$jscomp.INSTRUMENT_ASYNC_CONTEXT = !0;
$jscomp.defineProperty = $jscomp.ASSUME_ES5 || typeof Object.defineProperties == "function" ? Object.defineProperty : function(target, property, descriptor) {
  if (target == Array.prototype || target == Object.prototype) {
    return target;
  }
  target[property] = descriptor.value;
  return target;
};
$jscomp.getGlobal = function(passedInThis) {
  for (var possibleGlobals = ["object" == typeof globalThis && globalThis, passedInThis, "object" == typeof window && window, "object" == typeof self && self, "object" == typeof global && global], i = 0; i < possibleGlobals.length; ++i) {
    var maybeGlobal = possibleGlobals[i];
    if (maybeGlobal && maybeGlobal.Math == Math) {
      return maybeGlobal;
    }
  }
  throw Error("Cannot find global object");
};
$jscomp.global = $jscomp.getGlobal(this);
$jscomp.IS_SYMBOL_NATIVE = typeof Symbol === "function" && typeof Symbol("x") === "symbol";
$jscomp.TRUST_ES6_POLYFILLS = !$jscomp.ISOLATE_POLYFILLS || $jscomp.IS_SYMBOL_NATIVE;
$jscomp.polyfills = {};
$jscomp.propertyToPolyfillSymbol = {};
$jscomp.POLYFILL_PREFIX = "$jscp$";
$jscomp.polyfill = function(target, polyfill, fromLang, toLang) {
  polyfill && ($jscomp.ISOLATE_POLYFILLS ? $jscomp.polyfillIsolated(target, polyfill, fromLang, toLang) : $jscomp.polyfillUnisolated(target, polyfill, fromLang, toLang));
};
$jscomp.polyfillUnisolated = function(target, polyfill) {
  for (var obj = $jscomp.global, split = target.split("."), i = 0; i < split.length - 1; i++) {
    var key = split[i];
    if (!(key in obj)) {
      return;
    }
    obj = obj[key];
  }
  var property = split[split.length - 1], orig = obj[property], impl = polyfill(orig);
  impl != orig && impl != null && $jscomp.defineProperty(obj, property, {configurable:!0, writable:!0, value:impl});
};
$jscomp.polyfillIsolated = function(target, polyfill, fromLang) {
  var split = target.split("."), isSimpleName = split.length === 1, root = split[0];
  var ownerObject = !isSimpleName && root in $jscomp.polyfills ? $jscomp.polyfills : $jscomp.global;
  for (var i = 0; i < split.length - 1; i++) {
    var key = split[i];
    if (!(key in ownerObject)) {
      return;
    }
    ownerObject = ownerObject[key];
  }
  var property = split[split.length - 1], nativeImpl = $jscomp.IS_SYMBOL_NATIVE && fromLang === "es6" ? ownerObject[property] : null, impl = polyfill(nativeImpl);
  if (impl != null) {
    if (isSimpleName) {
      $jscomp.defineProperty($jscomp.polyfills, property, {configurable:!0, writable:!0, value:impl});
    } else if (impl !== nativeImpl) {
      if ($jscomp.propertyToPolyfillSymbol[property] === void 0) {
        var BIN_ID = Math.random() * 1E9 >>> 0;
        $jscomp.propertyToPolyfillSymbol[property] = $jscomp.IS_SYMBOL_NATIVE ? $jscomp.global.Symbol(property) : $jscomp.POLYFILL_PREFIX + BIN_ID + "$" + property;
      }
      $jscomp.defineProperty(ownerObject, $jscomp.propertyToPolyfillSymbol[property], {configurable:!0, writable:!0, value:impl});
    }
  }
};
$jscomp.initSymbol = function() {
};
$jscomp.polyfill("Symbol", function(orig) {
  if (orig) {
    return orig;
  }
  var SymbolClass = function(id, opt_description) {
    this.$jscomp$symbol$id_ = id;
    $jscomp.defineProperty(this, "description", {configurable:!0, writable:!0, value:opt_description});
  };
  SymbolClass.prototype.toString = function() {
    return this.$jscomp$symbol$id_;
  };
  var SYMBOL_PREFIX = "jscomp_symbol_" + (Math.random() * 1E9 >>> 0) + "_", counter = 0, symbolPolyfill = function(opt_description) {
    if (this instanceof symbolPolyfill) {
      throw new TypeError("Symbol is not a constructor");
    }
    return new SymbolClass(SYMBOL_PREFIX + (opt_description || "") + "_" + counter++, opt_description);
  };
  return symbolPolyfill;
}, "es6", "es3");
$jscomp.polyfill("Symbol.iterator", function(orig) {
  if (orig) {
    return orig;
  }
  for (var symbolIterator = Symbol("Symbol.iterator"), arrayLikes = "Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "), i = 0; i < arrayLikes.length; i++) {
    var ArrayLikeCtor = $jscomp.global[arrayLikes[i]];
    typeof ArrayLikeCtor === "function" && typeof ArrayLikeCtor.prototype[symbolIterator] != "function" && $jscomp.defineProperty(ArrayLikeCtor.prototype, symbolIterator, {configurable:!0, writable:!0, value:function() {
      return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this));
    }});
  }
  return symbolIterator;
}, "es6", "es3");
$jscomp.iteratorPrototype = function(next) {
  var iterator = {next:next};
  iterator[Symbol.iterator] = function() {
    return this;
  };
  return iterator;
};
$jscomp.objectCreate = $jscomp.ASSUME_ES5 || typeof Object.create == "function" ? Object.create : function(prototype) {
  var ctor = function() {
  };
  ctor.prototype = prototype;
  return new ctor();
};
$jscomp.getConstructImplementation = function() {
  function reflectConstructWorks() {
    function Base() {
    }
    new Base();
    Reflect.construct(Base, [], function() {
    });
    return new Base() instanceof Base;
  }
  if ($jscomp.TRUST_ES6_POLYFILLS && typeof Reflect != "undefined" && Reflect.construct) {
    if (reflectConstructWorks()) {
      return Reflect.construct;
    }
    var brokenConstruct = Reflect.construct;
    return function(target, argList, opt_newTarget) {
      var out = brokenConstruct(target, argList);
      opt_newTarget && Reflect.setPrototypeOf(out, opt_newTarget.prototype);
      return out;
    };
  }
  return function(target, argList, opt_newTarget) {
    opt_newTarget === void 0 && (opt_newTarget = target);
    var obj = $jscomp.objectCreate(opt_newTarget.prototype || Object.prototype);
    return Function.prototype.apply.call(target, obj, argList) || obj;
  };
};
$jscomp.construct = {valueOf:$jscomp.getConstructImplementation}.valueOf();
$jscomp.underscoreProtoCanBeSet = function() {
  var x = {a:!0}, y = {};
  try {
    return y.__proto__ = x, y.a;
  } catch (e) {
  }
  return !1;
};
$jscomp.setPrototypeOf = $jscomp.TRUST_ES6_POLYFILLS && typeof Object.setPrototypeOf == "function" ? Object.setPrototypeOf : $jscomp.underscoreProtoCanBeSet() ? function(target, proto) {
  target.__proto__ = proto;
  if (target.__proto__ !== proto) {
    throw new TypeError(target + " is not extensible");
  }
  return target;
} : null;
$jscomp.inherits = function(childCtor, parentCtor) {
  childCtor.prototype = $jscomp.objectCreate(parentCtor.prototype);
  childCtor.prototype.constructor = childCtor;
  if ($jscomp.setPrototypeOf) {
    var setPrototypeOf = $jscomp.setPrototypeOf;
    setPrototypeOf(childCtor, parentCtor);
  } else {
    for (var p in parentCtor) {
      if (p != "prototype") {
        if (Object.defineProperties) {
          var descriptor = Object.getOwnPropertyDescriptor(parentCtor, p);
          descriptor && Object.defineProperty(childCtor, p, descriptor);
        } else {
          childCtor[p] = parentCtor[p];
        }
      }
    }
  }
  childCtor.superClass_ = parentCtor.prototype;
};
$jscomp.makeIterator = function(iterable) {
  var iteratorFunction = typeof Symbol != "undefined" && Symbol.iterator && iterable[Symbol.iterator];
  if (iteratorFunction) {
    return iteratorFunction.call(iterable);
  }
  if (typeof iterable.length == "number") {
    return $jscomp.arrayIterator(iterable);
  }
  throw Error(String(iterable) + " is not an iterable or ArrayLike");
};
$jscomp.arrayFromIterator = function(iterator) {
  for (var i, arr = []; !(i = iterator.next()).done;) {
    arr.push(i.value);
  }
  return arr;
};
$jscomp.arrayFromIterable = function(iterable) {
  return iterable instanceof Array ? iterable : $jscomp.arrayFromIterator($jscomp.makeIterator(iterable));
};
$jscomp.createTemplateTagFirstArg = function(arrayStrings) {
  return $jscomp.createTemplateTagFirstArgWithRaw(arrayStrings, arrayStrings);
};
$jscomp.createTemplateTagFirstArgWithRaw = function(arrayStrings, rawArrayStrings) {
  arrayStrings.raw = rawArrayStrings;
  Object.freeze && (Object.freeze(arrayStrings), Object.freeze(rawArrayStrings));
  return arrayStrings;
};
$jscomp.owns = function(obj, prop) {
  return Object.prototype.hasOwnProperty.call(obj, prop);
};
$jscomp.assign = $jscomp.TRUST_ES6_POLYFILLS && typeof Object.assign == "function" ? Object.assign : function(target, var_args) {
  for (var i = 1; i < arguments.length; i++) {
    var source = arguments[i];
    if (source) {
      for (var key in source) {
        $jscomp.owns(source, key) && (target[key] = source[key]);
      }
    }
  }
  return target;
};
$jscomp.polyfill("Object.assign", function(orig) {
  return orig || $jscomp.assign;
}, "es6", "es3");
$jscomp.generator = {};
$jscomp.generator.ensureIteratorResultIsObject_ = function(result) {
  if (!(result instanceof Object)) {
    throw new TypeError("Iterator result " + result + " is not an object");
  }
};
$jscomp.generator.Context = function() {
  this.isRunning_ = !1;
  this.yieldAllIterator_ = null;
  this.yieldResult = void 0;
  this.nextAddress = 1;
  this.finallyAddress_ = this.catchAddress_ = 0;
  this.finallyContexts_ = this.abruptCompletion_ = null;
};
$jscomp.generator.Context.prototype.start_ = function() {
  if (this.isRunning_) {
    throw new TypeError("Generator is already running");
  }
  this.isRunning_ = !0;
};
$jscomp.generator.Context.prototype.stop_ = function() {
  this.isRunning_ = !1;
};
$jscomp.generator.Context.prototype.jumpToErrorHandler_ = function() {
  this.nextAddress = this.catchAddress_ || this.finallyAddress_;
};
$jscomp.generator.Context.prototype.next_ = function(value) {
  this.yieldResult = value;
};
$jscomp.generator.Context.prototype.throw_ = function(e) {
  this.abruptCompletion_ = {exception:e, isException:!0};
  this.jumpToErrorHandler_();
};
$jscomp.generator.Context.prototype.return = function(value) {
  this.abruptCompletion_ = {return:value};
  this.nextAddress = this.finallyAddress_;
};
$jscomp.generator.Context.prototype.yield = function(value, resumeAddress) {
  this.nextAddress = resumeAddress;
  return {value:value};
};
$jscomp.generator.Context.prototype.jumpTo = function(nextAddress) {
  this.nextAddress = nextAddress;
};
$jscomp.generator.Context.prototype.jumpToEnd = function() {
  this.nextAddress = 0;
};
$jscomp.generator.Context.prototype.setCatchFinallyBlocks = function(catchAddress, finallyAddress) {
  this.catchAddress_ = catchAddress;
  finallyAddress != void 0 && (this.finallyAddress_ = finallyAddress);
};
$jscomp.generator.Context.prototype.setFinallyBlock = function(finallyAddress) {
  this.catchAddress_ = 0;
  this.finallyAddress_ = finallyAddress || 0;
};
$jscomp.generator.Context.prototype.leaveTryBlock = function(nextAddress, catchAddress) {
  this.nextAddress = nextAddress;
  this.catchAddress_ = catchAddress || 0;
};
$jscomp.generator.Context.prototype.enterCatchBlock = function(nextCatchBlockAddress) {
  this.catchAddress_ = nextCatchBlockAddress || 0;
  var exception = this.abruptCompletion_.exception;
  this.abruptCompletion_ = null;
  return exception;
};
$jscomp.generator.Context.prototype.enterFinallyBlock = function(nextCatchAddress, nextFinallyAddress, finallyDepth) {
  finallyDepth ? this.finallyContexts_[finallyDepth] = this.abruptCompletion_ : this.finallyContexts_ = [this.abruptCompletion_];
  this.catchAddress_ = nextCatchAddress || 0;
  this.finallyAddress_ = nextFinallyAddress || 0;
};
$jscomp.generator.Context.prototype.leaveFinallyBlock = function(nextAddress, finallyDepth) {
  var preservedContext = this.finallyContexts_.splice(finallyDepth || 0)[0], abruptCompletion = this.abruptCompletion_ = this.abruptCompletion_ || preservedContext;
  if (abruptCompletion) {
    if (abruptCompletion.isException) {
      return this.jumpToErrorHandler_();
    }
    abruptCompletion.jumpTo != void 0 && this.finallyAddress_ < abruptCompletion.jumpTo ? (this.nextAddress = abruptCompletion.jumpTo, this.abruptCompletion_ = null) : this.nextAddress = this.finallyAddress_;
  } else {
    this.nextAddress = nextAddress;
  }
};
$jscomp.generator.Context.PropertyIterator = function(object) {
  this.properties_ = [];
  for (var property in object) {
    this.properties_.push(property);
  }
  this.properties_.reverse();
};
$jscomp.generator.Engine_ = function(program) {
  this.context_ = new $jscomp.generator.Context();
  this.program_ = program;
};
$jscomp.generator.Engine_.prototype.next_ = function(value) {
  this.context_.start_();
  if (this.context_.yieldAllIterator_) {
    return this.yieldAllStep_(this.context_.yieldAllIterator_.next, value, this.context_.next_);
  }
  this.context_.next_(value);
  return this.nextStep_();
};
$jscomp.generator.Engine_.prototype.return_ = function(value) {
  this.context_.start_();
  var yieldAllIterator = this.context_.yieldAllIterator_;
  if (yieldAllIterator) {
    return this.yieldAllStep_("return" in yieldAllIterator ? yieldAllIterator["return"] : function(v) {
      return {value:v, done:!0};
    }, value, this.context_.return);
  }
  this.context_.return(value);
  return this.nextStep_();
};
$jscomp.generator.Engine_.prototype.throw_ = function(exception) {
  this.context_.start_();
  if (this.context_.yieldAllIterator_) {
    return this.yieldAllStep_(this.context_.yieldAllIterator_["throw"], exception, this.context_.next_);
  }
  this.context_.throw_(exception);
  return this.nextStep_();
};
$jscomp.generator.Engine_.prototype.yieldAllStep_ = function(action, value, nextAction) {
  try {
    var result = action.call(this.context_.yieldAllIterator_, value);
    $jscomp.generator.ensureIteratorResultIsObject_(result);
    if (!result.done) {
      return this.context_.stop_(), result;
    }
    var resultValue = result.value;
  } catch (e) {
    return this.context_.yieldAllIterator_ = null, this.context_.throw_(e), this.nextStep_();
  }
  this.context_.yieldAllIterator_ = null;
  nextAction.call(this.context_, resultValue);
  return this.nextStep_();
};
$jscomp.generator.Engine_.prototype.nextStep_ = function() {
  for (; this.context_.nextAddress;) {
    try {
      var yieldValue = this.program_(this.context_);
      if (yieldValue) {
        return this.context_.stop_(), {value:yieldValue.value, done:!1};
      }
    } catch (e) {
      this.context_.yieldResult = void 0, this.context_.throw_(e);
    }
  }
  this.context_.stop_();
  if (this.context_.abruptCompletion_) {
    var abruptCompletion = this.context_.abruptCompletion_;
    this.context_.abruptCompletion_ = null;
    if (abruptCompletion.isException) {
      throw abruptCompletion.exception;
    }
    return {value:abruptCompletion.return, done:!0};
  }
  return {value:void 0, done:!0};
};
$jscomp.generator.Generator_ = function(engine) {
  this.next = function(opt_value) {
    return engine.next_(opt_value);
  };
  this.throw = function(exception) {
    return engine.throw_(exception);
  };
  this.return = function(value) {
    return engine.return_(value);
  };
  this[Symbol.iterator] = function() {
    return this;
  };
};
$jscomp.generator.createGenerator = function(generator, program) {
  var result = new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(program));
  $jscomp.setPrototypeOf && generator.prototype && $jscomp.setPrototypeOf(result, generator.prototype);
  return result;
};
$jscomp.asyncExecutePromiseGenerator = function(generator) {
  function passValueToGenerator(value) {
    return generator.next(value);
  }
  function passErrorToGenerator(error) {
    return generator.throw(error);
  }
  return new Promise(function(resolve, reject) {
    function handleGeneratorRecord(genRec) {
      genRec.done ? resolve(genRec.value) : Promise.resolve(genRec.value).then(passValueToGenerator, passErrorToGenerator).then(handleGeneratorRecord, reject);
    }
    handleGeneratorRecord(generator.next());
  });
};
$jscomp.asyncExecutePromiseGeneratorFunction = function(generatorFunction) {
  return $jscomp.asyncExecutePromiseGenerator(generatorFunction());
};
$jscomp.asyncExecutePromiseGeneratorProgram = function(program) {
  return $jscomp.asyncExecutePromiseGenerator(new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(program)));
};
$jscomp.getRestArguments = function() {
  for (var startIndex = Number(this), restArgs = [], i = startIndex; i < arguments.length; i++) {
    restArgs[i - startIndex] = arguments[i];
  }
  return restArgs;
};
$jscomp.polyfill("Reflect", function(orig) {
  return orig ? orig : {};
}, "es6", "es3");
$jscomp.polyfill("Reflect.construct", function() {
  return $jscomp.construct;
}, "es6", "es3");
$jscomp.polyfill("Reflect.setPrototypeOf", function(orig) {
  if (orig) {
    return orig;
  }
  if ($jscomp.setPrototypeOf) {
    var setPrototypeOf = $jscomp.setPrototypeOf;
    return function(target, proto) {
      try {
        return setPrototypeOf(target, proto), !0;
      } catch (e) {
        return !1;
      }
    };
  }
  return null;
}, "es6", "es5");
$jscomp.polyfill("Promise", function(NativePromise) {
  function AsyncExecutor() {
    this.batch_ = null;
  }
  function resolvingPromise(opt_value) {
    return opt_value instanceof PolyfillPromise ? opt_value : new PolyfillPromise(function(resolve) {
      resolve(opt_value);
    });
  }
  if (NativePromise && (!($jscomp.FORCE_POLYFILL_PROMISE || $jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION && typeof $jscomp.global.PromiseRejectionEvent === "undefined") || !$jscomp.global.Promise || $jscomp.global.Promise.toString().indexOf("[native code]") === -1)) {
    return NativePromise;
  }
  AsyncExecutor.prototype.asyncExecute = function(f) {
    if (this.batch_ == null) {
      this.batch_ = [];
      var self = this;
      this.asyncExecuteFunction(function() {
        self.executeBatch_();
      });
    }
    this.batch_.push(f);
  };
  var nativeSetTimeout = $jscomp.global.setTimeout;
  AsyncExecutor.prototype.asyncExecuteFunction = function(f) {
    nativeSetTimeout(f, 0);
  };
  AsyncExecutor.prototype.executeBatch_ = function() {
    for (; this.batch_ && this.batch_.length;) {
      var executingBatch = this.batch_;
      this.batch_ = [];
      for (var i = 0; i < executingBatch.length; ++i) {
        var f = executingBatch[i];
        executingBatch[i] = null;
        try {
          f();
        } catch (error) {
          this.asyncThrow_(error);
        }
      }
    }
    this.batch_ = null;
  };
  AsyncExecutor.prototype.asyncThrow_ = function(exception) {
    this.asyncExecuteFunction(function() {
      throw exception;
    });
  };
  var PromiseState = {PENDING:0, FULFILLED:1, REJECTED:2}, PolyfillPromise = function(executor) {
    this.state_ = PromiseState.PENDING;
    this.result_ = void 0;
    this.onSettledCallbacks_ = [];
    this.isRejectionHandled_ = !1;
    var resolveAndReject = this.createResolveAndReject_();
    try {
      executor(resolveAndReject.resolve, resolveAndReject.reject);
    } catch (e) {
      resolveAndReject.reject(e);
    }
  };
  PolyfillPromise.prototype.createResolveAndReject_ = function() {
    function firstCallWins(method) {
      return function(x) {
        alreadyCalled || (alreadyCalled = !0, method.call(thisPromise, x));
      };
    }
    var thisPromise = this, alreadyCalled = !1;
    return {resolve:firstCallWins(this.resolveTo_), reject:firstCallWins(this.reject_)};
  };
  PolyfillPromise.prototype.resolveTo_ = function(value) {
    if (value === this) {
      this.reject_(new TypeError("A Promise cannot resolve to itself"));
    } else {
      if (value instanceof PolyfillPromise) {
        this.settleSameAsPromise_(value);
      } else {
        a: {
          switch(typeof value) {
            case "object":
              var JSCompiler_inline_result = value != null;
              break a;
            case "function":
              JSCompiler_inline_result = !0;
              break a;
            default:
              JSCompiler_inline_result = !1;
          }
        }
        JSCompiler_inline_result ? this.resolveToNonPromiseObj_(value) : this.fulfill_(value);
      }
    }
  };
  PolyfillPromise.prototype.resolveToNonPromiseObj_ = function(obj) {
    var thenMethod = void 0;
    try {
      thenMethod = obj.then;
    } catch (error) {
      this.reject_(error);
      return;
    }
    typeof thenMethod == "function" ? this.settleSameAsThenable_(thenMethod, obj) : this.fulfill_(obj);
  };
  PolyfillPromise.prototype.reject_ = function(reason) {
    this.settle_(PromiseState.REJECTED, reason);
  };
  PolyfillPromise.prototype.fulfill_ = function(value) {
    this.settle_(PromiseState.FULFILLED, value);
  };
  PolyfillPromise.prototype.settle_ = function(settledState, valueOrReason) {
    if (this.state_ != PromiseState.PENDING) {
      throw Error("Cannot settle(" + settledState + ", " + valueOrReason + "): Promise already settled in state" + this.state_);
    }
    this.state_ = settledState;
    this.result_ = valueOrReason;
    this.state_ === PromiseState.REJECTED && this.scheduleUnhandledRejectionCheck_();
    this.executeOnSettledCallbacks_();
  };
  PolyfillPromise.prototype.scheduleUnhandledRejectionCheck_ = function() {
    var self = this;
    nativeSetTimeout(function() {
      if (self.notifyUnhandledRejection_()) {
        var nativeConsole = $jscomp.global.console;
        typeof nativeConsole !== "undefined" && nativeConsole.error(self.result_);
      }
    }, 1);
  };
  PolyfillPromise.prototype.notifyUnhandledRejection_ = function() {
    if (this.isRejectionHandled_) {
      return !1;
    }
    var NativeCustomEvent = $jscomp.global.CustomEvent, NativeEvent = $jscomp.global.Event, nativeDispatchEvent = $jscomp.global.dispatchEvent;
    if (typeof nativeDispatchEvent === "undefined") {
      return !0;
    }
    if (typeof NativeCustomEvent === "function") {
      var event = new NativeCustomEvent("unhandledrejection", {cancelable:!0});
    } else {
      typeof NativeEvent === "function" ? event = new NativeEvent("unhandledrejection", {cancelable:!0}) : (event = $jscomp.global.document.createEvent("CustomEvent"), event.initCustomEvent("unhandledrejection", !1, !0, event));
    }
    event.promise = this;
    event.reason = this.result_;
    return nativeDispatchEvent(event);
  };
  PolyfillPromise.prototype.executeOnSettledCallbacks_ = function() {
    if (this.onSettledCallbacks_ != null) {
      for (var i = 0; i < this.onSettledCallbacks_.length; ++i) {
        asyncExecutor.asyncExecute(this.onSettledCallbacks_[i]);
      }
      this.onSettledCallbacks_ = null;
    }
  };
  var asyncExecutor = new AsyncExecutor();
  PolyfillPromise.prototype.settleSameAsPromise_ = function(promise) {
    var methods = this.createResolveAndReject_();
    promise.callWhenSettled_(methods.resolve, methods.reject);
  };
  PolyfillPromise.prototype.settleSameAsThenable_ = function(thenMethod, thenable) {
    var methods = this.createResolveAndReject_();
    try {
      thenMethod.call(thenable, methods.resolve, methods.reject);
    } catch (error) {
      methods.reject(error);
    }
  };
  PolyfillPromise.prototype.then = function(onFulfilled, onRejected) {
    function createCallback(paramF, defaultF) {
      return typeof paramF == "function" ? function(x) {
        try {
          resolveChild(paramF(x));
        } catch (error) {
          rejectChild(error);
        }
      } : defaultF;
    }
    var resolveChild, rejectChild, childPromise = new PolyfillPromise(function(resolve, reject) {
      resolveChild = resolve;
      rejectChild = reject;
    });
    this.callWhenSettled_(createCallback(onFulfilled, resolveChild), createCallback(onRejected, rejectChild));
    return childPromise;
  };
  PolyfillPromise.prototype.catch = function(onRejected) {
    return this.then(void 0, onRejected);
  };
  PolyfillPromise.prototype.callWhenSettled_ = function(onFulfilled, onRejected) {
    function callback() {
      switch(thisPromise.state_) {
        case PromiseState.FULFILLED:
          onFulfilled(thisPromise.result_);
          break;
        case PromiseState.REJECTED:
          onRejected(thisPromise.result_);
          break;
        default:
          throw Error("Unexpected state: " + thisPromise.state_);
      }
    }
    var thisPromise = this;
    this.onSettledCallbacks_ == null ? asyncExecutor.asyncExecute(callback) : this.onSettledCallbacks_.push(callback);
    this.isRejectionHandled_ = !0;
  };
  PolyfillPromise.resolve = resolvingPromise;
  PolyfillPromise.reject = function(opt_reason) {
    return new PolyfillPromise(function(resolve, reject) {
      reject(opt_reason);
    });
  };
  PolyfillPromise.race = function(thenablesOrValues) {
    return new PolyfillPromise(function(resolve, reject) {
      for (var iterator = $jscomp.makeIterator(thenablesOrValues), iterRec = iterator.next(); !iterRec.done; iterRec = iterator.next()) {
        resolvingPromise(iterRec.value).callWhenSettled_(resolve, reject);
      }
    });
  };
  PolyfillPromise.all = function(thenablesOrValues) {
    var iterator = $jscomp.makeIterator(thenablesOrValues), iterRec = iterator.next();
    return iterRec.done ? resolvingPromise([]) : new PolyfillPromise(function(resolveAll, rejectAll) {
      function onFulfilled(i) {
        return function(ithResult) {
          resultsArray[i] = ithResult;
          unresolvedCount--;
          unresolvedCount == 0 && resolveAll(resultsArray);
        };
      }
      var resultsArray = [], unresolvedCount = 0;
      do {
        resultsArray.push(void 0), unresolvedCount++, resolvingPromise(iterRec.value).callWhenSettled_(onFulfilled(resultsArray.length - 1), rejectAll), iterRec = iterator.next();
      } while (!iterRec.done);
    });
  };
  return PolyfillPromise;
}, "es6", "es3");
$jscomp.polyfill("Object.setPrototypeOf", function(orig) {
  return orig || $jscomp.setPrototypeOf;
}, "es6", "es5");
$jscomp.polyfill("Symbol.dispose", function(orig) {
  return orig ? orig : Symbol("Symbol.dispose");
}, "es_next", "es3");
$jscomp.findInternal = function(array, callback, thisArg) {
  array instanceof String && (array = String(array));
  for (var len = array.length, i = 0; i < len; i++) {
    var value = array[i];
    if (callback.call(thisArg, value, i, array)) {
      return {i:i, v:value};
    }
  }
  return {i:-1, v:void 0};
};
$jscomp.polyfill("Array.prototype.find", function(orig) {
  return orig ? orig : function(callback, opt_thisArg) {
    return $jscomp.findInternal(this, callback, opt_thisArg).v;
  };
}, "es6", "es3");
$jscomp.checkEs6ConformanceViaProxy = function() {
  try {
    var proxied = {}, proxy = Object.create(new $jscomp.global.Proxy(proxied, {get:function(target, key, receiver) {
      return target == proxied && key == "q" && receiver == proxy;
    }}));
    return proxy.q === !0;
  } catch (err) {
    return !1;
  }
};
$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS = !1;
$jscomp.ES6_CONFORMANCE = $jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS && $jscomp.checkEs6ConformanceViaProxy();
$jscomp.polyfill("WeakMap", function(NativeWeakMap) {
  function isConformant() {
    if (!NativeWeakMap || !Object.seal) {
      return !1;
    }
    try {
      var x = Object.seal({}), y = Object.seal({}), map = new NativeWeakMap([[x, 2], [y, 3]]);
      if (map.get(x) != 2 || map.get(y) != 3) {
        return !1;
      }
      map.delete(x);
      map.set(y, 4);
      return !map.has(x) && map.get(y) == 4;
    } catch (err) {
      return !1;
    }
  }
  function WeakMapMembership() {
  }
  function isValidKey(key) {
    var type = typeof key;
    return type === "object" && key !== null || type === "function";
  }
  function insert(target) {
    if (!$jscomp.owns(target, prop)) {
      var obj = new WeakMapMembership();
      $jscomp.defineProperty(target, prop, {value:obj});
    }
  }
  function patch(name) {
    if (!$jscomp.ISOLATE_POLYFILLS) {
      var prev = Object[name];
      prev && (Object[name] = function(target) {
        if (target instanceof WeakMapMembership) {
          return target;
        }
        Object.isExtensible(target) && insert(target);
        return prev(target);
      });
    }
  }
  if ($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS) {
    if (NativeWeakMap && $jscomp.ES6_CONFORMANCE) {
      return NativeWeakMap;
    }
  } else {
    if (isConformant()) {
      return NativeWeakMap;
    }
  }
  var prop = "$jscomp_hidden_" + Math.random();
  patch("freeze");
  patch("preventExtensions");
  patch("seal");
  var index = 0, PolyfillWeakMap = function(opt_iterable) {
    this.id_ = (index += Math.random() + 1).toString();
    if (opt_iterable) {
      for (var iter = $jscomp.makeIterator(opt_iterable), entry; !(entry = iter.next()).done;) {
        var item = entry.value;
        this.set(item[0], item[1]);
      }
    }
  };
  PolyfillWeakMap.prototype.set = function(key, value) {
    if (!isValidKey(key)) {
      throw Error("Invalid WeakMap key");
    }
    insert(key);
    if (!$jscomp.owns(key, prop)) {
      throw Error("WeakMap key fail: " + key);
    }
    key[prop][this.id_] = value;
    return this;
  };
  PolyfillWeakMap.prototype.get = function(key) {
    return isValidKey(key) && $jscomp.owns(key, prop) ? key[prop][this.id_] : void 0;
  };
  PolyfillWeakMap.prototype.has = function(key) {
    return isValidKey(key) && $jscomp.owns(key, prop) && $jscomp.owns(key[prop], this.id_);
  };
  PolyfillWeakMap.prototype.delete = function(key) {
    return isValidKey(key) && $jscomp.owns(key, prop) && $jscomp.owns(key[prop], this.id_) ? delete key[prop][this.id_] : !1;
  };
  return PolyfillWeakMap;
}, "es6", "es3");
$jscomp.MapEntry = function() {
};
$jscomp.polyfill("Map", function(NativeMap) {
  function isConformant() {
    if ($jscomp.ASSUME_NO_NATIVE_MAP || !NativeMap || typeof NativeMap != "function" || !NativeMap.prototype.entries || typeof Object.seal != "function") {
      return !1;
    }
    try {
      var key = Object.seal({x:4}), map = new NativeMap($jscomp.makeIterator([[key, "s"]]));
      if (map.get(key) != "s" || map.size != 1 || map.get({x:4}) || map.set({x:4}, "t") != map || map.size != 2) {
        return !1;
      }
      var iter = map.entries(), item = iter.next();
      if (item.done || item.value[0] != key || item.value[1] != "s") {
        return !1;
      }
      item = iter.next();
      return item.done || item.value[0].x != 4 || item.value[1] != "t" || !iter.next().done ? !1 : !0;
    } catch (err) {
      return !1;
    }
  }
  if ($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS) {
    if (NativeMap && $jscomp.ES6_CONFORMANCE) {
      return NativeMap;
    }
  } else {
    if (isConformant()) {
      return NativeMap;
    }
  }
  var idMap = new WeakMap(), PolyfillMap = function(opt_iterable) {
    this[0] = {};
    this[1] = createHead();
    this.size = 0;
    if (opt_iterable) {
      for (var iter = $jscomp.makeIterator(opt_iterable), entry; !(entry = iter.next()).done;) {
        var item = entry.value;
        this.set(item[0], item[1]);
      }
    }
  };
  PolyfillMap.prototype.set = function(key, value) {
    key = key === 0 ? 0 : key;
    var r = maybeGetEntry(this, key);
    r.list || (r.list = this[0][r.id] = []);
    r.entry ? r.entry.value = value : (r.entry = {next:this[1], previous:this[1].previous, head:this[1], key:key, value:value}, r.list.push(r.entry), this[1].previous.next = r.entry, this[1].previous = r.entry, this.size++);
    return this;
  };
  PolyfillMap.prototype.delete = function(key) {
    var r = maybeGetEntry(this, key);
    return r.entry && r.list ? (r.list.splice(r.index, 1), r.list.length || delete this[0][r.id], r.entry.previous.next = r.entry.next, r.entry.next.previous = r.entry.previous, r.entry.head = null, this.size--, !0) : !1;
  };
  PolyfillMap.prototype.clear = function() {
    this[0] = {};
    this[1] = this[1].previous = createHead();
    this.size = 0;
  };
  PolyfillMap.prototype.has = function(key) {
    return !!maybeGetEntry(this, key).entry;
  };
  PolyfillMap.prototype.get = function(key) {
    var entry = maybeGetEntry(this, key).entry;
    return entry && entry.value;
  };
  PolyfillMap.prototype.entries = function() {
    return makeIterator(this, function(entry) {
      return [entry.key, entry.value];
    });
  };
  PolyfillMap.prototype.keys = function() {
    return makeIterator(this, function(entry) {
      return entry.key;
    });
  };
  PolyfillMap.prototype.values = function() {
    return makeIterator(this, function(entry) {
      return entry.value;
    });
  };
  PolyfillMap.prototype.forEach = function(callback, opt_thisArg) {
    for (var iter = this.entries(), item; !(item = iter.next()).done;) {
      var entry = item.value;
      callback.call(opt_thisArg, entry[1], entry[0], this);
    }
  };
  PolyfillMap.prototype[Symbol.iterator] = PolyfillMap.prototype.entries;
  var maybeGetEntry = function(map, key) {
    var type = key && typeof key;
    if (type == "object" || type == "function") {
      if (idMap.has(key)) {
        var id = idMap.get(key);
      } else {
        var id$jscomp$0 = "" + ++mapIndex;
        idMap.set(key, id$jscomp$0);
        id = id$jscomp$0;
      }
    } else {
      id = "p_" + key;
    }
    var list = map[0][id];
    if (list && $jscomp.owns(map[0], id)) {
      for (var index = 0; index < list.length; index++) {
        var entry = list[index];
        if (key !== key && entry.key !== entry.key || key === entry.key) {
          return {id:id, list:list, index:index, entry:entry};
        }
      }
    }
    return {id:id, list:list, index:-1, entry:void 0};
  }, makeIterator = function(map, func) {
    var entry = map[1];
    return $jscomp.iteratorPrototype(function() {
      if (entry) {
        for (; entry.head != map[1];) {
          entry = entry.previous;
        }
        for (; entry.next != entry.head;) {
          return entry = entry.next, {done:!1, value:func(entry)};
        }
        entry = null;
      }
      return {done:!0, value:void 0};
    });
  }, createHead = function() {
    var head = {};
    return head.previous = head.next = head.head = head;
  }, mapIndex = 0;
  return PolyfillMap;
}, "es6", "es3");
$jscomp.polyfill("Set", function(NativeSet) {
  function isConformant() {
    if ($jscomp.ASSUME_NO_NATIVE_SET || !NativeSet || typeof NativeSet != "function" || !NativeSet.prototype.entries || typeof Object.seal != "function") {
      return !1;
    }
    try {
      var value = Object.seal({x:4}), set = new NativeSet($jscomp.makeIterator([value]));
      if (!set.has(value) || set.size != 1 || set.add(value) != set || set.size != 1 || set.add({x:4}) != set || set.size != 2) {
        return !1;
      }
      var iter = set.entries(), item = iter.next();
      if (item.done || item.value[0] != value || item.value[1] != value) {
        return !1;
      }
      item = iter.next();
      return item.done || item.value[0] == value || item.value[0].x != 4 || item.value[1] != item.value[0] ? !1 : iter.next().done;
    } catch (err) {
      return !1;
    }
  }
  if ($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS) {
    if (NativeSet && $jscomp.ES6_CONFORMANCE) {
      return NativeSet;
    }
  } else {
    if (isConformant()) {
      return NativeSet;
    }
  }
  var PolyfillSet = function(opt_iterable) {
    this.map_ = new Map();
    if (opt_iterable) {
      for (var iter = $jscomp.makeIterator(opt_iterable), entry; !(entry = iter.next()).done;) {
        this.add(entry.value);
      }
    }
    this.size = this.map_.size;
  };
  PolyfillSet.prototype.add = function(value) {
    value = value === 0 ? 0 : value;
    this.map_.set(value, value);
    this.size = this.map_.size;
    return this;
  };
  PolyfillSet.prototype.delete = function(value) {
    var result = this.map_.delete(value);
    this.size = this.map_.size;
    return result;
  };
  PolyfillSet.prototype.clear = function() {
    this.map_.clear();
    this.size = 0;
  };
  PolyfillSet.prototype.has = function(value) {
    return this.map_.has(value);
  };
  PolyfillSet.prototype.entries = function() {
    return this.map_.entries();
  };
  PolyfillSet.prototype.values = function() {
    return this.map_.values();
  };
  PolyfillSet.prototype.keys = PolyfillSet.prototype.values;
  PolyfillSet.prototype[Symbol.iterator] = PolyfillSet.prototype.values;
  PolyfillSet.prototype.forEach = function(callback, opt_thisArg) {
    var set = this;
    this.map_.forEach(function(value) {
      return callback.call(opt_thisArg, value, value, set);
    });
  };
  return PolyfillSet;
}, "es6", "es3");
$jscomp.polyfill("Math.log2", function(orig) {
  return orig ? orig : function(x) {
    return Math.log(x) / Math.LN2;
  };
}, "es6", "es3");
$jscomp.polyfill("Object.values", function(orig) {
  return orig ? orig : function(obj) {
    var result = [], key;
    for (key in obj) {
      $jscomp.owns(obj, key) && result.push(obj[key]);
    }
    return result;
  };
}, "es8", "es3");
$jscomp.polyfill("Object.is", function(orig) {
  return orig ? orig : function(left, right) {
    return left === right ? left !== 0 || 1 / left === 1 / right : left !== left && right !== right;
  };
}, "es6", "es3");
$jscomp.polyfill("Array.prototype.includes", function(orig) {
  return orig ? orig : function(searchElement, opt_fromIndex) {
    var array = this;
    array instanceof String && (array = String(array));
    var len = array.length, i = opt_fromIndex || 0;
    for (i < 0 && (i = Math.max(i + len, 0)); i < len; i++) {
      var element = array[i];
      if (element === searchElement || Object.is(element, searchElement)) {
        return !0;
      }
    }
    return !1;
  };
}, "es7", "es3");
$jscomp.checkStringArgs = function(thisArg, arg, func) {
  if (thisArg == null) {
    throw new TypeError("The 'this' value for String.prototype." + func + " must not be null or undefined");
  }
  if (arg instanceof RegExp) {
    throw new TypeError("First argument to String.prototype." + func + " must not be a regular expression");
  }
  return thisArg + "";
};
$jscomp.polyfill("String.prototype.includes", function(orig) {
  return orig ? orig : function(searchString, opt_position) {
    return $jscomp.checkStringArgs(this, searchString, "includes").indexOf(searchString, opt_position || 0) !== -1;
  };
}, "es6", "es3");
$jscomp.polyfill("Array.from", function(orig) {
  return orig ? orig : function(arrayLike, opt_mapFn, opt_thisArg) {
    opt_mapFn = opt_mapFn != null ? opt_mapFn : function(x) {
      return x;
    };
    var result = [], iteratorFunction = typeof Symbol != "undefined" && Symbol.iterator && arrayLike[Symbol.iterator];
    if (typeof iteratorFunction == "function") {
      arrayLike = iteratorFunction.call(arrayLike);
      for (var next, k = 0; !(next = arrayLike.next()).done;) {
        result.push(opt_mapFn.call(opt_thisArg, next.value, k++));
      }
    } else {
      for (var len = arrayLike.length, i = 0; i < len; i++) {
        result.push(opt_mapFn.call(opt_thisArg, arrayLike[i], i));
      }
    }
    return result;
  };
}, "es6", "es3");
$jscomp.polyfill("Object.entries", function(orig) {
  return orig ? orig : function(obj) {
    var result = [], key;
    for (key in obj) {
      $jscomp.owns(obj, key) && result.push([key, obj[key]]);
    }
    return result;
  };
}, "es8", "es3");
$jscomp.polyfill("Number.isFinite", function(orig) {
  return orig ? orig : function(x) {
    return typeof x !== "number" ? !1 : !isNaN(x) && x !== Infinity && x !== -Infinity;
  };
}, "es6", "es3");
$jscomp.polyfill("Number.MAX_SAFE_INTEGER", function() {
  return 9007199254740991;
}, "es6", "es3");
$jscomp.polyfill("Number.MIN_SAFE_INTEGER", function() {
  return -9007199254740991;
}, "es6", "es3");
$jscomp.polyfill("Number.isInteger", function(orig) {
  return orig ? orig : function(x) {
    return Number.isFinite(x) ? x === Math.floor(x) : !1;
  };
}, "es6", "es3");
$jscomp.polyfill("Number.isSafeInteger", function(orig) {
  return orig ? orig : function(x) {
    return Number.isInteger(x) && Math.abs(x) <= Number.MAX_SAFE_INTEGER;
  };
}, "es6", "es3");
$jscomp.polyfill("String.prototype.startsWith", function(orig) {
  return orig ? orig : function(searchString, opt_position) {
    var string = $jscomp.checkStringArgs(this, searchString, "startsWith");
    searchString += "";
    for (var strLen = string.length, searchLen = searchString.length, i = Math.max(0, Math.min(opt_position | 0, string.length)), j = 0; j < searchLen && i < strLen;) {
      if (string[i++] != searchString[j++]) {
        return !1;
      }
    }
    return j >= searchLen;
  };
}, "es6", "es3");
$jscomp.polyfill("String.prototype.endsWith", function(orig) {
  return orig ? orig : function(searchString, opt_position) {
    var string = $jscomp.checkStringArgs(this, searchString, "endsWith");
    searchString += "";
    opt_position === void 0 && (opt_position = string.length);
    for (var i = Math.max(0, Math.min(opt_position | 0, string.length)), j = searchString.length; j > 0 && i > 0;) {
      if (string[--i] != searchString[--j]) {
        return !1;
      }
    }
    return j <= 0;
  };
}, "es6", "es3");
$jscomp.iteratorFromArray = function(array, transform) {
  if ($jscomp.ASSUME_ES6) {
    return array[Symbol.iterator]();
  }
  array instanceof String && (array += "");
  var i = 0, done = !1, iter = {next:function() {
    if (!done && i < array.length) {
      var index = i++;
      return {value:transform(index, array[index]), done:!1};
    }
    done = !0;
    return {done:!0, value:void 0};
  }};
  iter[Symbol.iterator] = function() {
    return iter;
  };
  return iter;
};
$jscomp.polyfill("Array.prototype.entries", function(orig) {
  return orig ? orig : function() {
    return $jscomp.iteratorFromArray(this, function(i, v) {
      return [i, v];
    });
  };
}, "es6", "es3");
$jscomp.polyfill("Math.imul", function(orig) {
  return orig ? orig : function(a, b) {
    a = Number(a);
    b = Number(b);
    var al = a & 65535, bl = b & 65535;
    return al * bl + ((a >>> 16 & 65535) * bl + al * (b >>> 16 & 65535) << 16 >>> 0) | 0;
  };
}, "es6", "es3");
$jscomp.polyfill("globalThis", function(orig) {
  return orig || $jscomp.global;
}, "es_2020", "es3");
$jscomp.polyfill("Math.trunc", function(orig) {
  return orig ? orig : function(x) {
    x = Number(x);
    if (isNaN(x) || x === Infinity || x === -Infinity || x === 0) {
      return x;
    }
    var y = Math.floor(Math.abs(x));
    return x < 0 ? -y : y;
  };
}, "es6", "es3");
$jscomp.polyfill("Number.isNaN", function(orig) {
  return orig ? orig : function(x) {
    return typeof x === "number" && isNaN(x);
  };
}, "es6", "es3");
$jscomp.polyfill("Array.prototype.keys", function(orig) {
  return orig ? orig : function() {
    return $jscomp.iteratorFromArray(this, function(i) {
      return i;
    });
  };
}, "es6", "es3");
$jscomp.polyfill("Array.prototype.values", function(orig) {
  return orig ? orig : function() {
    return $jscomp.iteratorFromArray(this, function(k, v) {
      return v;
    });
  };
}, "es8", "es3");
$jscomp.polyfill("Math.clz32", function(orig) {
  return orig ? orig : function(x) {
    x = Number(x) >>> 0;
    if (x === 0) {
      return 32;
    }
    var result = 0;
    (x & 4294901760) === 0 && (x <<= 16, result += 16);
    (x & 4278190080) === 0 && (x <<= 8, result += 8);
    (x & 4026531840) === 0 && (x <<= 4, result += 4);
    (x & 3221225472) === 0 && (x <<= 2, result += 2);
    (x & 2147483648) === 0 && result++;
    return result;
  };
}, "es6", "es3");
$jscomp.polyfill("Math.log10", function(orig) {
  return orig ? orig : function(x) {
    return Math.log(x) / Math.LN10;
  };
}, "es6", "es3");
$jscomp.polyfill("Array.prototype.fill", function(orig) {
  return orig ? orig : function(value, opt_start, opt_end) {
    var length = this.length || 0;
    opt_start < 0 && (opt_start = Math.max(0, length + opt_start));
    if (opt_end == null || opt_end > length) {
      opt_end = length;
    }
    opt_end = Number(opt_end);
    opt_end < 0 && (opt_end = Math.max(0, length + opt_end));
    for (var i = Number(opt_start || 0); i < opt_end; i++) {
      this[i] = value;
    }
    return this;
  };
}, "es6", "es3");
$jscomp.typedArrayFill = function(orig) {
  return orig ? orig : Array.prototype.fill;
};
$jscomp.polyfill("Int8Array.prototype.fill", $jscomp.typedArrayFill, "es6", "es5");
$jscomp.polyfill("Uint8Array.prototype.fill", $jscomp.typedArrayFill, "es6", "es5");
$jscomp.polyfill("Uint8ClampedArray.prototype.fill", $jscomp.typedArrayFill, "es6", "es5");
$jscomp.polyfill("Int16Array.prototype.fill", $jscomp.typedArrayFill, "es6", "es5");
$jscomp.polyfill("Uint16Array.prototype.fill", $jscomp.typedArrayFill, "es6", "es5");
$jscomp.polyfill("Int32Array.prototype.fill", $jscomp.typedArrayFill, "es6", "es5");
$jscomp.polyfill("Uint32Array.prototype.fill", $jscomp.typedArrayFill, "es6", "es5");
$jscomp.polyfill("Float32Array.prototype.fill", $jscomp.typedArrayFill, "es6", "es5");
$jscomp.polyfill("Float64Array.prototype.fill", $jscomp.typedArrayFill, "es6", "es5");
$jscomp.polyfill("String.prototype.repeat", function(orig) {
  return orig ? orig : function(copies) {
    var string = $jscomp.checkStringArgs(this, null, "repeat");
    if (copies < 0 || copies > 1342177279) {
      throw new RangeError("Invalid count value");
    }
    copies |= 0;
    for (var result = ""; copies;) {
      if (copies & 1 && (result += string), copies >>>= 1) {
        string += string;
      }
    }
    return result;
  };
}, "es6", "es3");
$jscomp.polyfill("String.prototype.codePointAt", function(orig) {
  return orig ? orig : function(position) {
    var string = $jscomp.checkStringArgs(this, null, "codePointAt"), size = string.length;
    position = Number(position) || 0;
    if (position >= 0 && position < size) {
      position |= 0;
      var first = string.charCodeAt(position);
      if (first < 55296 || first > 56319 || position + 1 === size) {
        return first;
      }
      var second = string.charCodeAt(position + 1);
      return second < 56320 || second > 57343 ? first : (first - 55296) * 1024 + second + 9216;
    }
  };
}, "es6", "es3");
$jscomp.polyfill("String.fromCodePoint", function(orig) {
  return orig ? orig : function(var_args) {
    for (var result = "", i = 0; i < arguments.length; i++) {
      var code = Number(arguments[i]);
      if (code < 0 || code > 1114111 || code !== Math.floor(code)) {
        throw new RangeError("invalid_code_point " + code);
      }
      code <= 65535 ? result += String.fromCharCode(code) : (code -= 65536, result += String.fromCharCode(code >>> 10 & 1023 | 55296), result += String.fromCharCode(code & 1023 | 56320));
    }
    return result;
  };
}, "es6", "es3");
$jscomp.polyfill("String.prototype.trimLeft", function(orig) {
  function polyfill() {
    return this.replace(/^[\s\xa0]+/, "");
  }
  return orig || polyfill;
}, "es_2019", "es3");
$jscomp.polyfill("Promise.prototype.finally", function(orig) {
  return orig ? orig : function(onFinally) {
    return this.then(function(value) {
      return Promise.resolve(onFinally()).then(function() {
        return value;
      });
    }, function(reason) {
      return Promise.resolve(onFinally()).then(function() {
        throw reason;
      });
    });
  };
}, "es9", "es3");
$jscomp.polyfill("Array.prototype.flatMap", function(orig) {
  return orig ? orig : function(callback, thisArg) {
    var mapped = [];
    Array.prototype.forEach.call(this, function(element, index) {
      var result = callback.call(thisArg, element, index, this);
      Array.isArray(result) ? mapped.push.apply(mapped, result) : mapped.push(result);
    });
    return mapped;
  };
}, "es9", "es5");
var CLOSURE_TOGGLE_ORDINALS = {GoogFlags__async_throw_on_unicode_to_byte__enable:!1, GoogFlags__client_only_wiz_distinct_contexts_for_control_flow_branches__disable:!1, GoogFlags__jspb_ignore_implicit_extension_deps__disable:!1, GoogFlags__jspb_readonly_repeated_fields__disable:!1, GoogFlags__jspb_stop_using_repeated_field_sets_from_gencode__disable:!1, GoogFlags__override_disable_toggles:!1, GoogFlags__testonly_debug_flag__enable:!1, GoogFlags__testonly_disabled_flag__enable:!1, GoogFlags__testonly_stable_flag__disable:!1, 
GoogFlags__testonly_staging_flag__disable:!1, GoogFlags__use_toggles:!1, GoogFlags__use_user_agent_client_hints__enable:!1, GoogFlags__wiz_enable_native_promise__enable:!1};
/*

 Copyright The Closure Library Authors.
 SPDX-License-Identifier: Apache-2.0
*/
var goog = goog || {};
goog.global = this || self;
goog.exportPath_ = function(name, object, overwriteImplicit, objectToExportTo) {
  var parts = name.split("."), cur = objectToExportTo || goog.global;
  parts[0] in cur || typeof cur.execScript == "undefined" || cur.execScript("var " + parts[0]);
  for (var part; parts.length && (part = parts.shift());) {
    if (parts.length || object === void 0) {
      cur = cur[part] && cur[part] !== Object.prototype[part] ? cur[part] : cur[part] = {};
    } else {
      if (!overwriteImplicit && goog.isObject(object) && goog.isObject(cur[part])) {
        for (var prop in object) {
          object.hasOwnProperty(prop) && (cur[part][prop] = object[prop]);
        }
      } else {
        cur[part] = object;
      }
    }
  }
};
goog.CLOSURE_DEFINES = typeof CLOSURE_DEFINES !== "undefined" ? CLOSURE_DEFINES : goog.global.CLOSURE_DEFINES;
goog.CLOSURE_UNCOMPILED_DEFINES = typeof CLOSURE_UNCOMPILED_DEFINES !== "undefined" ? CLOSURE_UNCOMPILED_DEFINES : goog.global.CLOSURE_UNCOMPILED_DEFINES;
goog.define = function(name, defaultValue) {
  return defaultValue;
};
goog.FEATURESET_YEAR = 2012;
goog.DEBUG = !0;
goog.LOCALE = "en";
goog.TRUSTED_SITE = !0;
goog.DISALLOW_TEST_ONLY_CODE = !goog.DEBUG;
goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING = !1;
goog.readFlagInternalDoNotUseOrElse = function(googFlagId, defaultValue) {
  var obj = goog.getObjectByName(goog.FLAGS_OBJECT_), val = obj && obj[googFlagId];
  return val != null ? val : defaultValue;
};
goog.FLAGS_OBJECT_ = "CLOSURE_FLAGS";
goog.FLAGS_STAGING_DEFAULT = !0;
goog.CLOSURE_TOGGLE_ORDINALS = typeof CLOSURE_TOGGLE_ORDINALS === "object" ? CLOSURE_TOGGLE_ORDINALS : goog.global.CLOSURE_TOGGLE_ORDINALS;
goog.readToggleInternalDoNotCallDirectly = function(name) {
  var ordinals = goog.CLOSURE_TOGGLE_ORDINALS, ordinal = ordinals && ordinals[name];
  return typeof ordinal !== "number" ? !!ordinal : !!(goog.TOGGLES_[Math.floor(ordinal / 30)] & 1 << ordinal % 30);
};
goog.TOGGLE_VAR_ = "_F_toggles";
goog.TOGGLES_ = goog.global[goog.TOGGLE_VAR_] || [];
goog.LEGACY_NAMESPACE_OBJECT_ = goog.global;
goog.provide = function(name) {
  if (goog.isInModuleLoader_()) {
    throw Error("goog.provide cannot be used within a module.");
  }
  goog.constructNamespace_(name);
};
goog.constructNamespace_ = function(name, object, overwriteImplicit) {
  goog.exportPath_(name, object, overwriteImplicit, goog.LEGACY_NAMESPACE_OBJECT_);
};
goog.NONCE_PATTERN_ = /^[\w+/_-]+[=]{0,2}$/;
goog.getScriptNonce_ = function(opt_window) {
  var doc = (opt_window || goog.global).document, script = doc.querySelector && doc.querySelector("script[nonce]");
  if (script) {
    var nonce = script.nonce || script.getAttribute("nonce");
    if (nonce && goog.NONCE_PATTERN_.test(nonce)) {
      return nonce;
    }
  }
  return "";
};
goog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
goog.module = function(name) {
  if (typeof name !== "string" || !name || name.search(goog.VALID_MODULE_RE_) == -1) {
    throw Error("Invalid module identifier");
  }
  if (!goog.isInGoogModuleLoader_()) {
    throw Error("Module " + name + " has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");
  }
  if (goog.moduleLoaderState_.moduleName) {
    throw Error("goog.module may only be called once per module.");
  }
  goog.moduleLoaderState_.moduleName = name;
};
goog.module.get = function() {
  return null;
};
goog.module.getInternal_ = function() {
  return null;
};
goog.requireDynamic = function() {
  return null;
};
goog.importHandler_ = null;
goog.uncompiledChunkIdHandler_ = null;
goog.setImportHandlerInternalDoNotCallOrElse = function(fn) {
  goog.importHandler_ = fn;
};
goog.setUncompiledChunkIdHandlerInternalDoNotCallOrElse = function(fn) {
  goog.uncompiledChunkIdHandler_ = fn;
};
goog.maybeRequireFrameworkInternalOnlyDoNotCallOrElse = function() {
};
goog.ModuleType = {ES6:"es6", GOOG:"goog"};
goog.moduleLoaderState_ = null;
goog.isInModuleLoader_ = function() {
  return goog.isInGoogModuleLoader_() || goog.isInEs6ModuleLoader_();
};
goog.isInGoogModuleLoader_ = function() {
  return !!goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.GOOG;
};
goog.isInEs6ModuleLoader_ = function() {
  if (goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.ES6) {
    return !0;
  }
  var jscomp = goog.LEGACY_NAMESPACE_OBJECT_.$jscomp;
  return jscomp ? typeof jscomp.getCurrentModulePath != "function" ? !1 : !!jscomp.getCurrentModulePath() : !1;
};
goog.module.declareLegacyNamespace = function() {
  goog.moduleLoaderState_.declareLegacyNamespace = !0;
};
goog.declareModuleId = function(namespace) {
  if (goog.moduleLoaderState_) {
    goog.moduleLoaderState_.moduleName = namespace;
  } else {
    var jscomp = goog.LEGACY_NAMESPACE_OBJECT_.$jscomp;
    if (!jscomp || typeof jscomp.getCurrentModulePath != "function") {
      throw Error('Module with namespace "' + namespace + '" has been loaded incorrectly.');
    }
    var exports = jscomp.require(jscomp.getCurrentModulePath());
    goog.loadedModules_[namespace] = {exports:exports, type:goog.ModuleType.ES6, moduleId:namespace};
  }
};
goog.setTestOnly = function(opt_message) {
  if (goog.DISALLOW_TEST_ONLY_CODE) {
    throw opt_message = opt_message || "", Error("Importing test-only code into non-debug environment" + (opt_message ? ": " + opt_message : "."));
  }
};
goog.forwardDeclare = function() {
};
goog.getObjectByName = function(name, opt_obj) {
  for (var parts = name.split("."), cur = opt_obj || goog.global, i = 0; i < parts.length; i++) {
    if (cur = cur[parts[i]], cur == null) {
      return null;
    }
  }
  return cur;
};
goog.addDependency = function() {
};
goog.ENABLE_DEBUG_LOADER = !1;
goog.logToConsole_ = function(msg) {
  goog.global.console && goog.global.console.error(msg);
};
goog.require = function() {
};
goog.requireType = function() {
  return {};
};
goog.basePath = "";
goog.abstractMethod = function() {
  throw Error("unimplemented abstract method");
};
goog.addSingletonGetter = function(ctor) {
  ctor.instance_ = void 0;
  ctor.getInstance = function() {
    if (ctor.instance_) {
      return ctor.instance_;
    }
    goog.DEBUG && (goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = ctor);
    return ctor.instance_ = new ctor();
  };
};
goog.instantiatedSingletons_ = [];
goog.LOAD_MODULE_USING_EVAL = !0;
goog.SEAL_MODULE_EXPORTS = goog.DEBUG;
goog.loadedModules_ = {};
goog.DEPENDENCIES_ENABLED = !1;
goog.ASSUME_ES_MODULES_TRANSPILED = !1;
goog.TRUSTED_TYPES_POLICY_NAME = "goog";
goog.hasBadLetScoping = null;
goog.loadModule = function(moduleDef) {
  var previousState = goog.moduleLoaderState_;
  try {
    goog.moduleLoaderState_ = {moduleName:"", declareLegacyNamespace:!1, type:goog.ModuleType.GOOG};
    var origExports = {}, exports = origExports;
    if (typeof moduleDef === "function") {
      exports = moduleDef.call(void 0, exports);
    } else if (typeof moduleDef === "string") {
      exports = goog.loadModuleFromSource_.call(void 0, exports, moduleDef);
    } else {
      throw Error("Invalid module definition");
    }
    var moduleName = goog.moduleLoaderState_.moduleName;
    if (typeof moduleName === "string" && moduleName) {
      goog.moduleLoaderState_.declareLegacyNamespace ? goog.constructNamespace_(moduleName, exports, origExports !== exports) : goog.SEAL_MODULE_EXPORTS && Object.seal && typeof exports == "object" && exports != null && Object.seal(exports), goog.loadedModules_[moduleName] = {exports:exports, type:goog.ModuleType.GOOG, moduleId:goog.moduleLoaderState_.moduleName};
    } else {
      throw Error('Invalid module name "' + moduleName + '"');
    }
  } finally {
    goog.moduleLoaderState_ = previousState;
  }
};
goog.loadModuleFromSource_ = function(exports) {
  eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(arguments[1]));
  return exports;
};
goog.normalizePath_ = function(path) {
  for (var components = path.split("/"), i = 0; i < components.length;) {
    components[i] == "." ? components.splice(i, 1) : i && components[i] == ".." && components[i - 1] && components[i - 1] != ".." ? components.splice(--i, 2) : i++;
  }
  return components.join("/");
};
goog.loadFileSync_ = function(src) {
  if (goog.global.CLOSURE_LOAD_FILE_SYNC) {
    return goog.global.CLOSURE_LOAD_FILE_SYNC(src);
  }
  try {
    var xhr = new goog.global.XMLHttpRequest();
    xhr.open("get", src, !1);
    xhr.send();
    return xhr.status == 0 || xhr.status == 200 ? xhr.responseText : null;
  } catch (err) {
    return null;
  }
};
goog.typeOf = function(value) {
  var s = typeof value;
  return s != "object" ? s : value ? Array.isArray(value) ? "array" : s : "null";
};
goog.isArrayLike = function(val) {
  var type = goog.typeOf(val);
  return type == "array" || type == "object" && typeof val.length == "number";
};
goog.isDateLike = function(val) {
  return goog.isObject(val) && typeof val.getFullYear == "function";
};
goog.isObject = function(val) {
  var type = typeof val;
  return type == "object" && val != null || type == "function";
};
goog.getUid = function(obj) {
  return Object.prototype.hasOwnProperty.call(obj, goog.UID_PROPERTY_) && obj[goog.UID_PROPERTY_] || (obj[goog.UID_PROPERTY_] = ++goog.uidCounter_);
};
goog.hasUid = function(obj) {
  return !!obj[goog.UID_PROPERTY_];
};
goog.removeUid = function(obj) {
  obj !== null && "removeAttribute" in obj && obj.removeAttribute(goog.UID_PROPERTY_);
  try {
    delete obj[goog.UID_PROPERTY_];
  } catch (ex) {
  }
};
goog.UID_PROPERTY_ = "closure_uid_" + (Math.random() * 1E9 >>> 0);
goog.uidCounter_ = 0;
goog.cloneObject = function(obj) {
  var type = goog.typeOf(obj);
  if (type == "object" || type == "array") {
    if (typeof obj.clone === "function") {
      return obj.clone();
    }
    if (typeof Map !== "undefined" && obj instanceof Map) {
      return new Map(obj);
    }
    if (typeof Set !== "undefined" && obj instanceof Set) {
      return new Set(obj);
    }
    var clone = type == "array" ? [] : {}, key;
    for (key in obj) {
      clone[key] = goog.cloneObject(obj[key]);
    }
    return clone;
  }
  return obj;
};
goog.bindNative_ = function(fn, selfObj, var_args) {
  return fn.call.apply(fn.bind, arguments);
};
goog.bindJs_ = function(fn, selfObj, var_args) {
  if (!fn) {
    throw Error();
  }
  if (arguments.length > 2) {
    var boundArgs = Array.prototype.slice.call(arguments, 2);
    return function() {
      var newArgs = Array.prototype.slice.call(arguments);
      Array.prototype.unshift.apply(newArgs, boundArgs);
      return fn.apply(selfObj, newArgs);
    };
  }
  return function() {
    return fn.apply(selfObj, arguments);
  };
};
goog.bind = function(fn, selfObj, var_args) {
  goog.TRUSTED_SITE && goog.FEATURESET_YEAR > 2012 || Function.prototype.bind && Function.prototype.bind.toString().indexOf("native code") != -1 ? goog.bind = goog.bindNative_ : goog.bind = goog.bindJs_;
  return goog.bind.apply(null, arguments);
};
goog.partial = function(fn, var_args) {
  var args = Array.prototype.slice.call(arguments, 1);
  return function() {
    var newArgs = args.slice();
    newArgs.push.apply(newArgs, arguments);
    return fn.apply(this, newArgs);
  };
};
goog.now = function() {
  return Date.now();
};
goog.globalEval = function(script) {
  (0,eval)(script);
};
goog.getCssName = function(className, opt_modifier) {
  if (String(className).charAt(0) == ".") {
    throw Error('className passed in goog.getCssName must not start with ".". You passed: ' + className);
  }
  var getMapping = function(cssName) {
    return goog.cssNameMapping_[cssName] || cssName;
  }, renameByParts = function(cssName) {
    for (var parts = cssName.split("-"), mapped = [], i = 0; i < parts.length; i++) {
      mapped.push(getMapping(parts[i]));
    }
    return mapped.join("-");
  };
  var rename = goog.cssNameMapping_ ? goog.cssNameMappingStyle_ == "BY_WHOLE" ? getMapping : renameByParts : function(a) {
    return a;
  };
  var result = opt_modifier ? className + "-" + rename(opt_modifier) : rename(className);
  return goog.global.CLOSURE_CSS_NAME_MAP_FN ? goog.global.CLOSURE_CSS_NAME_MAP_FN(result) : result;
};
goog.setCssNameMapping = function(mapping, opt_style) {
  goog.cssNameMapping_ = mapping;
  goog.cssNameMappingStyle_ = opt_style;
};
goog.GetMsgOptions = function() {
};
goog.getMsg = function(str, opt_values, opt_options) {
  opt_options && opt_options.html && (str = str.replace(/</g, "&lt;"));
  opt_options && opt_options.unescapeHtmlEntities && (str = str.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&apos;/g, "'").replace(/&quot;/g, '"').replace(/&amp;/g, "&"));
  opt_values && (str = str.replace(/\{\$([^}]+)}/g, function(match, key) {
    return opt_values != null && key in opt_values ? opt_values[key] : match;
  }));
  return str;
};
goog.getMsgWithFallback = function(a) {
  return a;
};
goog.exportSymbol = function(publicPath, object, objectToExportTo) {
  goog.exportPath_(publicPath, object, !0, objectToExportTo);
};
goog.exportProperty = function(object, publicName, symbol) {
  object[publicName] = symbol;
};
goog.weakUsage = function(name) {
  return name;
};
goog.inherits = function(childCtor, parentCtor) {
  function tempCtor() {
  }
  tempCtor.prototype = parentCtor.prototype;
  childCtor.superClass_ = parentCtor.prototype;
  childCtor.prototype = new tempCtor();
  childCtor.prototype.constructor = childCtor;
  childCtor.base = function(me, methodName, var_args) {
    for (var args = Array(arguments.length - 2), i = 2; i < arguments.length; i++) {
      args[i - 2] = arguments[i];
    }
    return parentCtor.prototype[methodName].apply(me, args);
  };
};
goog.scope = function(fn) {
  if (goog.isInModuleLoader_()) {
    throw Error("goog.scope is not supported within a module.");
  }
  fn.call(goog.global);
};
goog.defineClass = function(superClass, def) {
  var constructor = def.constructor, statics = def.statics;
  constructor && constructor != Object.prototype.constructor || (constructor = function() {
    throw Error("cannot instantiate an interface (no constructor defined).");
  });
  var cls = goog.defineClass.createSealingConstructor_(constructor, superClass);
  superClass && goog.inherits(cls, superClass);
  delete def.constructor;
  delete def.statics;
  goog.defineClass.applyProperties_(cls.prototype, def);
  statics != null && (statics instanceof Function ? statics(cls) : goog.defineClass.applyProperties_(cls, statics));
  return cls;
};
goog.defineClass.SEAL_CLASS_INSTANCES = goog.DEBUG;
goog.defineClass.createSealingConstructor_ = function(ctr) {
  return goog.defineClass.SEAL_CLASS_INSTANCES ? function() {
    var instance = ctr.apply(this, arguments) || this;
    instance[goog.UID_PROPERTY_] = instance[goog.UID_PROPERTY_];
    return instance;
  } : ctr;
};
goog.defineClass.OBJECT_PROTOTYPE_FIELDS_ = "constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
goog.defineClass.applyProperties_ = function(target, source) {
  for (var key in source) {
    Object.prototype.hasOwnProperty.call(source, key) && (target[key] = source[key]);
  }
  for (var i = 0; i < goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length; i++) {
    key = goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[i], Object.prototype.hasOwnProperty.call(source, key) && (target[key] = source[key]);
  }
};
goog.identity_ = function(s) {
  return s;
};
goog.createTrustedTypesPolicy = function(name) {
  var policy = null, policyFactory = goog.global.trustedTypes;
  if (!policyFactory || !policyFactory.createPolicy) {
    return policy;
  }
  try {
    policy = policyFactory.createPolicy(name, {createHTML:goog.identity_, createScript:goog.identity_, createScriptURL:goog.identity_});
  } catch (e) {
    goog.logToConsole_(e.message);
  }
  return policy;
};
goog.CodeLocation = {};
goog.callerLocation = function() {
  return "";
};
goog.callerLocationIdInternalDoNotCallOrElse = function(id) {
  return id;
};
var jspb$e = {wireless_android_play_playlog$LogSourceEnum$LogSource:{UNKNOWN:-1, BATCHED_LOG_REQUEST:357, STORE:0, WEB_STORE:65, WORK_STORE:132, WORK_STORE_APP:261, EDU_STORE:15, MUSIC:1, BOOKS:2, VIDEO:3, MOVIES:74, MAGAZINES:4, GAMES:5, LB_A:6, ANDROID_IDE:7, LB_P:8, LB_S:9, GMS_CORE:10, APP_USAGE_1P:11, ICING:12, HERREVAD:13, HERREVAD_COUNTERS:777, GOOGLE_TV:14, GMS_CORE_PEOPLE:16, LE:17, GOOGLE_ANALYTICS:18, LB_D:19, ANDROID_GSA:20, LB_T:21, PERSONAL_LOGGER:22, PERSONAL_BROWSER_LOGGER:37, GMS_CORE_WALLET_MERCHANT_ERROR:23, 
LB_C:24, LB_IA:52, LB_CB:237, LB_DM:268, CL_C:493, CL_DM:494, ANDROID_AUTH:25, ANDROID_CAMERA:26, CW:27, CW_COUNTERS:243, CW_GCORE:784, GEL:28, DNA_PROBER:29, UDR:30, GMS_CORE_WALLET:31, SOCIAL:32, INSTORE_WALLET:33, NOVA:34, LB_CA:35, LATIN_IME:36, NEWS_WEATHER:38, NEWS_WEATHER_ANDROID_PRIMES:458, NEWS_WEATHER_IOS_PRIMES:459, HANGOUT:39, HANGOUT_LOG_REQUEST:50, MEETINGS_LOG_REQUEST:422, MEET_HUB_LOG_REQUEST:1301, COPRESENCE:40, SOCIAL_AFFINITY:41, SOCIAL_AFFINITY_PHOTOS:465, SOCIAL_AFFINITY_GMAIL:515, 
SOCIAL_AFFINITY_INBOX:516, SOCIAL_AFFINITY_APDL:707, SOCIAL_AFFINITY_CHIPS:878, SOCIAL_AFFINITY_CONTACTS:2041, SOCIAL_AFFINITY_CONTACT_QUERY:2341, PEOPLE_AUTOCOMPLETE:574, SENDKIT:624, PEOPLE_AUTOCOMPLETE_CLIENT:625, CONTACT_STORE:932, PHOTOS:42, GCM:43, GOKART:44, FINDR:45, ANDROID_MESSAGING:46, BUGLE_COUNTERS:323, SOCIAL_WEB:47, BACKDROP:48, TELEMATICS:49, GVC_HARVESTER:51, CAR:53, PIXEL_PERFECT:54, DRIVE:55, DRIVE_KIT_IOS:2097, DRIVE_VE:856, STREAMZ_DRIVE_ANDROID:1934, DOCS:56, SHEETS:57, SLIDES:58, 
DRAWINGS:905, SITES:2033, FORMS:2035, FLIX:2280, LYNX:2538, IME:59, WARP:60, NFC_PROGRAMMER:61, NETSTATS:62, NEWSSTAND:63, KIDS_COMMUNICATOR:64, WIFI_ASSISTANT:66, WIFI_ASSISTANT_PRIMES:326, WIFI_ASSISTANT_COUNTERS:709, CAST_SENDER_SDK:67, CRONET_SOCIAL:68, PHENOTYPE:69, PHENOTYPE_COUNTERS:70, CHROME_INFRA:71, JUSTSPEAK:72, PERF_PROFILE:73, KATNISS:75, SOCIAL_APPINVITE:76, GMM_COUNTERS:77, GMM_REALTIME_COUNTERS:1482, BOND_ONEGOOGLE:78, MAPS_API:79, CRONET_ANDROID_YT:196, CRONET_ANDROID_GSA:80, GOOGLE_FIT_WEARABLE:81, 
FITNESS_ANDROID:169, STREAMZ_FITNESS:1143, FITNESS_GMS_CORE:170, FITNESS_GMS_COUNTERS:1314, SLIMFIT_GMS_CORE:2513, GOOGLE_EXPRESS:82, GOOGLE_EXPRESS_COUNTERS:671, GOOGLE_EXPRESS_DEV:215, GOOGLE_EXPRESS_COURIER_ANDROID_PRIMES:228, GOOGLE_EXPRESS_ANDROID_PRIMES:229, GOOGLE_EXPRESS_IOS_PRIMES:374, GOOGLE_EXPRESS_STOREOMS_ANDROID_PRIMES:240, GOOGLE_EXPRESS_STOREOPERATOR_ANDROID_PRIMES:889, SENSE:83, ANDROID_BACKUP:84, VR:85, IME_COUNTERS:86, SETUP_WIZARD:87, EMERGENCY_ASSIST:88, TRON:89, TRON_COUNTERS:90, 
BATTERY_STATS:91, DISK_STATS:92, GRAPHICS_STATS:107, PROC_STATS:93, DROP_BOX:131, FINGERPRINT_STATS:181, NOTIFICATION_STATS:182, SETTINGS_STATS:390, STORAGED:539, TAP_AND_PAY_GCORE:94, A11YLOGGER:95, GCM_COUNTERS:96, PLACES_NO_GLS_CONSENT:97, TACHYON_LOG_REQUEST:98, TACHYON_COUNTERS:99, DUO_CRONET:396, STREAMZ_DUO:1766, STREAMZ_DUO_IOS:1491, STREAMZ_DUO_WEB:1499, VISION:100, SOCIAL_USER_LOCATION:101, LAUNCHPAD_TOYS:102, METALOG_COUNTERS:103, MOBILESDK_CLIENT:104, ANDROID_VERIFY_APPS:105, ADSHIELD:106, 
SHERLOG:108, LE_ULR_COUNTERS:109, GMM_UE3:110, CALENDAR:111, ENDER:112, FAMILY_COMPASS:113, TRANSOM:114, TRANSOM_COUNTERS:115, LB_AS:116, LB_CFG:117, IOS_GSA:118, IOS_GSA_IOS_PRIMES:861, IOS_GSA_CHROME_WEB_VIEW:1391, TAP_AND_PAY_APP:119, TAP_AND_PAY_APP_COUNTERS:265, FLYDROID:120, CPANEL_APP:121, ANDROID_SNET_GCORE:122, ANDROID_SNET_IDLE:123, ANDROID_SNET_JAR:124, CONTEXT_MANAGER:125, CLASSROOM:126, TAILORMADE:127, KEEP:128, STREAMZ_KEEP:1383, GMM_BRIIM_COUNTERS:129, CHROMECAST_APP_LOG:130, ADWORDS_MOBILE:133, 
ADWORDS_MOBILE_ANDROID_PRIMES:224, ADWORDS_MOBILE_IOS_PRIMES:546, ADWORDS_MOBILE_ACX:764, LEANBACK_EVENT:134, ANDROID_GMAIL:135, SAMPLE_SHM:136, GPLUS_ANDROID_PRIMES:140, GPLUS_ANDROID_SYSTEM_HEALTH:140, GMAIL_ANDROID_PRIMES:150, GMAIL_ANDROID_SYSTEM_HEALTH:150, CALENDAR_ANDROID_PRIMES:151, CALENDAR_ANDROID_SYSTEM_HEALTH:151, DOCS_ANDROID_PRIMES:152, DOCS_ANDROID_SYSTEM_HEALTH:152, YT_MAIN_APP_ANDROID_PRIMES:154, YT_KIDS_ANDROID_PRIMES:155, YT_GAMING_ANDROID_PRIMES:156, YT_MUSIC_ANDROID_PRIMES:157, 
YT_LITE_ANDROID_PRIMES:158, YT_CREATOR_ANDROID_PRIMES:171, YT_UNPLUGGED_ANDROID_PRIMES:589, YT_MAIN_APP_ATV_ANDROID_PRIMES:826, YT_KIDS_ATV_ANDROID_PRIMES:827, YT_MUSIC_ATV_ANDROID_PRIMES:1628, YT_UNPLUGGED_ATV_ANDROID_PRIMES:828, YT_VR_ANDROID_PRIMES:1183, JAM_ANDROID_PRIMES:159, JAM_IOS_PRIMES:769, JAM_KIOSK_ANDROID_PRIMES:160, JELLY_ANDROID_PRIMES:767, JELLY_IOS_PRIMES:768, PHOTOS_ANDROID_PRIMES:165, DRIVE_ANDROID_PRIMES:166, DRIVE_POWERTRAIN_ANDROID_PRIMES:2146, SHEETS_ANDROID_PRIMES:167, SLIDES_ANDROID_PRIMES:168, 
SNAPSEED_ANDROID_PRIMES:178, HANGOUTS_ANDROID_PRIMES:179, INBOX_ANDROID_PRIMES:180, INBOX_IOS_PRIMES:262, SDP_IOS_PRIMES:287, GMSCORE_ANDROID_PRIMES:193, PLAY_MUSIC_ANDROID_WEAR_PRIMES:200, PLAY_MUSIC_ANDROID_WEAR_STANDALONE_PRIMES:419, GEARHEAD_ANDROID_PRIMES:201, INSTORE_CONSUMER_PRIMES:207, SAMPLE_IOS_PRIMES:202, SWIFT_SAMPLE_IOS_PRIMES:748, FLUTTER_SAMPLE_IOS_PRIMES:787, CPANEL_ANDROID_PRIMES:213, HUDDLE_ANDROID_PRIMES:214, AWX_ANDROID_PRIMES:222, GHS_ANDROID_PRIMES:223, TAP_AND_PAY_ANDROID_PRIMES:227, 
WALLET_APP_ANDROID_PRIMES:232, WALLET_APP_IOS_PRIMES:233, ANALYTICS_ANDROID_PRIMES:235, ANALYTICS_IOS_PRIMES:538, SPACES_ANDROID_PRIMES:236, SPACES_IOS_PRIMES:276, SOCIETY_ANDROID_PRIMES:238, GMM_BRIIM_PRIMES:239, CW_PRIMES:242, CW_IOS_PRIMES:699, FAMILYLINK_ANDROID_PRIMES:244, FAMILYLINK_HELPER_ANDROID_PRIMES:887, FAMILYLINK_IOS_PRIMES:291, WH_PRIMES:248, NOVA_ANDROID_PRIMES:249, NOVA_IOS_PRIMES:954, NOVA_WEB_PRIMES:2533, PHOTOS_DRAPER_ANDROID_PRIMES:253, GMM_PRIMES:254, GMM_IOS_PRIMES:985, FREIGHTER_ANDROID_PRIMES:259, 
FLYDROID_ANDROID_PRIMES:259, CONSUMERIQ_PRIMES:260, GMB_ANDROID_PRIMES:263, CLOUDDPC_PRIMES:304, CLOUDDPC_ARC_PRIMES:305, CLOUDDPC_CLEARCUT:1387, AMAPI_SDK:2100, ICORE:137, PANCETTA_MOBILE_HOST:138, PANCETTA_MOBILE_HOST_COUNTERS:139, CROSSDEVICENOTIFICATION:141, CROSSDEVICENOTIFICATION_DEV:142, MAPS_API_COUNTERS:143, GPU:144, ON_THE_GO:145, ON_THE_GO_COUNTERS:146, ON_THE_GO_ANDROID_PRIMES:330, ON_THE_GO_IOS_PRIMES:368, GMS_CORE_PEOPLE_AUTOCOMPLETE:147, FLYDROID_COUNTERS:148, FIREBALL:149, FIREBALL_COUNTERS:257, 
CRONET_FIREBALL:303, FIREBALL_PRIMES:266, FIREBALL_IOS_PRIMES:313, GOOGLE_HANDWRITING_INPUT_ANDROID_PRIMES:314, PYROCLASM:153, ANDROID_GSA_COUNTERS:161, JAM_IMPRESSIONS:162, JAM_KIOSK_IMPRESSIONS:163, PAYMENTS_OCR:164, UNICORN_FAMILY_MANAGEMENT:172, AUDITOR:173, NQLOOKUP:174, ANDROID_GSA_HIGH_PRIORITY_EVENTS:175, ANDROID_DIALER:176, CLEARCUT_DEMO:177, CLEARCUT_REGION_DEMO:1925, APPMANAGER:183, SMARTLOCK_COUNTERS:184, EXPEDITIONS_GUIDE:185, FUSE:186, PIXEL_PERFECT_CLIENT_STATE_LOGGER:187, PLATFORM_STATS_COUNTERS:188, 
DRIVE_VIEWER:189, PDF_VIEWER:190, GOOGLE_PDF_VIEWER_ANDROID_PRIMES:1179, BIGTOP:191, VOICE:192, VOICE_COUNTERS:1506, MYFIBER:194, MYFIBER_IOS_PRIMES:258, MYFIBER_ANDROID_PRIMES:1749, RECORDED_PAGES:195, MOB_DOG:197, WALLET_APP:198, GBOARD:199, CRONET_GMM:203, TRUSTED_FACE:204, MATCHSTICK:205, MATCHSTICK_COUNTERS:372, APP_CATALOG:206, BLUETOOTH:208, WIFI:209, TELECOM:210, TELEPHONY:211, IDENTITY_FRONTEND:212, IDENTITY_FRONTEND_COUNTERS:875, IDENTITY_FRONTEND_EXTENDED:558, IDENTITY_FRONTEND_VISUAL_ELEMENTS:1022, 
IDENTITY_POP_UP_EVENT:1665, SESAME:216, GOOGLE_KEYBOARD_CONTENT:217, MADDEN:218, INK:219, ANDROID_CONTACTS:220, GOOGLE_KEYBOARD_COUNTERS:221, CLEARCUT_PROBER:225, PLAY_CONSOLE_APP:226, PLAY_CONSOLE_APP_PRIMES:264, PLAY_CONSOLE_APP_FEATURE_ANALYTICS:507, SPECTRUM:230, SPECTRUM_COUNTERS:231, SPECTRUM_ANDROID_PRIMES:267, IOS_SPOTLIGHT_SEARCH_LIBRARY:234, BOQ_WEB:241, STREAMZ_BOQ_WEB_OFFLINE:989, ORCHESTRATION_CLIENT:245, ORCHESTRATION_CLIENT_DEV:246, GOOGLE_NOW_LAUNCHER:247, SCOOBY_SPAM_REPORT_LOG:250, 
IOS_GROWTH:251, APPS_NOTIFY:252, SMARTKEY_APP:269, CLINICAL_STUDIES:270, FITNESS_ANDROID_PRIMES:271, FITNESS_IOS_PRIMES:953, IMPROV_APPS:272, FAMILYLINK:273, FAMILYLINK_COUNTERS:274, FAMILYLINKHELPER:923, STREAMZ_FAMILYLINK:1226, STREAMZ_FAMILYLINKHELPER:1227, SOCIETY:275, DIALER_ANDROID_PRIMES:277, YOUTUBE_DIRECTOR_APP:278, TACHYON_ANDROID_PRIMES:279, TACHYON_IOS_PRIMES:645, DRIVE_FS:280, YT_MAIN:281, WING_MARKETPLACE_ANDROID_PRIMES:282, DYNAMITE:283, STREAMZ_DYNAMITE:778, CORP_ANDROID_FOOD:284, 
ANDROID_MESSAGING_PRIMES:285, GPLUS_IOS_PRIMES:286, CHROMECAST_ANDROID_APP_PRIMES:288, CAST_IOS_PRIMES:344, APPSTREAMING:289, GMB_ANDROID:290, VOICE_IOS_PRIMES:292, VOICE_ANDROID_PRIMES:293, PAISA:294, NAZDEEK_USER_ANDROID_PRIMES:315, NAZDEEK_CAB_ANDROID_PRIMES:316, NAZDEEK_CAFE_ANDROID_PRIMES:317, GMB_IOS:295, GMB_IOS_PRIMES:325, SCOOBY_EVENTS:296, SNAPSEED_IOS_PRIMES:297, WALLPAPER_PICKER:299, WALLPAPER_PICKER_ANDROID_PRIMES:466, CHIME:300, BEACON_GCORE:301, ANDROID_STUDIO:302, DOCS_OFFLINE:306, 
FREIGHTER:307, DOCS_IOS_PRIMES:308, SLIDES_IOS_PRIMES:309, SHEETS_IOS_PRIMES:310, IPCONNECTIVITY:311, CURATOR:312, CURATOR_ANDROID_PRIMES:318, FITNESS_ANDROID_WEAR_PRIMES:319, ANDROID_MIGRATE:320, PAISA_USER_ANDROID_PRIMES:321, PAISA_MERCHANT_ANDROID_PRIMES:322, CLIENT_LOGGING_PROD:327, CLIENT_LOGGING_DEMO:327, CLIENT_LOGGING_GMSCORE_AUTOFILL:1353, CLIENT_LOGGING_GMSCORE_CAR:1354, CLIENT_LOGGING_GMSCORE_COMMON:1355, CLIENT_LOGGING_GMSCORE_CONTEXT_MANAGER:1356, CLIENT_LOGGING_GMSCORE_CREDENTIAL_MANAGER:1357, 
CLIENT_LOGGING_GMSCORE_FACS_CACHE:1358, CLIENT_LOGGING_GMSCORE_FITNESS:1359, CLIENT_LOGGING_GMSCORE_GROWTH:1360, CLIENT_LOGGING_GMSCORE_GROWTH_UPGRADEPARTY:2484, CLIENT_LOGGING_GMSCORE_GUNS:1361, CLIENT_LOGGING_GMSCORE_LOCATION:1362, CLIENT_LOGGING_GMSCORE_LOCATION_SHARING:1363, CLIENT_LOGGING_GMSCORE_MDI_SYNC:1364, CLIENT_LOGGING_GMSCORE_MOBILE_DATA_PLAN:1365, CLIENT_LOGGING_GMSCORE_NEARBY:1366, CLIENT_LOGGING_GMSCORE_NEARBY_MESSAGES:1367, CLIENT_LOGGING_GMSCORE_NEARBY_SHARING:1368, CLIENT_LOGGING_GMSCORE_PAY_SECURE_ELEMENT_SERVICE:1369, 
CLIENT_LOGGING_GMSCORE_PHENOTYPE:1370, CLIENT_LOGGING_GMSCORE_PLATFORM_CONFIGURATOR:1371, CLIENT_LOGGING_GMSCORE_VEHICLE:1372, CLIENT_LOGGING_GMSCORE_WALLET_TAP_AND_PAY:1373, CLIENT_LOGGING_GMSCORE_AD_MEASUREMENT:1401, CLIENT_LOGGING_GMSCORE_APPINTEGRITY:1402, CLIENT_LOGGING_GMSCORE_APP_INVITE:1403, CLIENT_LOGGING_GMSCORE_APP_STATE:1404, CLIENT_LOGGING_GMSCORE_AUTH_ACCOUNT_DATA:1405, CLIENT_LOGGING_GMSCORE_AUTH_API_ACCOUNT_TRANSFER:1406, CLIENT_LOGGING_GMSCORE_AUTH_CREDENTIALS:1407, CLIENT_LOGGING_GMSCORE_AUTH_PROXY:1408, 
CLIENT_LOGGING_GMSCORE_AUTH_AUTHZEN_KEY:1409, CLIENT_LOGGING_GMSCORE_AUTH_EASYUNLOCK:1410, CLIENT_LOGGING_GMSCORE_BACKUP_NOW:1411, CLIENT_LOGGING_GMSCORE_BEACON:1412, CLIENT_LOGGING_GMSCORE_BUGREPORT:1413, CLIENT_LOGGING_GMSCORE_CAST_MIRRORING:1414, CLIENT_LOGGING_GMSCORE_CHECKIN_API:1415, CLIENT_LOGGING_GMSCORE_CHIMERA:1416, CLIENT_LOGGING_GMSCORE_CODELAB:1417, CLIENT_LOGGING_GMSCORE_COMMON_ACCOUNT:1418, CLIENT_LOGGING_GMSCORE_DOWNLOAD:1419, CLIENT_LOGGING_GMSCORE_CONTACT_INTERACTIONS:1420, CLIENT_LOGGING_GMSCORE_DEVICE_CONNECTIONS:1421, 
CLIENT_LOGGING_GMSCORE_DROID_GUARD:1422, CLIENT_LOGGING_GMSCORE_FEEDBACK:1423, CLIENT_LOGGING_GMSCORE_FIREBASE_AUTH:1424, CLIENT_LOGGING_GMSCORE_DYNAMIC_LINKS_API:1425, CLIENT_LOGGING_GMSCORE_GAMES:1426, CLIENT_LOGGING_GMSCORE_CORE:1431, CLIENT_LOGGING_GMSCORE_FONT_API:1432, CLIENT_LOGGING_GMSCORE_GAMES_UPGRADE:1433, CLIENT_LOGGING_GMSCORE_GASS:1434, CLIENT_LOGGING_GMSCORE_GOOGLE_HELP:1435, CLIENT_LOGGING_GMSCORE_APP_DATA_SEARCH:1436, CLIENT_LOGGING_GMSCORE_IDENTITY:1437, CLIENT_LOGGING_GMSCORE_LANGUAGE_PROFILE:1438, 
CLIENT_LOGGING_GMSCORE_LOCKBOX:1439, CLIENT_LOGGING_GMSCORE_MATCHSTICK:1440, CLIENT_LOGGING_GMSCORE_OTA:1441, CLIENT_LOGGING_GMSCORE_PANORAMA:1442, CLIENT_LOGGING_GMSCORE_PAY:1443, CLIENT_LOGGING_GMSCORE_PEOPLE:1444, CLIENT_LOGGING_GMSCORE_PERMISSION:1445, CLIENT_LOGGING_GMSCORE_PHONESKY_RECOVERY:1446, CLIENT_LOGGING_GMSCORE_PLACES:1447, CLIENT_LOGGING_GMSCORE_PSEUDONYMOUS:1448, CLIENT_LOGGING_GMSCORE_RECAPTCHA:1449, CLIENT_LOGGING_GMSCORE_SCHEDULER:1460, CLIENT_LOGGING_GMSCORE_SECURITY:1461, CLIENT_LOGGING_GMSCORE_SETUP_SERVICES:1462, 
CLIENT_LOGGING_GMSCORE_SIGNIN:1463, CLIENT_LOGGING_GMSCORE_SMARTDEVICE:1464, CLIENT_LOGGING_GMSCORE_SMART_PROFILE:1465, CLIENT_LOGGING_GMSCORE_STATEMENT_SERVICE:1466, CLIENT_LOGGING_GMSCORE_STATS:1467, CLIENT_LOGGING_GMSCORE_SUBSCRIBED_FEEDS:1468, CLIENT_LOGGING_GMSCORE_TECH_SUPPORT:1469, CLIENT_LOGGING_GMSCORE_TRON:1470, CLIENT_LOGGING_GMSCORE_TRUSTAGENT:1471, CLIENT_LOGGING_GMSCORE_TRUSTLET_FACE:1472, CLIENT_LOGGING_GMSCORE_USAGE_REPORTING:1473, CLIENT_LOGGING_GMSCORE_WALLET_P2P:1474, CLIENT_LOGGING_GMSCORE_WESTWORLD:1475, 
CLIENT_LOGGING_GMSCORE_CONTAINER:1476, CLIENT_LOGGING_GMSCORE:1495, LIVE_CHANNELS:1238, LIVE_CHANNELS_ANDROID_PRIMES:328, LIVE_CHANNELS_COUNTERS:1458, PAISA_USER_IOS_PRIMES:329, VESPA_IOS_PRIMES:331, PLAY_GAMES_PRIMES:332, GMSCORE_API_COUNTERS:333, EARTH:334, EARTH_COUNTERS:405, CALENDAR_CLIENT:335, SV_ANDROID_PRIMES:336, PHOTOS_IOS_PRIMES:337, GARAGE_ANDROID_PRIMES:338, GARAGE_IOS_PRIMES:339, SOCIAL_GOOD_DONATION_WIDGET:340, SANDCLOCK:341, IMAGERY_VIEWER:342, ADWORDS_EXPRESS_ANDROID_PRIMES:343, 
IMPROV_POSTIT:345, IMPROV_SHARPIE:346, DRAPER_IOS_PRIMES:347, SMARTCAM:348, DASHER_USERHUB:349, ANDROID_CONTACTS_PRIMES:350, ZAGAT_BURGUNDY_IOS_PRIMES:351, ZAGAT_BURGUNDY_ANDROID_PRIMES:352, CALENDAR_IOS_PRIMES:353, SV_IOS_PRIMES:354, SMART_SETUP:355, BOOND_ANDROID_PRIMES:356, KONG_ANDROID_PRIMES:358, CLASSROOM_IOS_PRIMES:359, WESTINGHOUSE_COUNTERS:360, WALLET_SDK_GCORE:361, ANDROID_IME_ANDROID_PRIMES:362, MEETINGS_ANDROID_PRIMES:363, MEETINGS_IOS_PRIMES:364, WEB_CONTACTS:365, ADS_INTEGRITY_OPS:366, 
TOPAZ:367, CLASSROOM_ANDROID_PRIMES:369, THUNDERBIRD:370, PULPFICTION:371, ONEGOOGLE:373, LIFESCIENCE_FRONTENDS:376, WALLPAPER_PICKER_COUNTERS:377, MAGICTETHER_COUNTERS:378, MAGICTETHER_EVENTS:2536, SOCIETY_COUNTERS:379, HALLWAY:382, SPACES:383, TOOLKIT_QUICKSTART:384, CHAUFFEUR_ANDROID_PRIMES:385, CHAUFFEUR_IOS_PRIMES:386, FIDO:387, MOBDOG_ANDROID_PRIMES:388, MOBDOG_IOS_PRIMES:389, AWX_IOS_PRIMES:391, GHS_IOS_PRIMES:392, BOOKS_IOS_PRIMES:393, LINKS:394, KATNIP_IOS_PRIMES:395, BOOKS_ANDROID_PRIMES:397, 
DYNAMITE_ANDROID_PRIMES:398, DYNAMITE_IOS_PRIMES:399, SIDELOADED_MUSIC:400, CORP_ANDROID_DORY:401, CORP_ANDROID_JETSET:402, VR_SDK_IOS_PRIMES:403, VR_SDK_ANDROID_PRIMES:404, PHOTOS_SCANNER:406, BG_IN_OGB:407, BLOGGER:408, BLOGGER_ANDROID_PRIMES:1024, BLOGGER_IOS_PRIMES:1025, CORP_IOS_FOOD:409, BEACON_GCORE_TEST:410, LINKS_IOS_PRIMES:411, CHAUFFEUR:412, SNAPSEED:413, EARTH_ANDROID_PRIMES:414, CORP_ANDROID_AIUTO:415, GFTV_MOBILE_PRIMES:416, GMAIL_IOS:417, TOPAZ_ANDROID_PRIMES:418, SOCIAL_COUNTERS:420, 
CORP_ANDROID_MOMA:421, GDEAL:423, GOOGLETTS:424, SEARCHLITE_ANDROID_PRIMES:425, NEARBY_AUTH:426, CORP_ANDROID_ASSISTANT:427, DMAGENT_ANDROID_PRIMES:428, CORP_ANDROID_GBUS:429, YOUTUBE_UNPLUGGED_IOS_PRIMES:430, LEANBACK_LAUNCHER_PRIMES:431, DROIDGUARD:432, DROIDGUARD_ONDEVICE:2430, STREAMZ_DROIDGUARD:1674, CORP_IOS_DORY:433, PLAY_MUSIC_ANDROID_APP_PRIMES:434, GPOST_ANDROID_PRIMES:436, GPOST_CLIENT_LOGS:437, DPANEL:438, ADSENSE_ANDROID_PRIMES:439, PDM_COUNTERS:440, EMERGENCY_ASSIST_PRIMES:441, APPS_TELEPATH:442, 
METALOG:443, TELECOM_PLATFORM_STATS:444, WIFI_PLATFORM_STATS:445, GMA_SDK:446, GMA_SDK_COUNTERS:447, ANDROID_CREATIVE_PREVIEW_PRIMES:448, TELEPHONY_PLATFORM_STATS:449, TESTDRIVE_PRIMES:450, CARRIER_SERVICES:451, CLOUD_CONSOLE_ANDROID_PRIMES:452, STREET_VIEW:453, STAX:454, NEWSSTAND_ANDROID_PRIMES:455, NEWSSTAND_IOS_PRIMES:651, PAISA_USER:456, CARRIER_SERVICES_ANDROID_PRIMES:457, IPCONNECTIVITY_PLATFORM_STATS:460, FIREPERF_AUTOPUSH:461, FIREPERF:462, ZAGAT_IOS_AUTHENTICATED:463, ULR:464, PLAY_MOVIES_ANDROID_PRIMES:467, 
SMART_LOCK_IOS:468, ZAGAT_IOS_PSEUDONYMOUS:469, TRAVEL_BOOKING:470, WESTINGHOUSE_ODYSSEY:471, GMM_WEARABLE_PRIMES:472, GMM_WEARABLE_CLEARCUT_COUNTERS:2332, HUDDLE_ANDROID:473, DL_FONTS:474, KEEP_ANDROID_PRIMES:475, CORP_ANDROID_CAMPUS:476, TANGO_CORE:477, ROMANESCO_GCORE:478, APPS_TELEPATH_ANDROID_PRIMES:479, PIGEON_EXPERIMENTAL:480, SPEAKEASY_BARKEEP_CLIENT:481, BASELINE_ANDROID_PRIMES:482, TANGO_CORE_COUNTERS:483, PHENOTYPE_DEMO:484, YETI:485, YETI_STREAMZ:642, STREAMZ_YETI_WEB:1643, TVPRESENCE_ANDROID_PRIMES:486, 
STREAMZ_TVPRESENCE_ANDROID:944, LINKS_ANDROID_PRIMES:487, ALBERT:488, TOPAZ_APP:489, ICENTRAL_ANDROID_PRIMES:490, BISTO_ANDROID_PRIMES:491, GDEAL_QA:492, ATV_REMOTE_PRIMES:495, ATV_REMOTE_SERVICE_PRIMES:496, BRELLA:497, BRELLA_COUNTERS:1007, ANDROID_GROWTH:498, GHS_CLIENT_LOGS:499, GOR_ANDROID_PRIMES:500, GOR_IOS_PRIMES:1483, NETREC:501, NETREC_COUNTERS:502, DASHER_ADMINCONSOLE:503, SESAME_CAMERA_LAUNCH:504, GOOGLE_RED_ANDROID_PRIMES:505, SEARCHLITE:506, SEARCHLITE_ASSISTANT:2254, SEARCHLITE_SEARCH:2255, 
CONTACTS_ASSISTANTS:508, CONCORD:509, CONCORD_TEST:2260, CALENDAR_IOS_COUNTERS:510, POCKETWATCH_ANDROID_WEAR_PRIMES:511, MYALO_ANDROID_PRIMES:512, ACTIVITY_RECOGNITION:513, VR_STREAMING_COUNTERS:514, TOPAZ_IOS_PRIMES:517, NEWS_EVENT:518, CHROMOTING:519, CHROMOTING_COUNTERS:520, GMM_WEARABLE_COUNTERS:521, VR_STREAMING_ANDROID_PRIMES:522, REACHABILITY_GCORE:523, DMAGENT_IOS:524, DMAGENT_IOS_PRIMES:525, SESAME_UNLOCK_PRIMES:526, SESAME_TRUST_API_PRIMES:527, GSTORE:528, OPA_IOS:529, VRCORE_ANDROID_PRIMES:530, 
MOMA:531, SESAME_UNLOCK_COUNTERS:532, LB_COUNTERS:533, DAYDREAM_HOME:534, INK_ANDROID_PRIMES:535, INK_IOS_PRIMES:536, ASSISTANTKIT_IOS:537, ASSISTANTKIT_IOS_PRIMES:1117, CORP_IOS_LATIOS_PRIMES:540, MEDIA_STATS:541, CRONET_ANDROID_PHOTOS:543, GWS_JS:544, GWS_JS_AUTH_EXPERIMENT:619, CALCULATOR_ANDROID_PRIMES:545, GOOGLE_MEETS:547, ENTERPRISE_ENROLLMENT_COUNTERS:548, GNSS:549, VIMES:550, CAMERA_ANDROID_PRIMES:551, ANDROID_WEBVIEW:552, NEARBY:553, NEARBY_PRESENCE:2209, PREDICT_ON_DEVICE:554, OAUTH_INTEGRATIONS:555, 
OAUTH_INTEGRATIONS_VISUAL_ELEMENT:2266, IMPROV_ANDROID_PRIMES:556, GOOGLETTS_ANDROID_PRIMES:557, GNSS_PLATFORM_STATS:559, ACTIONS_ON_GOOGLE:560, GBOARD_ANDROID_PRIMES:561, NAKSHA_ANDROID_PRIMES:562, PAISA_COUNTERS:563, CONSTELLATION:564, ZANDRIA:565, CORP_IOS_LATIOS:566, DAYDREAM_HOME_ANDROID_PRIMES:567, VISUAL_SEMANTIC_LIFT:568, TRAVEL_VACATIONS:569, DAYDREAM_KEYBOARD_ANDROID_PRIMES:570, SMS_SYNC_COUNTERS:571, CORP_IOS_FOOD_PRIMES:572, MOMA_COUNTERS:573, BASELINE_IOS_PRIMES:575, CLEARCUT_LOG_LOSS:576, 
BIRDSONG:577, OPA_IOS_PRIMES:578, PSEUDONYMOUS_ID_COUNTERS:579, PROXY_COMPANION_ANDROID_PRIMES:580, IMAGES:581, GREENTEA:582, AUTOFILL_WITH_GOOGLE:583, ZEBEDEE_ANDROID_PRIMES:584, GBOARD_IOS_PRIMES:585, KEEP_IOS_PRIMES:586, ROYALMINT_ANDROID_PRIMES:587, DRIVE_IOS_PRIMES:588, DRIVE_POWERTRAIN_IOS_PRIMES:2096, REVEAL:590, REVEAL_INTERNAL:922, REVEAL_ANDROID_PRIMES:978, REVEAL_COUNTERS:1120, TRENDS_CLIENT:591, FILESGO_ANDROID_PRIMES:593, PIXEL_HW_INFO:594, HEALTH_COUNTERS:595, WEB_SEARCH:596, STREAMZ_WEB_SEARCH_DEMOS:1910, 
LITTLEHUG_PEOPLE:597, MYGLASS_ANDROID_PRIMES:598, TURBO:599, ANDROID_OTA:600, SENSE_AMBIENTMUSIC:601, SENSE_DND:602, LIBASSISTANT:603, STREAMZ:604, EUICC:605, EUICC_ANDROID_PRIMES:1236, MEDICAL_SCRIBE:606, CALENDAR_IOS:607, AUDIT:608, EASEL_SERVICE_ANDROID_PRIMES:609, WHISTLEPUNK_ANDROID_PRIMES:610, WHISTLEPUNK_IOS_PRIMES:611, EDGE_PCAP:612, ICING_COUNTERS:613, BEACON_TOOLS_ANDROID_PRIMES:614, BEACON_TOOLS_IOS_PRIMES:615, SCOOBY_EVENT_LOG:616, EARTH_IOS_PRIMES:617, YETI_CLIENT:618, GROWTH_CATALOG_IOS_PRIMES:621, 
ANDROID_SPEECH_SERVICES:622, KIDS_SUPERVISION:623, ADWORDS_FLUTTER_ANDROID_PRIMES:626, ADWORDS_FLUTTER_IOS_PRIMES:627, HIRE_IOS_PRIMES:628, VR_SOCIAL:630, TASKS_ANDROID_PRIMES:631, WEAR_CHAMELEON:632, ZEBEDEE_COUNTERS:633, CARRIER_SETTINGS:634, ONEGOOGLE_MOBILE:635, STREAMZ_ONEGOOGLE_ANDROID:1140, ANDROID_SMART_SHARE:636, HIRE_ANDROID_PRIMES:637, VR_COMMS:638, G_SUITE_COMPANION:639, GMSCORE_BACKEND_COUNTERS:640, MUSTARD_ANDROID_PRIMES:641, TV_DREAM_X_ANDROID_PRIMES:904, TV_LAUNCHER_ANDROID_PRIMES:643, 
TV_LAUNCHER_X_ANDROID_PRIMES:859, TV_RECOMMENDATIONS_ANDROID_PRIMES:644, APPS_ASSISTANT:646, CHROME_WEB_STORE:647, SEARCH_CONSOLE:648, ZEBEDEE:649, OPA_TV:650, TASKS:652, APPS_SEARCH:653, CLEARCUT_TEST:654, ASSISTANTLITE:655, ASSISTANTLITE_ANDROID_PRIMES:656, MUSK:657, TV_LAUNCHER:658, FOOD_ORDERING:659, FOOD_ORDERING_SFOF:1838, TALKBACK:660, LONGFEI_ANDROID_PRIMES:661, GMSCORE_NOTIFICATION_COUNTERS:662, SAVE:663, SAVE_COUNTERS:1306, MECHAHAMSTER_IOS_PRIMES:664, GRPC_INTEROP_ANDROID_PRIMES:665, KLOPFKLOPF:666, 
GRPC_INTEROP_IOS_PRIMES:667, CRONET_WESTINGHOUSE:668, CHROMESYNC:669, NETSTATS_GMS_PREV14:670, CORP_ANDROID_MOMA_CLEARCUT:672, PIXEL_AMBIENT_SERVICES_PRIMES:673, SETTINGS_INTELLIGENCE:674, FIREPERF_INTERNAL_LOW:675, FIREPERF_INTERNAL_HIGH:676, EXPEDITIONS_ANDROID_PRIMES:677, LAUNCHER_STATS:678, YETI_GUESTORC:679, MOTION_STILLS:680, ASSISTANT_CLIENT_COUNTERS:681, EXPEDITIONS_IOS_PRIMES:682, GOOGLEASSISTANT_ANDROID_PRIMES:683, CAMERAKIT:684, ANDROID_ONBOARD_WEB:685, GCONNECT_TURNOUT:686, VR180_ANDROID_PRIMES:687, 
VR180_IOS_PRIMES:688, LONGFEI_COUNTERS:689, CONNECTIVITY_MONITOR_ANDROID_PRIMES:690, GPP_UI:691, PRIMES_INTERNAL_ANDROID_PRIMES:692, YETI_PTS:693, FACT_CHECK_EXPLORER:694, ASSISTANT_HQ_WEB:695, YETI_TLS_PROXY:696, GMAIL_DD:697, KHAZANA_ANDROID_PRIMES:698, ARCORE:700, GOOGLE_WIFI_ANDROID_PRIMES:701, GOOGLE_WIFI_IOS_PRIMES:835, PROXIMITY_AUTH_COUNTERS:702, PROXIMITY_AUTH_EVENTS:2399, WEAR_KEYBOARD_ANDROID_PRIMES:703, SEARCH_ON_BOQ:704, SCONE_ANDROID_PRIMES:705, MOBILE_DATA_PLAN:706, VENUS:708, IPA_GCORE:710, 
TETHERING_ENTITLEMENT:711, SEMANTIC_LOCATION_COUNTERS:712, TURBO_ANDROID_PRIMES:713, USER_LOCATION_REPORTING:714, FIREBASE_ML_SDK:715, FIREBASE_ML_LOG_SDK:1326, GOR_CLEARCUT:716, WFC_ACTIVATION:717, TASKS_IOS_PRIMES:718, WING_OPENSKY_ANDROID_PRIMES:719, CARRIER_SETUP:720, ASSISTANT_SHELL:721, PLAY_METALOG:722, ZOOMSIGHTS:723, EASYSIGNIN_GCORE:724, GFTV_ANDROIDTV:725, GFTV_ANDROIDTV_PRIMES:726, WING_MARKETPLACE_IOS_PRIMES:727, LAGEPLAN_ANDROID_PRIMES:728, ONEGOOGLE_VE:729, LAGEPLAN:730, FIREBASE_INAPPMESSAGING:731, 
MEDICAL_RECORDS_GUARDIAN:732, WESTWORLD:733, ANONYMOUS_WESTWORLD:1351, WESTWORLD_METADATA:734, WESTWORLD_COUNTERS:735, PIXEL_SAFETY_METRICS_KEYED_BY_HWID_ONLY:2019, PAISA_MERCHANT:736, COPRESENCE_NO_IDS:737, KIDS_DUMBLEDORE:738, FITNESS_IOS_FITKIT:739, SETTINGS_INTELLIGENCE_ANDROID_PRIMES:740, ANDROID_SUGGEST_ALLAPPS:741, STREAMZ_EXAMPLE:742, BETTERBUG_ANDROID_PRIMES:743, MOVIES_PLAYBACK:744, KLOPFKLOPF_ANDROID_PRIMES:745, DESKCLOCK_ANDROID_PRIMES:746, LOCAL_DEV_PROXY_IOS_PRIMES:747, HATS:749, HATS_STAGING:801, 
WEAR_DIALER_ANDROID_PRIMES:750, LONGFEI:751, SWITCH_ACCESS_ANDROID_PRIMES:752, PLAY_GAMES_ANDROID_PRIMES:753, ANDROID_GSA_ANDROID_PRIMES:754, GUARDIAN_MIMIC3:755, GUARDIAN_MERCURY:756, GMB_WEB:757, AIAI_MATCHMAKER:758, STREAMZ_GFTV_ANDROIDTV:759, GMAIL_ANDROID:760, STREAMZ_PLX:761, INCIDENT_REPORT:762, ELDAR:763, IMPROV_IOS_PRIMES:765, STREAMZ_ROMANESCO:766, FACE_LOCK_ANDROID_PRIMES:770, ANDROID_THINGS_COMPANION_ANDROID_PRIMES:771, GRPC_COUNTERS:772, YOUTUBE_LITE:773, EASY_UNLOCK_COUNTERS:774, EASY_UNLOCK_EVENTS:2547, 
CORP_ANDROID_SHORTCUT:775, YETI_VULKAN:776, STREAMZ_ANDROID_GROWTH:779, CONNECTIVITY_MONITOR:780, SWITCH_ACCESS:781, PERFETTO:782, PERFETTO_UPLOADER:2049, PERFETTO_UPLOADER_IDENTIFYING:2050, ORNAMENT_ANDROID_PRIMES:783, STREAMZ_SHORTCUT:785, ATV_SETUP_ANDROID_PRIMES:786, YETI_DATAVM:788, SEMANTIC_LOCATION_ANDROID_LOG_EVENTS:789, EXPRESSION:790, STREAMZ_GCONNECT:791, GMS_TEXT_CLASSIFIER:792, GMAIL_WEB:793, SPEAKR_ANDROID_PRIMES:794, CONTACT_HR:795, ANDROID_CONTACTS_COUNTERS:796, FLUTTER_SAMPLE:797, 
AIAI_MATCHMAKER_COUNTERS:798, BLOG_COMPASS_ANDROID_PRIMES:799, BETTERBUG_ANDROID:800, STREAMZ_ANDROID_BUILD:802, MATERIAL_THEME_KIT_ERROR_REPORT:803, YOUTUBE_IOS:804, YOUTUBE_MUSIC_IOS:805, AIY_PROJECTS_ANDROID_PRIMES:806, WELLBEING_ANDROID_PRIMES:807, YETI_DEV:808, INSTANT_BUY_CLIENT:809, WELLBEING_ANDROID_COUNTERS:810, KHAZANA_ANDROID_VE:811, LIGHTER_ANDROID:812, LIGHTER_IOS:813, LIGHTER_WEB:1311, LIGHTER_COUNTERS:1114, AMP_ACTIONS_CLIENT:814, PRESTO_ALP:815, SUBSCRIBEWITHGOOGLE_CLIENT:816, STREAMZ_CLUSTER_REVIEW:817, 
NEARBY_COUNTERS:818, EXPRESSION_COUNTERS:819, SCRIBE_ANDROID_PRIMES:820, ANDROID_NATIVE_ONBOARDING:821, DRIVE_DATASERVICE:822, GMM_NAVGO_COUNTERS:823, FCM_PROBER_APP:824, OPA_TV_ANDROID_PRIMES:825, GOOGLE_WIFI_LOG:829, POWER_ANOMALY:830, KIDS_DUMBLEDORE_ANDROID_PRIMES:831, KIDS_DUMBLEDORE_PARENTS_ANDROID_PRIMES:832, KIDS_HOME_ANDROID_PRIMES:924, STREAMZ_KIDS_HOME:1508, GEO_AR_LIB:833, GEO_AR_LIB_ANDROID_PRIMES:957, GEO_AR_LIB_IOS_PRIMES:958, STREAMZ_REFDOCTOR:834, STREAMZ_CLOUDSEARCH:836, YETI_LIBYETI:837, 
DROP_BOX_EASTWORLD:838, CHIPS:840, GMM_NAVGO_PRIMES:841, SPOT_ANDROID_PRIMES:842, GVC_OCCUPANCY:843, TURQUOISE_COBALT_SHUFFLER_INPUT_DEVEL:844, TURQUOISE_COBALT_SHUFFLER_INPUT_PROD:1176, STREAMZ_TURQUOISE_COBALT_ANDROID_INTERNAL_MONITORING:1941, STREAMZ_TURQUOISE_COBALT_GMSCORE:2358, PAISA_MERCHANT_CONSOLE:845, SPOT:846, SHOPPING_LIST:847, YETI_CLIENT_PER_FRAME:848, GMAIL_LOCKER_UI:849, PAISA_WANDER:850, GCONNECT_TURNOUT_TEST_APP_ANDROID_PRIMES:851, STREAMZ_BUGANIZER:852, PRESTO_FE:853, LENS_STANDALONE_ANDROID_PRIMES:854, 
STREAMZ_SECURECONNECT:855, ASSISTANT_NOTESLISTS_WEB:857, MODEM_METRICS:858, SUPPORT_CONTENT:860, SUPPORT_CONTENT_INTERNAL:1046, EXPRESSIVE_CAMERA_ANDROID_PRIMES:862, BISKI_CLIENT:863, ASX:1638, GOOGLE_HELP:865, STREAMZ_GIL_LIBRARY:866, AWP:867, EASTWORLD_BATTERY:868, OMADM:869, WELLBEING_ANDROID:870, SOUND_AMPLIFIER_ANDROID_PRIMES:871, SCONE:872, GROUPS_UI:873, PLX_FE:874, VAULT:876, SPARKLIGHT:877, PIXEL_TIPS:879, KINDYGRAM_IOS_PRIMES:880, SCRIBE:881, ATAP_WALNUT_ANDROID_PRIMES:882, BIZBUILDER_INSIGHTS:883, 
SURFACE_FLINGER:884, GMS_CORE_CONTACT_INTERACTIONS:885, ARCORE_CHINA:886, DREAMLINER:888, WOLVERINE_ADMIN_UI:890, MIC:891, STREAMZ_XRPC_LIB:892, GMAIL_COUNTERS:893, VOICE_ACCESS_ANDROID_PRIMES:894, MEDICAL_SCRIBE_TASKING:895, EASTWORLD_STATS:896, PLX_INSTRUMENTATION:897, ASSISTANT_SETTINGS_WEB_UI:898, AUTH_MANAGED:899, COGSWORTH_ANDROID_PRIMES:900, YETI_SYSMON:901, GMAIL_SYNC_HEALTH:902, ATV_LAUNCHER:903, DRIVE_DATASERVICE_IMPRESSIONS:906, XRPC_DEMO_ANDROID_PRIMES:907, WEB_CLIENT_LOGGING_PROD:908, 
STREAMZ_PHOTOS_ANDROID:909, STREAMZ_PHOTOS_IOS:1329, STREAMZ_PHOTOS_WEB:1264, DUNLIN:910, DUNLIN_COUNTERS:995, DUNLIN_EXPERIMENT:917, DUNLIN_ANDROID_PRIMES:1012, STREAMZ_CALENDAR:911, STREAMZ_ANDROID_AUTH:912, SEEKH:913, LENS:914, USERPANEL_TV_CLIENT_DIAGNOSTIC:915, MYACTIVITY:916, CW_LE:918, CW_COUNTERS_LE:919, GOOGLE_ONE_CLIENT:920, CONTACTSHEET:921, OPTIMIZE_FE:925, STREAMZ_VOICE_IOS:926, HOVERCARD:927, KLOPFKLOPF_SPIKE:928, NAVSTAR:929, PHOTOS_GO_ANDROID_PRIMES:930, STREAMZ_PHOTOS_GO_ANDROID:1602, 
ANDROID_BUILD:931, PAIDTASKS:933, ATEST_EXTERNAL:934, AAE_SETUP_WIZARD:935, GOOGLE_PAY_IOS_PRIMES:936, AR_SHOPPING:937, GERRIT_CODE_REVIEW:938, GOOGLE_ANALYTICS_FRONTEND:939, TOPAZ_TEAMS:940, STREAMZ_PAISA:941, AMP_CSI:942, INSTANT_APPS_DEVELOPER_TOOLS:943, SCOOBY_MESSAGE_LOG:945, STREAMZ_VEIL:946, STREAMZ_CHROMOTING:947, ELMYRA_LOG:948, GLINE:949, GOOGLE_ENDPOINT_MANAGEMENT:950, MEDICAL_DERM_ASSISTANT:951, LENS_WEB:952, LENS_WEB_ON_SEARCH:2183, STREAMZ_LENS_WEB:1703, GCONNECT_PICARD:955, STREAMZ_GCONNECT_WEB:956, 
SAFETYHUB_ANDROID_PRIMES:959, WEAR_SAFETY_ANDROID_PRIMES:1524, NBU_GCONNECT_KIMCHI:960, DOCS_SANDBOX:961, SHEETS_SANDBOX:962, SLIDES_SANDBOX:963, DRAWINGS_SANDBOX:964, FLIX_SANDBOX:2282, SITES_SANDBOX:2549, FORMS_SANDBOX:2551, RTC_DEVICES:965, STREAMZ_SMARTDEVICE:966, CHRONOS_IOS_LOG:967, STREAMZ_SUBSCRIBEDFEEDS:968, NBU_GCONNECT_KIMCHI_STAGING:969, NBU_GCONNECT_KIMCHI_AUTOPUSH:970, ATEST_INTERNAL:971, STREAMZ_REVUE:972, CHROMEOS_CAMERA:973, YETI_YAE:974, SPEAKEASY_WEBRTC_STATS:975, MEDICAL_LABELING:976, 
STREAMZ_HERREVAD:977, OFFLINE_DYNAMIC_PADDING_BASIC:979, GMAIL_DYNAMIC_MAIL_CLIENT:980, FASTDASH:981, STREAMZ_GIL_ANDROID_LIBRARY:982, AIAI_PRIMES:983, BLOG_COMPASS_CLIENT:984, AQUARIUS_LAPIS:986, STREAMZ_NEOS:987, RBM_DEV_CONSOLE:988, STREAMZ_OPA_TV:990, AR_ANSWERS:991, USERPANEL_IOS_PRIMES:992, MDC_CATALOG_ANDROID_PRIMES:993, GMDC_CATALOG_ANDROID_PRIMES:994, GMDC_CATALOG_IOS_PRIMES:2162, G_SUITE_ADD_ONS_CLIENT:996, G_SUITE_ADD_ONS_COUNTERS:1023, AUTOFILL_WITH_GOOGLE_CROWDSOURCING:997, TUNING_FORK:998, 
STREAMZ_GROWTH:999, ULEX_GAMES:1E3, ULEX_GAMES_WEB:1629, ULEX_IN_GAME_UI:1156, ULEX_BOOKS:1001, ULEX_MOVIES:1002, ULEX_OHANA:1397, ULEX_REPLAY_CATALOG:1038, ULEX_BATTLESTAR:1330, ULEX_BATTLESTAR_PCS:1890, ULEX_BATTLESTAR_PSEUDONYMOUS:1772, ULEX_BATTLESTAR_INPUT_SDK:1754, AQUARIUS_LAPIS_ANDROID_PRIMES:1003, AQUARIUS_LAPIS_IOS_PRIMES:1004, CALENDAR_CLIENT_VITALS:1005, CLOUD_CONSOLE_MOBILE:1006, OFFLINE_DYNAMIC_PADDING_ADVANCED:1008, STREAMZ_FEATURE_ATLAS:1009, ORNAMENT_ANDROID:1010, STREAMZ_CORP_VANTAGE:1011, 
STREAMZ_LENSLITE:1013, STREAMZ_UDC:1014, ARCORE_ACTIVE_DIFFS:1015, STREAMZ_PIXEL_RMA:1016, MAESTRO_ANDROID:1017, FIRELOG_TEST:1018, NANDHI_ANDROID:1019, IDENTITY_GMSCORE:1020, EMBMS:1021, CALENDAR_UNIFIED_SYNC:1026, GAL_PROVIDER:1027, GUARDIAN_VULCAN:1028, STREAMZ_TASKS_ANDROID:1029, A11Y_MENU:1030, SEARCHLITE_HISTORY:1031, SEEKH_ANDROID_PRIMES:1032, COMPANION_DATA_SERVICE_ANDROID_PRIMES:1033, ARCORE_SDK:1034, BILICAM_IOS_PRIMES:1035, PIXELCARE:1036, FIND_MY_DEVICE_ANDROID_PRIMES:1037, APPLIEDVR_CLIENT:1039, 
ALECS:1040, NBUCAST:1041, FIELDOFFICER_ANDROID_PRIMES:1042, YETI_CRASH:1043, YETI_GAMER_INTERACTION:1044, SAFETYHUB_COUNTERS:1045, ANDROID_CHECKIN_EVENT_LOG:1047, VEHICLE_API:1048, ATTENTION_LOG:1049, STREAMZ_GCM:1050, BIT_SIZE_ANALYZER:1051, PEOPLE_COMPANION:1052, FPOP_CLIENT:1053, LOCATION_VOILATILE_CACHE_STATS:1054, PHOTOS_GO:1055, URBAN_MOBILITY:1057, GOOGLE_PODCASTS_IOS:1058, GOOGLE_PODCASTS_IOS_PRIMES:1601, STREAMZ_GOOGLE_PODCASTS:1736, STREAMZ_FOOTPRINTS_CONSENT_FLOWS:1059, PRESTO:1060, ARCORE_ARVIEWER:1061, 
ARCORE_ARVIEWER_ACTIVE_DIFFS:1074, AMP_ACTIONS_CLIENT_COUNTERS:1062, AR_MEASURE:1063, FAMILY_CARE_IOS:1064, FAMILY_CARE_ANDROID:1065, INTUITIVE_PLATFORM:1066, STREAMZ_LOCATION_CONSENT_FLOWS:1067, CLEARCUT_FUNNEL:1068, BULLETIN_CONTRIBUTOR:1069, CRUISER:1070, GMAIL_SMARTCOMPOSE:1071, CABRIO_CONSUMER:1072, IOS_AUTHZEN:1073, LIGHTER_ANDROID_PRIMES:1075, SCHEDULER_EVENT:1076, RIVET_ANDROID_PRIMES:1077, RIVET_IOS_PRIMES:1078, NBU_CRICKET_WORLD_CUP:1079, MAGICEYE_APP:1080, PRIVACYONE_TOOLBAR:1081, GCONNECT_VSTATION:1082, 
NEXTGENRETAIL:1083, TRAVEL_HOTELIER:1084, GCONNECT_MUSTARD:1085, STREAMZ_SLIMPACT:1086, GUARDIAN_WOLF:1087, TIVOLI:1088, HEMIS_ANDROID_PRIMES:1089, IPCONNECTIVITY_PLATFORM_STATS_GMSCORE:1090, TELECOM_PLATFORM_STATS_GMSCORE:1091, TELEPHONY_PLATFORM_STATS_GMSCORE:1092, WIFI_PLATFORM_STATS_GMSCORE:1093, ASSISTJS_CLIENT:1094, BLOOM:1095, THANKS_CLIENT:1096, WEB_YOLO_CLIENT:1097, STREAMZ_RCS:1098, GOOGLE_SUPPORT_SERVICES_ANDROID_PRIMES:1099, DEVOPS_CONSOLE:1100, CHROME_EA_DRAWING:1101, LIFESCIENCE_VEIL:1102, 
STREAMZ_SODA:1103, OVERLAY:1104, OVERLAY_ANDROID_PRIMES:1132, BLOOM_IOS_PRIMES:1105, BLOOM_ANDROID_PRIMES:1157, STREAMZ_GNEWS_WEB:1106, GROW:1107, ANDROID_CHECKIN_METRICS_LOG:1108, RECORDER_ANDROID_PRIMES:1109, APPS_PLATFORM_CONSOLE:1110, ASSISTANT_PROACTIVE_SUGGESTIONS:1111, GOOGLE_SIGN_IN_WEB_CLIENT:1112, YETI_PCAP:1113, WING_OPENSKY_IOS_PRIMES:1115, PRIMESVIZ_USAGE:1116, VISTAAR:1118, VISTAAR_DEV:1119, AUTOMON:1121, STREAMZ_AUTOMON:1819, WEAR_DENALI_ANDROID_COMPANION_ANDROID_PRIMES:1122, STREAMZ_HOME_ENTERPRISE_RESOURCEPICKER:1123, 
TRAVEL_HOTEL_EDITOR:1124, ASSISTANT_GO2PHONE:1125, DORY:1126, WAYMO_OPS:1127, BILICAM_IOS:1128, EXO:1129, ASSISTANT_KAIOS:1130, GSUITE_GROWTH:1131, GVC_MPS_STATE:1133, STREAMZ_FEDASS:1134, FEDASS_LOGS:1144, FAMILY_CARE_IOS_PRIMES:1135, GMSCORE_SCHEDULER_EVENT:1136, YEARBOOK_ANDROID_PRIMES:1137, PHONESKY_RECOVERY:1138, PAISA_CREDIT_INSTANT_LOAN:1139, ASSISTANT_GO2PHONE_COUNTERS:1141, ASSISTANT_GO_WEB:1142, TV_SETUP:1145, GVC_AUTOZOOM:1146, TALKBACK_ANDROID_PRIMES:1147, PAYMENTS_ORCHESTRATION:1148, 
WEAR:1149, MONITORING_PLATFORM:1150, CSE_PINGBACK:1151, STREAMZ_CROWD_COMPUTE:1152, YETI_IOS_PRIMES:1153, YETI_ANDROID_PRIMES:1154, YETI_ANDROIDTV_PRIMES:1652, SAFETYHUB:1155, PORTABLE_ASSISTANT_MUTATIONS:1158, KONARK:1159, SCREENERS:1160, CULTURAL:1161, PIXEL_MIGRATE_ANDROID_PRIMES:1162, MAESTRO_ANDROID_PRIMES:1163, MILTON:1164, CAST_CORE:1165, CAPMGMT:1166, RESTORE_ANDROID_PRIMES:1167, ATV_REMOTE_SERVICE:1168, PUBLISHING_TRAINING_PWAGNER_ANDROID_PRIMES:1169, AR_MEASURE_ANDROID_PRIMES:1170, STREAMZ_WAYMO_DW:1171, 
FAST_PAIR_VALIDATOR_ANDROID_PRIMES:1172, GHIRE:1173, ATAP_WALNUT_ANDROID:1174, ANDROID_SPEECH_SERVICES_ANDROID_PRIMES:1175, STREAMZ_ANDROID_GSA:1177, NBU_ENVOY_MICROAPP:1178, SOUNDPICKER_ANDROID_PRIMES:1180, NOVA_VE:1181, NOVA_STAGING_VE:1182, NEWSSTAND_DEV:1184, GOOGLE_ONE_SETUP_ANDROID_PRIMES:1185, AGASSI:1186, DREAMLINER_ANDROID_PRIMES:1187, GLAS:1188, JACQUARD_ANDROID_PRIMES:1189, STREAMZ_YURT:1191, SELECT_TO_SPEAK_ANDROID_PRIMES:1192, A11Y_MENU_ANDROID_PRIMES:1193, STREAMZ_NGA:1194, GVC_REMOTE_ANDROID_PRIMES:1195, 
PAYMENTS_ORCHESTRATION_SANDBOX:1196, SEARCH_SELECTOR_ANDROID_PRIMES:1197, LIFEGUARD_ANDROID_PRIMES:1198, TILLY_TOK_ANDROID_PRIMES:1199, AUDITOR_ANDROID_PRIMES:1200, COMPUTE_IMAGE_TOOLS:1201, MDI_SYNC_COMPONENTS_VERBOSE:1202, STREAMZ_LENS_EVAL_TOOLS:1203, GMAIL_TRACE:1204, YETI_PARTNER_PORTAL:1205, FIREBASE_CRASHLYTICS_REPORT:1206, LOCATION_CONSENT:1207, SPARKLIGHT_INTERACTION:1208, ANDROID_AUTOMOTIVE_OS_PLATFORM_STATS:1209, STREAMZ_AUTOMOTIVE_SIGNIN:1210, PAISA_FLUTTER_ANDROID_PRIMES:1211, PAISA_FLUTTER_IOS_PRIMES:1212, 
MINDSEARCH:1213, FIREBASE_CRASHLYTICS_REPORT_TEST:1214, WEAR_COUNTERS:1215, ACTION_BLOCKS_ANDROID_PRIMES:1216, NEXTCODE:1217, SEARCH_AR:1218, SELECT_TO_SPEAK:1219, PAISA_MOVIES:1220, STREAMZ_PAISA_MOVIES:1221, SHOPPING_PROPERTY_NONPROD:1222, STREAMZ_TASKS_IOS:1223, FIREBASE_REMOTE_CONFIG:1224, ROAD_MAPPER:1225, GSUITE_GROWTH_SIGNED_OUT:1228, MDI_SYNC_COMPONENTS_GAIA:1229, TDL:1230, PAYMENTS_MERCHANT_VERTICALS_GAS:1231, SHOPPING_PROPERTY:1232, DASHER_MYDEVICES:1233, CHROMEOS_RECOVERY_ANDROID_PRIMES:1234, 
PEOPLE_INTELLIGENCE:1235, FAMILYLINK_GIL:1237, ROLLOUTS_UI:1239, CAMERA_LITE:1240, STREAMZ_ANDROID_AUTH_ACCOUNT:1241, ANDROID_AUTH_ACCOUNT:1241, GEO_PLACES_MOBILE:1242, STREAMZ_GUARDIAN:1243, WAYMO_SIMULATION_RESULTS:1244, RESEARCH_PANEL_ANDROID_PRIMES:1245, YETI_ABUSE:1246, TINYTASK_ANDROID_PRIMES:1247, DIAGNOSTICSTOOL_ANDROID_PRIMES:1248, FCM_CLIENT_EVENT_LOGGING:1249, PEOPLE_EXPERIMENTS:1250, LENS_INSIGHT_KIT:1251, ACTION_BLOCKS:1252, YOUTUBE_ADMIN_YURT:1253, ASSISTANT_REMINDERS:1254, GPP_TOLL_FRAUD_LOGGER:1255, 
OBAKE:1256, ASSISTANT_HOMEBOY:1257, YOUTUBE_ADMIN_YURT_INTERACTIONS:1258, CAMERALITE_ANDROID_PRIMES:1259, CAMEOS_IOS_PRIMES:1260, CAMEOS_ANDROID_PRIMES:1261, STASH_ANDROID_PRIMES:1262, LOCATION_BLUESKY_STATS:1263, STREAMZ_WEBVIZ:1265, PAISA_MERCHANT_VERIFICATION_CONSOLE:1266, ONEGOOGLEAUTO:1267, STREAMZ_TWEED:1268, CSE_API:1269, NBU_MERRY:1270, PAYMENTS_MERCHANT_VERTICALS_PARKING_UI:1271, P2020_XSUITE:1272, HOBBES_ANDROID_PRIMES:1273, ARCORE_DOWNLOAD_SERVICE:1274, FIND_MY_DEVICE_CLEARCUT:1275, ASSISTANT_MOBILE_WEB:1276, 
STREAMZ_SPIDEBUGGER:1277, COMMS_MESSAGES_WEB:1278, COMMS_MESSAGES_WEB_COUNTERS:1290, STREAMZ_ANDROID_BUG_TOOL:1279, STREAMZ_YT_FLOWS:1280, NEST_GREENENERGY:1281, JACQUARD_SDK:1282, PAYMENTS_CONSUMER_CORE:1283, HUB_IOS_PRIMES:1284, AUTHENTICATOR_ANDROID_PRIMES:1285, APPS_EDU:1286, STREAMZ_PUSHPIN:1287, MYFI:1288, YETI_GRAPHICS_TOOLS:1289, GOOGLE_ANALYTICS_PERSONALIZATION:1291, YOUTUBE_DISPUTES:1292, DEVICELOCK_ANDROID_PRIMES:1293, ARCORE_ANDROID_PRIMES:1294, STREAMZ_CLOUD_CHANNEL_CONSOLE:1295, CLOUD_SUPPORT_PORTAL:1296, 
STREAMZ_AAE_SETUP_WIZARD:1297, PODCASTS_ANDROID_PRIMES:1298, STREAMZ_SHOPPING_VERIFIED_REVIEWS:1299, STREAMZ_XUIKIT_CLIENT_ERRORS:1300, PAYMENTS_MERCHANT_CONSOLE:1302, CULTURAL_ANDROID_PRIMES:1303, BRAILLEIME:1304, PIXEL_TIPS_ANDROID_PRIMES:1305, FEDASS_COUNTERS:1307, STREAMZ_CAVY:1308, CAVY:2188, CONTRIBUTOR_STUDIO:1309, HEALTH_CONSUMER_ANDROID_PRIMES:1515, HEALTH_CONSUMER_IOS_PRIMES:1310, SCOOBY_BUGLE_LOG:1312, GOOGLE_APP_BROWSER_HISTORY:1313, CHROME_EA_A4:1315, NAVIGATION_SDK_COUNTERS:1316, BUSINESS_VOICE:1317, 
SMARTCONNECT_ANDROID_PRIMES:1318, FINANCE_FGC:1319, VMS_HAL_STATS:1320, DEVICELOCK_ANDROID:1321, SPLINTER_ANDROID_PRIMES:1322, SCALED_SUPPORT:1323, SCALED_SUPPORT_INTERNAL:1324, SCHEDULE:1325, LOCATION_TRANSPARENCY:1327, INTERVIEW_ASSESSMENT:1328, CORP_APPLICATION_RELIABILITY:1331, SILK_NATIVE:1332, G_NEWS:1333, STASH:1334, PAISA_FOOD:1335, STREAMZ_CALENDAR_IOS:1336, STREAMZ_AAE_SETUP_WIZARD_PERFORMANCE:1337, GIANT_ANDROID_PRIMES:1338, GIANT_IOS_PRIMES:1344, CLINICIANS_ANDROID_PRIMES:1339, CLINICIANS_IOS_PRIMES:1340, 
STREAMZ_LEGOML_WEB:1341, LIFESCIENCE_VRGP:1342, STREAMZ_LOCATION:1343, P2020_PERFMON:1345, BUG_OBSERVER:1346, INSIGHTS_PANEL_ANDROID_PRIMES:1347, PAISA_MICROAPPS_WEB:1348, SEARCH_PRIMITIVE:1349, ANDROID_WEBLAYER:1350, STREAMZ_CLASSROOM:1352, PAIDTASKS_FRONTEND:1374, AR_STREAMING:1375, WAYMO_DW_TOOLS:1376, TOA_ADMIN:1377, GHIRE_SOURCING:1378, STREAMZ_FIREBASE_CONSOLE_WEB:1379, STREAMZ_ANDROID_AUTH_ATTENUATION:1380, ANDROID_AUTH_ATTENUATION:1380, GHIRE_SOURCING_QA:1381, DRIVE_ONE_DETAILS_PANE:1382, 
ATV_AXEL_PRIMES:1384, JACQUARD_IOS_PRIMES:1385, ONDEVICE_DEBUG_LOGGER:1386, NEARBY_EXPOSURE_NOTIFICATION:1388, FIELDOFFICER:1389, GMSCORE_ANUBIS:1390, MEET_QUALITY_TOOL:1392, TINYTASK_TASKER:1393, PEOPLE_PRIMITIVES:1394, ADMOB_ANDROID_PRIMES:1395, ADMOB_IOS_PRIMES:1396, ADMOB_MOBILE:1492, CAMERA_POSEIDON_ANDROID_PRIMES:1398, ONEREVIEWERTOOL:1399, SPEKTOR:1400, IOS_SSO:1427, CHROME_DISCOVER_ANDROID:1428, CCPSP_FLEET_MONITOR:1429, ZERO_TOUCH_GMSCORE:1430, LIBSMARTHOME:1450, KORMO_SEEKER_ANDROID_PRIMES:1451, 
KORMO_SEEKER:1487, STREAMZ_SMART_DISPLAY_WEB_CAST_APP:1452, RECAPTCHA:1453, DHARMA:1454, CROWDSOURCE:1455, ANDROID_INCREMENTAL:1456, PREMIUM_ASSISTANT:1457, MEDIA_HOME_ANDROID_PRIMES:1459, GROWTH_UPGRADEPARTY:1477, SPEEDREADER_ANDROID_PRIMES:1478, CSE_API_DEV:1479, PAYMENTS_CATALOG_IOS_PRIMES:1480, TANGOASSISTANTONPAISA:1481, COLLECTION_BASIS_VERIFIER:1484, CAMERA_POSEIDON:1485, ATV_AXEL:1486, STREAMZ_TUTOR:1488, RETAIL_DEMO:1489, ON_DEVICE_ABUSE:1490, FEDERATED_HOME:1493, SMART_DISPLAY_WEB:1494, 
DUO_GIL:1496, STREAMZ_HEART:1497, BM_ENTRYPOINT_JS_SDK:1498, STREAMZ_GELLER:1500, STREAMZ_FEEDBACK_CAR:1501, STREAMZ_WAYMO_WEBRAD:1502, STREAMZ_ONE_DEVELOPER_WORKFLOW:1503, BUSTER_ANDROID_PRIMES:1504, BLOOM_WEB:1505, PRIVACY_PRESERVING_ANALYTICS:1507, SURVEYS:1509, ASSISTANT_AUTO:1510, TV_DREAMX:1511, STREAMZ_LENS_EDUCATION:1512, SODA_CLEARCUT:1513, STREAMZ_XUIKIT_INTERACTIONS:1514, STRETTO_KPI_PII:1516, STRETTO_DEVICE_LOG:1517, BATTLESTAR_RECORDER:1518, BATTLESTAR_RECORDER_TESTING:1649, BATTLESTAR_RECORDER_AUTOMATION:2003, 
VIRTUALCARE:1519, HIRING_UNRESTRICTED:1520, HIRING_RESTRICTED:1596, GMSCORE_DYNAMITE_COUNTERS:1521, PAYMENTS_MERCHANT_VERTICALS_FOOD:1522, STREAMZ_SCREENERS:1523, STREAMZ_YOUTUBE_REVIEW_MANAGER:1525, YOUTUBE_ADMIN_REVIEWMANAGER:1541, TOA_CONSUMER:1526, HOOLICHAT_UI:1527, ATV_REMOTECONTROL_LOGGING:1528, STREAMZ_GEO_WEB_MESSAGING:1529, CALLER_ID_EVENT:1530, ATV_REMOTECONTROL_LOGGING_COUNTERS:1531, VICO:1532, VICO_ANDROID_PRIMES:1533, VICO_COUNTERS:1545, STREAMZ_YOUTUBE_VERTICAL_MANAGER:1534, PAYMENTS_MERCHANT_INSIGHT:1535, 
STREAMZ_DASHER_SIGNUP_UI:1536, STREAMZ_DASHER_SIGNUP_FE:1682, ENX_LOG:1537, SEARCHBOX:1538, TOA_CONNECTOR:1539, WEAR_ASSISTANT_ANDROID_PRIMES:1540, YOUTUBE_ADMIN_VERTICAL_MANAGER:1542, HEALTH_PLANFORCARE:1543, ANDROID_AUTH_BLOCKSTORE:1544, STREAMZ_ANDROID_AUTH_BLOCKSTORE:1762, GOOGLEAUDIOKIT_IOS:1546, HEALTH_APP:1547, GLASS_MEET_ANDROID_PRIMES:1548, CABRIO_DRIVER:1549, PAYMENTSMERCHANTVERTICALSGROCERY:1550, COUGHTRACKER_ANDROID_PRIMES:1551, COUGHTRACKER_CLEARCUT:1645, STREAMZ_PAISA_SOCIAL_CAMPAIGNS:1552, 
PAISA_SOCIAL_CAMPAIGNS:1553, STREAM_PROTECT:1554, NOMNI_ANDROID_PRIMES:1555, ANDROID_ML_PLATFORM:1556, ASSISTANT_INTERPRETER_ANDROID_PRIMES:1557, STREAMZ_EMAIL_LOG_SEARCH:1558, MORRIS_ANDROID_PRIMES:1559, TEAMKIT:1560, CHROME_OS_CERT_INSTALLER:1561, P2DASH:1562, CLOUD_CHANNEL_CONSOLE:1563, ADS_EDITOR:1564, GOOGLE_ONE_IOS_PRIMES:1565, SHOPPINGMERCHANTMETRICS:1566, STREAMZ_FOOD_ORDERING:1567, ROAD_EDITOR:1568, STREAMZ_ROAD_EDITOR:1592, WESTINGHOUSE:1569, STREAMZ_TIMELINE:1570, CONNECTHOME:1571, WING_OPENSKY_WEB:1572, 
WEAR_HEALTH_SERVICES_ANDROID_PRIMES:1573, STREAMZ_FUNDING_CHOICES:1574, AUDITOR_COUNTERS:1575, ANNING:1576, DESKBOOKING:1577, ADAPTIVE_VOLUME:1578, XUIKIT:1579, REVIEWS_WIDGET_API:1580, PIXEL_RECORDER_WEB_PLAYER:1581, XUIKIT_COUNTERS:1582, PLAY_MENTOR_COUNTERS:1583, STA:1584, STA_IOS_PRIMES:1862, STREAMZ_GNEWS_ANDROID:1585, G4CM_VE_VULCAN:1586, EUPHONIA_SHORTCUTS_ANDROID_PRIMES:1587, WEAR_NEWS_ANDROID_PRIMES:1588, RECALL:1589, CIDER_V:1590, STREAMZ_CIDER_V:1598, CIDER_CONNECTOR:2165, GWP_ANDROID_PRIMES:1591, 
STREAMZ_ALKALI_WEB:1593, MOBILE_CONFIGURATION:1597, KORMO_EMPLOYER:1599, VISUAL_FRONTEND:1600, STREAMZ_YOUTUBE_PETRA:1616, YOUTUBE_PETRA:1603, STREAMZ_IREACH_IOS:1604, ANURA_PREPROD:1605, ANURA:1606, ACLAIM:1607, ANDROID_TRUST_TOKEN:1608, STREAMZ_GSI_V2:1609, GEO_VMS_SDK_COUNTERS:1610, WEAR_TAP_AND_PAY_ANDROID_PRIMES:1611, STREAMZ_USERPROFILE:1612, GWP:1613, STREAMZ_LEIBNIZ:1614, INCIDENTFLOW:1615, STREAMZ_OPA_PROACTIVE:1617, GMSCORE_UI_EVENTS:1618, STREAMZ_POTOKENS_ANDROID:1619, STREAMZ_POTOKENS_WEB:1654, 
STREAMZ_DEVICE_INTEGRITY_IOS:2253, STREAMZ_GEO_SERVICES_BUNDLE:1620, PAY_SIDECAR_ANDROID_PRIMES:1621, PAY_SIDECAR:1622, PINPOINT:1623, PIXEL_RETAILDEMO_ANDROID_PRIMES:1624, CHROME_DISCOVER_IOS:1625, YURT_WEB:1626, MAPS_JAVASCRIPT_API_WEB:1627, AREA120_PROMODAY:1630, STREAMZ_TRAVEL_WEB:1631, NOVA_VOICE:1632, TV_NETOSCOPE_ANDROID:1633, PAPERWORK:1634, STORY_KIT:1635, WEAR_SYSUI_ANDROID_PRIMES:1636, WEAR_WEATHER_ANDROID_PRIMES:1637, TRANSCONSOLE:1639, STREAMZ_ONEGOOGLE_IOS:1640, BRAILLEBACK:1641, FONTS_CATALOG:1642, 
CARS:1644, PAYMENTS_CONSUMER_GROWTH:1646, PODCASTS_WEB:1647, ENGAGE_CMS_CONTENT:1648, TFLITE_INFERENCE_COUNTERS:1650, RHEA:1651, PRIVACY_ONE:1653, STREAMZ_LOCATION_PROMPT:1655, YETI_GAMERUN_UPLOADER:1656, SETUP_WIZARD_ANDROID_PRIMES:1657, STREAMZ_YOUTUBE_PARENT_TOOLS_MOBILE:1658, PAISA_GAS:1659, STREAMZ_ADMINCONSOLE_WEB:1660, STREAMZ_JURASSIC_WORLD:1661, PIXEL_RETAILDEMO_ATTRACTLOOP_ANDROID_PRIMES:1662, STRETTO_KPI:1663, HEALTH_APP_QUAL:1664, GMSCORE_CHIP:1666, CLOUD_DEPLOYMENT_MANAGER_CONVERT:1667, 
CLEARCUT_BACKSTOP:1668, STREAMZ_MOKKA_WEB:1669, XPLAT_GMAIL_ANDROID:1670, GROWTH_FEATUREDROPS:1671, SPOT_COUNTERS_GMSCORE:1672, GUIDEBOOKS:1673, DRIVE_SHARING:1675, WEAR_WATCHFACE_ANDROID_PRIMES:1676, BIGTEST:1677, STREAMZ_LENS_INLINE_SRP:1678, GSUITE_GROWTH_INDIVIDUAL:1679, STREAMZ_LENS_ELIGIBILITY:1680, G4CM_VE_WOLF:1681, MEDIAHOME_ANDROID:1683, STREAMZ_LENS_TEXT:1684, AARECEIVER_ANDROID_PRIMES:1685, STREAMZ_NEWT:1686, NEWT:1687, XPLAT_GMAIL_IOS:1688, XPLAT_GMAIL_WEB:1689, STREAMZ_ANDROID_ASSISTANT:1690, 
MARKETPLACE:1691, CSM_CLIENT_ERRORS:1692, PCS_ANDROID_PRIMES:1693, SUPPORTCONTENT:1694, FEEDBACK:1695, FEEDBACK_COUNTERS:1696, IMAGERY_MANAGEMENT_PLATFORM:1697, DRIVE_IOS_VE:1698, TUTOR_CREATOR:1699, PAYMENTS_MERCHANT:1700, STREAMZ_MEDIAHOME_ANDROID:1701, STREAMZ_CARMAN:1702, SECURITYHUB_ANDROID_PRIMES:1704, PCTS_ANDROID_PRIMES:1705, STREAMZ_CHROMECAST_APP_LOG:1706, ANDROID_AUTOMOTIVE_TEMPLATES_HOST:1707, ANDROID_AUTOMOTIVE_TEMPLATES_HOST_ANDROID_PRIMES:1708, ANDROID_AT_GOOGLE:1709, GDT_CLIENT_METRICS:1710, 
CREATOR_CHANNEL:1711, DIALER_WEAR:1712, TASKFLOW_CLIENT_ACTION:1713, GLASSES:1714, SCHEDULE_UNRESTRICTED:1715, SEARCH_NOTIFICATIONS_INBOX:1716, WEAR_ASSISTANT_APPFLOWS:1717, DIALER_WEAR_PRIMES:1718, STREAMZ_DISCOVER_GSA:1719, STREAMZ_DISCOVER_AGSA:1719, STREAMZ_DISCOVER_SEARCHLITE:1720, SV_DUSTBUSTER:1721, ASSISTANT_AUTO_EMBEDDED_ANDROID_PRIMES:1722, GTV_WEB:1723, GUIDELINE_ANDROID_PRIMES:1724, OLP:1725, STREAMZ_LENS_ANDROID:1726, STREAMZ_CONTACT_FLOWS:1727, WEAR_ASSISTANT:1728, ADDA_FRONTEND:1729, 
NOCTIS_BRELLA:1730, DIGITAL_CAR_KEY_ANDROID:1731, STREAMZ_GNP_IOS:1732, STREAMZ_ASSISTANT_AUTO_EMBEDDED:1733, BLUENOTE_METRICS:1734, TYCHO_COUNTERS:1735, DERMASSIST:1737, LIVEPLAYER:1739, G3MARK_SERVICE:1740, CLOUD_DEPLOYMENT_MANAGER_CONVERT_DEV:1741, PAPERWORK_ANDROID_PRIMES:1742, NOMNI_IOS_PRIMES:1743, ANDROID_ML_PLATFORM_3P:1744, TFLITE_INFERENCE_COUNTERS_3P:1745, CHAUFFEUR_ICX_ANDROID_PRIMES:1746, INSIGHTS_PLATFORM_WEB:1747, SUPERG:1748, ENGAGE_SALES_CRM:1750, ENGAGE_SUPPORT_CASES:1751, PRESENCE_MANAGER:1752, 
CUTTLEFISH_METRICS:1753, GMSCORE_THREADNETWORK:1755, SECURITYHUB_ANDROID:1756, FINSERV_CREDIT:1757, ROUTINES_ANDROID_PRIMES:1758, GALLIUM_PORTABLE_PRIMITIVES_ANDROID_PRIMES:1759, ASSISTANT_TITAN:1760, STREAMZ_ASSISTANT_REMINDERS_WEB:1761, SONIC:1763, STREAMZ_MEDIAHOME_ANDROID_MEDIA_BROWSER_WORKER:1764, STREAMZ_MEDIAHOME_ANDROID_VIDEO_PROVIDER:1765, BROADCAST:1767, WEARDC_ANDROID_PRIMES:1768, STREAMZ_GMAIL_ADMIN_SETTINGS:1769, WHO_LABS:1770, STREAMZ_CONTEXTUAL_TASKS:1771, GROWTH_GOOGLE_DIGITAL_GUIDE:1773, 
FITBIT_NIGHT_LIGHT_EVENT:1774, SPEAKEASY:1775, SPEAKEASY_STAGING:1776, GUPS:1777, STREAMZ_GELLER_LIBRARY:1778, STREAMZ_SERVICES_IMMERSIVE:1779, CLEARCUT_STOREFRONT:1780, WIFISETUP_APP_LOG:1781, LOCATION_SHARING_REPORTER:1782, PROACTIVE_SUGGEST_WEB:1783, GEO_WEB_MESSAGING_FRONTEND:1784, CROWDSOURCE_IOS_PRIMES:1785, COREML_ON_DEVICE_SOLUTIONS:1786, APIGEE:1787, P11_COMPANION_ANDROID:1788, A10A20_KPI_PII:1789, A10A20_DEVICE_LOG:1790, STREAMZ_ADS_AART:1791, P11_COMPANION_ANDROID_PRIMES:1792, STOREFRONT_MERCHANT_ANDROID_PRIMES:1793, 
STOREFRONT_MERCHANT_IOS_PRIMES:1794, RANI_ANDROID:1795, P11_COMPANION_IOS:1796, ACCESSIBILITY_READER_ANDROID:1797, KEY_INSIGHTS:1798, GUARDIAN_BIDMC:1799, PAYMENTS_MERCHANT_FLYERS:1800, DOCKMANAGER_ANDROID_PRIMES:1801, CLOUDSYSTEMS:1802, PLAY_CONSOLE_MOBILE_APP:1803, G4CM_VE_BIDMC:1804, XAVIER:1805, GRASSHOPPER_DEV:1806, GTV_MOBILE:1807, GRASSHOPPER:1808, GANPATI2:1809, DIFFUSION_NARRATIVE_BROWSER:1810, ONLINE_INSIGHTS_PANEL_ANDROID_PRIMES:1811, ANDROID_BUG_TOOL_WEB:1812, YOUTUBE_PRODUCER_ANDROID_PRIMES:1813, 
BILLING_TEST_COMPANION_ANDROID:1814, ECG_WEAR_ANDROID_PRIMES:1815, HEALTHDATA_ANDROID_PRIMES:1816, HEALTHDATA_ANDROID:1837, PUBLISHER_CENTER:1817, ANDROID_SNET_TELECOM:1818, PRIVACY_ONE_PRIVACY_COMPASS:1820, CALENDAR_SYNC_ADAPTER:1821, XPLAT_DYNAMITE_WEB:1822, XPLAT_DYNAMITE_ANDROID:1823, XPLAT_DYNAMITE_IOS:1824, STREAMZ_ACCOUNT_SECURITY_WEB:1825, PLAY_CONSOLE_MOBILE_APP_ANDROID_PRIMES:1826, PLAY_CONSOLE_MOBILE_APP_IOS_PRIMES:1827, STREAMZ_BOTGUARD:1828, PIXEL_CAMERA_SERVICES_ANDROID_PRIMES:1829, 
CAST2CLASS_ANDROID_PRIMES:1830, STREAMZ_CAST2CLASS_ANDROID:1836, LOUVRE_ANDROID_ID_VERIFY_ANDROID_PRIMES:1831, STREAMZ_CALENDAR_SSA:1832, EDACLOUD:1833, FEEDBACK_ANDROID:1834, WEAR_CONTACTS_ANDROID_PRIMES:1835, ANALOG:1839, CHROME_WEB_STORE_CONSUMER:1840, GRASSHOPPER_ANDROID_PRIMES:1841, GRASSHOPPER_IOS_PRIMES:1842, P11_SYSUI_ANDROID_PRIMES:1843, PIXEL_WILDLIFE_ANDROID:1844, SNOWBALL:1845, NEST_USONIA:1846, SABON:1847, SUBSCRIPTIONS_IOS:1848, ASSISTANT_TITAN_TNG:1849, DTDI:1850, PHENOTYPE_DEV_TOOLS:1851, 
B2B_MARKETPLACE:1852, B2B_MARKETPLACE_NONPROD:1853, AIRBEAM_ANDROID:1854, GNA_WEAR_ANDROID_PRIMES:1855, GHA_WEAR_ANDROID_LOG:1888, KIDS_SUPERVISION_PRIMES:1856, TINYTASK_REQUESTER:1857, CLOUD_WEB_CGC:1858, STREAMZ_CHORUS_WEB:1859, ASSISTANT_HUBUI_ANDROID_PRIMES:1860, CLASSROOM_DEV:1861, RANI_ANDROID_PRIMES:1863, CONNECT_ADSHEALTH:1864, WORKSPACE_RECOMMENDATION_PLATFORM:1865, PRODUCTION_RESOURCES_FRONTEND:1866, STREAMZ_PRODUCTION_RESOURCES_FRONTEND:2095, TRANSLATE_ANDROID_PRIMES:255, TRANSLATE_IOS_PRIMES:256, 
TRANSLATE:375, TRANSLATE_PERSONAL:1056, TRANSLATE_COMMUNITY_UI:1190, TRANSLATE_INTERACTION:1867, TRANSLATE_ELEMENT:1871, STREAMZ_TRANSLATE_ELEMENT:1939, BUYING_HUB:1868, WEAR_CONTACTS:1869, CAST2CLASS_ANDROID:1870, PLP:1872, L10N_INFRA_OLP:1873, FITBIT_HEALTHCONNECT_INTEGRATION:1874, AD_QUERY_TOOL:1875, STREAMZ_GNP_ANDROID:1876, CAVALRY_WEAROS_ANDROID_PRIMES:1877, GMSCORE_SAFEBOOT:1878, APPLE_FRAMEWORKS_BLAZE_VSCODE:1879, APPLE_FRAMEWORKS_SRL_VSCODE:1880, CORP_LEGAL_REMOVALS_MOANA:1881, GLOBAL_AFFAIRS_WORKS_DEV:1882, 
GLOBAL_AFFAIRS_WORKS_PROD:1883, BOQ_WEB_PRIMES:1884, P11_COMPANION_IOS_PRIMES:1885, DCA_IOS_PRIMES:1886, GAME_PLATFORM:1887, CAVALRY_WEAROS:1889, P11_DEVICE:1891, YETI_SWIM:1892, STREAMZ_AUTOMOTIVE_PRIVACY:1893, P11_COMMS_PRIMES:1894, STREAMZ_DRIVER_MONITORING:1895, STOREFRONT_BUYER:1896, PARTNERSETUP_ANDROID_PRIMES:1897, CHROME_EA_PROJECTOR:1898, ADS_PRIVACY_CONSUMER_HUB:1899, DEEPMIND_FLATBOARD:1900, SEMANTIC_LOCATION_IOS_LOG_EVENTS:1901, PROFILE_SYNC_VERBOSE:1902, PROFILE_SYNC_GAIA:1903, P11_FWS_ANDROID_PRIMES:1904, 
WIMT_ANDROID_PRIMES:1905, A10A20_KPI:1906, EMPI:1907, ADS_PRIVACY_CONSUMER_ATA:1908, SAFE_BROWSING:1909, PHOTOS_ANDROID_WEAR_ANDROID_PRIMES:1911, TASK_RESULTS:1912, STREAMZ_ASSISTANT_PCP:1913, JIGSAW_DISINFO_ACCURACY_TIPS:1914, STREAMZ_ASSISTANT_ROUTINES:1915, KIDS_WEB_VE:1916, RECAPTCHA_ADMIN:1917, NEWROMAN:1918, FITBIT_MOBILE:1919, ACCESSIBILITY_READER_ANDROID_PRIMES:1920, STOREFRONT_BUYER_NONPROD:1921, ASSISTANT_INFRA_ENGPROD_DEMO_ANDROID_PRIMES:1922, CLEARCUT_STOREFRONT_NONPROD:1923, TLOGS:1924, 
FITBIT_DARKHORSE:1926, GTV_IOS_PRIMES:1927, GEO_ADX_ANDROID_PRIMES:1928, AXEL:1929, PLP_NONPROD:1930, CSFIRST_DEV:1931, CSFIRST:1932, SHOPPING_MERCHANT_CENTER:1933, KIDS_PLATFORM:1935, APPSWITCHER3P:1936, CORP_LEGAL_REMOVALS_MOANA_DEV:1937, SERVICEDESK:1938, CLOUDBI_IOS_PRIMES:1940, CLOUDBI_ANDROID_PRIMES:1942, STARGATE:1943, STARGATE_CALLS:2421, STREAMZ_PHYSEC_FE:1944, GSOC_ANDROID_PRIMES:1945, DOTORG_DEV:1946, DOTORG_PROD:1947, FIREBASE_CONSOLE:1948, LEGAL_CONTRACTS_DEV:1949, LEGAL_CONTRACTS_PROD:1950, 
LIS_DEV:1951, LIS_PROD:1952, LEGAL_REMOVALS_DEV:1953, LEGAL_REMOVALS_PROD:1954, STREAMZ_GBOARD_DEBUG_STATION:1955, GEO_ADAS_ANDROID_PRIMES:1956, BOQ_ANGULAR_PRIMES:1957, GEO_ADX_ANDROID:1958, PLAY_CLOUD_SEARCH:1959, STREAMZ_PLAY_CLOUD_SEARCH:2112, EMOJI_WALLPAPER_ANDROID:1960, NEST_INSTALLERAPP_ANDROID_PRIMES:1961, STREAMZ_LENS_SEARCH:1962, ONEPICK:1963, MINPICK:1987, AUTOBOT_IOS:1964, CLOUDBI_MOBILE_VE:1965, WALLET_DYNAMITE:1966, LEGACY_NEST_APP:1967, GOOGLE_HOME:1968, ADMIN_OVERSIGHT:1969, GEO_ADAS_ANDROID:1970, 
SWITCH_ACCESS_STANDALONE_PRIMES:1971, PAYMENT_COLLECTION:1972, IDVERIFY_IOS_PRIMES:1973, FIREBASE_APPQUALITY_SESSION:1974, FIROVER_ANDROID:1975, FITBIT_DEVTOOL_ANALYTICS:1976, PAISA_INVITE_ONLY:1977, FITBIT_WEB_IDENTITY:1978, BEYONDCORP_IOS_PRIMES:1979, STREAMZ_ADS_INTEGRITY_HI_REVIEWER:1980, VOYAGER:1981, RESERVE_WITH_GOOGLE:1982, PIXEL_CAMERA_SERVICES_COUNTERS:1983, TIVOLI_LANGUAGELEARNING:1984, STREAMZ_GROWTH_FEATUREDROPS:1985, STREAMZ_GROWTH_UPGRADEPARTY:1986, PIXEL_RECORDER:1988, MINDY:1989, 
STREAMZ_MEDIAHOME_ANDROID_APP_CONTENT_SERVICE_WORKER:1990, CX_INTERNAL_FRONTEND:1991, ACTIVEUNLOCK_PRIMARY:1992, SEARCH_NOTIFICATIONS:1993, STORE_APP_USAGE:1994, CARESTUDIO_QUAL_US:1995, DEEPMIND_GOODALL_WEB_UI:1996, STREAMZ_DEEPMIND_GOODALL_WEB_UI:2264, STREAMZ_PIXEL_CAMERA_SERVICES:1997, BASEPLATE:1998, NETTED:1999, GOTHAM_BLE:2E3, GMM_EVENT_CODES:2001, DOCS_GIL_WEB:2002, AI_SANDBOX_ANDROID_PRIMES:2004, AI_SANDBOX_IOS_PRIMES:2005, STREAMZ_DRIVE_SHARING:2006, YAQS:2007, FEEDBACK_IOS:2008, AI_SANDBOX:2009, 
CEDI_FE:2010, PIROS:2011, CEDI_FE_NONPROD:2012, TEAMCONNECT:2013, STREAMZ_PARTNERSETUP:2014, WEAR_COMMS_ANDROID_PRIMES:2015, CARESTUDIO_US:2016, MELANGE:2017, STREAMZ_ISXR:2018, CARESTUDIO_EU:2020, EMOJI_WALLPAPER_ANDROID_PRIMES:2021, FITBIT_ANDROID_WEAR:2022, WING_MARKETPLACE_WEB:2023, FITBIT_APP_ANDROID_PRIMES:2024, RMS:2025, FITBIT_APP_IOS_PRIMES:2026, INTUITION_ANDROID_PRIMES:2027, CONTAINER_TAG:2028, GE_EFFICIENCY_HELPER:2029, GLASSES_COMPANION_ANDROID_PRIMES:2030, STREAMZ_TV_LAUNCHER_X:2031, 
SKILLS_STACK:2032, IDENTITY_CONSENT_UI:2034, COLLECTION_BASIS_VERIFIER_CLIENT_ERROR_LOGGING:2036, TRUST3P_CENTER:2037, GCBP_DOWNLOADS_TRACKER:2038, UCP_FRAMEWORK:2039, PONTIS:2040, YTS_DATA:2042, RMS_PROD:2043, CHROMEOS_BUILD_TRACER:2044, GOOGLER_TECH:2045, STREAMZ_AUTH_EARLY_UPDATE:2046, AUTHENTICATOR_IOS:2047, AUTHENTICATOR_IOS_PRIMES:2101, AUTHENTICATOR_ANDROID:2048, DIAGON:2051, IOS_SPEECH:2052, TRUST_AGENT:2053, SLM_CONSOLE:2054, DELIVERY_ONBOARDING_WEB:2055, MESSAGES:2056, VIEWPOINT:2057, PLAY_BILLING_LIBRARY:2058, 
STREAMZ_PORTABLE_STREAMZ:2059, BARD_CHAT_UI:2060, STREAMZ_BARD_CHAT_UI:2392, SPOT_ONBOARDING:2061, MODEM_INSIGHT:2062, SPOT_SIGHTINGS_EXPERIMENT:2063, MARKETPLACE_TRACKING_WEB:2064, PASSIVE_GNSS_REGISTRATION_COUNT:2065, GOOGLE_CAMERA_WEARABLE_ANDROID_PRIMES:2066, STREAMZ_HUBMODE_GSA:2067, COMMERCE_POINTY_FRONTEND:2068, WEAR_CONTACTS_COUNTERS:2069, SEARCH_LABS:2070, STREAMZ_SEARCH_LABS:2071, STREAMZ_PAYMENTS_COFFEE:2072, YT_FLOWS:2073, TV_ADS_LIB:2074, STREAMZ_XMANAGER_WEB:2075, FLOODS_DATAHUB:2076, 
ASPIRIN:2077, BUGLE_SPAM:2078, PHYSEC_FE:2079, STARGATE_ANDROID_PRIMES:2080, STREAMZ_LANGUAGE_LEARNING_WEB:2081, BOQ_WEB_LITE_PRIMES:2082, ARGUS:2083, BOQ_WEB_PRIMES_CRASH:2084, STREAMZ_ASSISTANT_CONTEXT_MONITORING:2085, GRAD:2086, GRAD_NONPROD:2098, MONOSPACE:2087, PIXEL_HEALTH_ANDROID_PRIMES:2088, STREAMZ_FIND_MY_DEVICE_WEB:2089, TAILWIND:2090, PIXELWEATHER_ANDROID_PRIMES:2091, VMS_ANALYZER_ANDROID_PRIMES:2092, CHROME_WEB_STORE_CONSUMER_STAGING:2093, MINOR_MODE_EXIT:2094, GOOGLER_TECH_VE:2099, 
WEAR_MEDIA_SESSIONS_ANDROID_PRIMES:2102, SOCRATIC:2103, BIZBUILDER_ADMIN:2104, STREAMZ_TWEED_HOMESTACK:2105, BTX:2106, KAHANI:2107, STARGATE_ANDROID:2108, BOP_ANDROID_PRIMES:2109, GOOGLE_AUTHENTICATOR:2110, AAE_SETUP_WIZARD_ANDROID_PRIMES:2111, PIXEL_SUPPORT_ANDROID_PRIMES:2113, AGSA_LEGACY:2114, AGSA_GOOGLE_APP:2115, AGSA_NIU:2116, AGSA_ASSISTANT:2117, AGSA_LENS:2118, AGSA_SOUND_SEARCH:2119, AGSA_ASSISTANT_AUTO:2120, AGSA_PRONUNCIATION_LEARNING:2121, AGSA_WEATHER:2122, AGSA_FACEVIEWER:2123, AGSA_SCENEVIEWER:2124, 
AGSA_MORRIS:2125, AGSA_LINGO_CAMERA:2126, AGSA_HOTWORD_LIBRARY:2127, AGSA_PODCASTS:2128, AGSA_WEBGLIDE:2129, AGSA_FEDORA:2130, AGSA_KAHANI:2131, AGSA_APA:2132, AGSA_ASSISTANT_TITAN_TNG:2133, AGSA_PROACTIVE_ASSISTANT:2134, AGSA_READ:2135, AGSA_QUICK_PHRASES:2136, AGSA_BISTO:2137, AGSA_INTERPRETER_MODE:2138, STREAMZ_HOTELS_EXTRANET:2139, COCKPIT:2140, ORDO:2141, AAE_REMOTE_SETUP:2142, PIXEL_PDMS:2143, FITBIT_WEAR_ANDROID_PRIMES:2144, DOMAIN_REGISTRAR:2145, AGSA_INFRASTRUCTURE:2147, AGSA_GOOGLE_APP_COUNTERS:2148, 
AGSA_LENS_COUNTERS:2149, WEARDC_ANDROID:2150, STREAMZ_PRICE_ACCURACY_MVT:2151, FITBIT_WEAR_RETAIL_DEMO_ANDROID_PRIMES:2152, CLASSROOM_ANALYTICS:2153, INTUITION_ANDROID_COUNTERS:2154, INTELCOLLECTIONS:2155, AGSA_TRANSCRIPTION:2156, MAGNIFIER_ANDROID_PRIMES:2157, P11_HEALTH_ANDROID_PRIMES:2158, A10A20_KPI_NONPROD:2159, AGSA_ASSISTANT_INTERACTOR:2160, AGSA_INFRASTRUCTURE_COUNTERS:2161, BIZBUILDER_ADMIN_COUNTERS:2163, DFUSERVICE_ANDROID_PRIMES:2164, AGSA_RESTRICTED:2166, SHAREKIT:2167, PIXELWEATHER_ANDROID:2168, 
WEAR_DEFAULT_WEATHER_PROVIDER_ANDROID_PRIMES:2359, MINIGAMES_ANDROID:2169, GEN_AI_AUTOMATION_SCRIPT:2170, PIXEL_SUPPORT_ANDROID:2171, STREAMZ_PIXEL_SUPPORT_ANDROID:2389, AGSA_TNG_FINANCE_WIDGET:2172, AGSA_XBLEND:2173, STREAMZ_ADMIN_QUARANTINE:2174, MINIGAMES_ANDROID_PRIMES:2175, AMS:2176, PERSONAL_AGENT:2177, PERSONAL_AGENT_ANDROID_PRIMES:2222, STREAMZ_UNITTEST:2178, MAGNIFIER:2179, STREAMZ_MOBILE_ASSISTANT:2180, LIFT_AND_SHIFT_ANDROID:2181, LIFT_AND_SHIFT_ANDROID_PRIMES:2182, IDENTITY_CONSENT_UI_SFOF:2184, 
PROFILE_PRIMITIVES:2185, SETUP_WIZARD_GIL:2186, STYLUS_SHOWCASE_ANDROID_PRIMES:2187, CHROME_PAGEINSIGHTS:2189, AGSA_OMNI:2190, P11_DEVICECAPABILITIES_ANDROID_PRIMES:2191, P11_FRIENDS_ANDROID_PRIMES:2192, P11_GAMEPICKER_ANDROID_PRIMES:2193, P11_PLAYLIST_ANDROID_PRIMES:2194, P11_SMARTBAND_ANDROID_PRIMES:2195, P11_TILES_ANDROID_PRIMES:2196, P11_WATCHFACES_ANDROID_PRIMES:2197, PIXEL_LIVEWALLPAPER_ANDROID_PRIMES:2198, VMS_ANALYZER:2199, MAGNIFIER_ANDROID:2200, FINSERV_CREDIT_STAGING:2201, OBLIX:2202, 
APSKI_DEV:2203, APSKI:2204, KEYCHAIN_IOS:2205, INSTANTBUY_AUTHENTICATOR:2206, EXPERIMENTS_PORTAL:2207, PEOPLE_GROUP:2208, PIXEL_DEVICE_MANAGEMENT_SERVICE_ANDROID_PRIMES:2210, GDM_AI_P_EVAL:2211, TENSORGPS_METRICS:2212, DC_SERVICE:2213, MOTUS_ANDROID_PRIMES:2214, STREAMZ_TOAST:2215, PRIMES_INTERNAL_IOS:2216, ROBIN_IOS:2217, ROBIN_IOS_PSEUDO:2384, ROBIN_ANDROID:2218, ROBIN_ANDROID_PSEUDO:2390, STREAMZ_ROBIN_IOS:2220, ADSERVICES_SAMPLEADS_ANDROID:2219, ADMIN_MOBILE_IOS_PRIMES:2221, MAPS_XR:2223, CELLO:2224, 
GUIDEDHELP:2225, TEEN_GRADUATION:2226, PAYMENTS_MERCHANT_CREDIT:2227, GIS_FIDO:2228, LEGAL_TRADEMARKS_DEV:2229, LEGAL_TRADEMARKS_PROD:2230, STREAMZ_BEYONDCORP_ENTERPRISE_PROXY:2231, IR_CONSOLE:2232, COOKIEMONSTER:2233, STREAMZ_AUDIO_LIBRARY_ANDROID:2234, AGSA_SEARCH_VIDEO_ANDROID:2235, TV_SMART_HOME:2236, TV_SMART_HOME_GOOGLE_LIBRARY:2361, TV_SMART_HOME_ANDROID_PRIMES:2368, STORE_APP_USAGE_PLAY_PASS:2237, CROWDSOURCE_USER_EVENTS:2238, PIXEL_DC_SERVICE_ANDROID_PRIMES:2239, GHP_HEALTH:2240, STREAMZ_LOCAL_SEARCH_SE:2241, 
ANDROID_DIALER_REMOTE:2242, MDS_ANDROID_PRIMES:2243, STREAMZ_CONSENTKIT_MOBILE:2244, PCGC:2245, RISK_PERFORMANCE_MONITOR:2246, PEOPLE_PORTFOLIOS_NONPROD:2247, PEOPLE_PORTFOLIOS_PROD:2248, GMSCORE_CASTAUTH:2249, ROAM_LENNON:2250, ASPEN_WEAROS_ANDROID:2251, STYLUS_SHOWCASE:2252, XP_DEV:2256, NESTCAM_PHOTON:2257, STREAMZ_CALYPSO:2258, AAE_PRIVACY:2259, STREAMZ_UCP_VIEWER:2261, GMAIL_POSTMASTER:2262, AUDIO_LIBRARY_ANDROID:2263, ADEVICE:2265, STREAMZ_GMB_WEB:2267, FAST_PAIR:2268, STREAMZ_ONDEVICESERVER:2269, 
MERCHANTVERSE:2270, APPSHEET_BACKEND_USAGE:2271, TV_SETUP_ARETE:2272, AARECEIVER_ANDROID_TELEMETRY:2273, MATERIAL_ANDROID_TEST_APP_PRIMES:2274, CLEARCUT_PIXEL_DESKCLOCK:2275, ANDROID_BUILD_DX:2276, FUNDING_CHOICES_PUBLISHER_UI:2277, STREAMZ_AEND_DDMS_WEB:2278, STACKS:2279, STREAMZ_GEO_APIS_FOR_AUTOMOTIVE:2281, ZAMM:2283, DATA_MARKETPLACE:2284, EDGE_PERCEPTION_ANDROID_PRIMES:2285, STREAMZ_UCP_NOTES_PAGE_VIEWER:2286, PLAY_INTEGRITY_AIP_TELEMETRY:2287, STREAMZ_ONDEVICE_POLICY:2288, PIXEL_STORY_ANDROID_PRIMES:2289, 
DUCKIE_APPS:2290, RTC_EFFECTS:2291, AGSA_TNG_SPORTS_WIDGET:2292, STREAMZ_TFLEX_UI:2293, PAISA_MERCHANT_FLUTTER_ANDROID_PRIMES:2294, PAISA_MERCHANT_FLUTTER_IOS_PRIMES:2295, STREAMZ_ADS_EWOQ_ANDROID:2296, DELAWARE:2297, PIXEL_WILDLIFE_ANDROID_PRIMES:2298, CLEARCUT_PROVIDERINSTALLER:2299, PODIUM_PLAYGROUND:2300, STORE_ANDROID_PRIMES:2301, NAVIS:2302, DEEPMIND_ALPHAFOLDSERVER_WEB_UI:2303, NECO_GENESIS:2304, GMSCORE_FEEDBACK_CAR:2305, PIXEL_SETUPWIZARD_ANDROID_PRIMES:2306, CALCULATOR_ANDROID:2307, RECORDER_WEAR_ANDROID_PRIMES:2308, 
TECHHUB:2309, CHROME_READALOUD_ANDROID:2310, PIXEL_EUICCSUPPORT_ANDROID:2311, WAYMO_ANDROID:2312, WAYMO_IOS:2313, ENSEMBLE:2314, PAYMENTS_EPHEMERIS:2315, APPS_WORKFLOWS:2316, FLUXX:2317, GEO_APIS_FOR_AUTOMOTIVE_ANDROID_PRIMES:2318, SAP_PLUGIN:2319, YOUTUBE_PRODUCER_IOS_PRIMES:2320, CASEFLOW_PORTAL:2321, PLAY_PAYMENTS_SPLIT:2322, BARD_SHELL_APP_ANDROID_PRIMES:2323, BOQ_ACX_PRIMES:2324, ACX_PRIMES:2325, ANDROID_DREAMS:2326, BOQ_WEB_DEMOS:2327, GIL_CALYPSO:2328, STREAMZ_ACLAIM:2329, ANDROID_DIALER_ANONYMOUS:2330, 
CUBES:2331, TFLEX_UI:2333, XFLOW_UI:2548, ASPEN_WEAROS_ANDROID_PRIMES:2334, MERCHANT_COMPANION:2335, STREAMZ_LENS_IOS:2336, STREAMZ_STYLUS_SHOWCASE_ANDROID:2337, STREAMZ_GMM_ON_DEVICE_GRPC:2338, STREAMZ_ONE_PRESENCE_PROFILE:2339, STREAMZ_CHAT_SPACE_MANAGEMENT:2340, GEO_DICE_COUNTERS:2342, GEO_DICE_EVENTS:2343, ENSEMBLE_PRIMES:2344, CLOUD_WEB3_PORTAL:2345, GEO_APIS_FOR_AUTOMOTIVE_ANDROID:2346, IP_PROTECT:2347, CORP_GLOBALAFFAIRS_FIDO_CHIP:2348, PHOTOMATH_IOS_PRIMES:2349, PRIMES_SAMBAL:2350, AGSA_MDD_ANDROID:2351, 
MARKETING_STUDIO:2352, SAFETYHUB_SENSOR_DATA:2353, STREAMZ_CONTEXT_AWARE_ACCESS_WEB:2354, FAMILY_SPACE_ANDROID:2355, APPS_ELEMENTS_DEMO:2356, MULTIDEVICE:2357, ADSERVICES_SAMPLEADS_SDK_SANDBOX_CALL_LOG:2360, NAVIGATION_API:2362, ADSERVICES_SAMPLEADS_ADSERVICES_API_CALL_LOG:2363, ADSERVICES_SAMPLEADS_AUCTION_SERVER_CALL_LOG:2364, SEARCH_SELECTOR:2365, CLOUDTOP_PORTAL:2366, GEMINI_IOS_PRIMES:2367, PIXEL_SUPPORT:2369, PLAY_CONSOLE_WEB:2370, SLIDES_GIL_WEB:2371, PLAYDOUGH:2372, SHEETS_GIL_WEB:2373, PIXEL_CREATIVEASSISTANT_ANDROID_PRIMES:2374, 
EDACLOUD_CLIENT:2375, VIDEOS_GIL_WEB:2376, DRAWINGS_GIL_WEB:2377, MALACHITE:2378, DC_SERVICE_PCDE:2379, STREAMZ_GEMINI_SHELL_APP_ANDROID:2380, CLASSROOM_GIL:2381, STREAMZ_FITBIT_ANDROID:2383, SALUS_CLINICAL_STUDY:2385, DESKTOP_SERVICES:2386, AGSA_SEARCH_XR:2387, PIXEL_CREATIVEASSISTANT:2388, CORP_HELPER_ANDROID:2391, ELEMENTS_PLAYGROUND_IOS:2393, APOTHECA:2394, ANDROID_INNER_LOOP_LOG:2395, REALVATAR_PROVIDER_ANDROID_PRIMES:2396, CULTURAL_STORY_EDITOR:2397, STREAMZ_IDENTITYKIT_IOS:2398, FAMILY_SPACE_ANDROID_PRIMES:2400, 
AGSA_IN_APP_UPDATE_ANDROID:2401, GEMKIOSKAPPLAUNCHER_ANDROID_PRIMES:2402, PIXEL_PEARL:2403, PIXEL_PEARL_ANDROID_PRIMES:2452, SAFESTEP_ANDROID:2434, SAFESTEP_ANDROID_GIL:2520, SAFESTEP_ANDROID_PRIMES:2404, SOE_CASEMON2:2405, BRICKLINK:2406, CHROME_WEB_STORE_DEVELOPER_STAGING:2407, XR_PERCEPTION:2408, WSA_LIB:2409, VIZZY_ANDROID_PRIMES:2410, HEALTHMUSE:2411, PAYMENTS_GPAYWEB:2412, PAYMENTS_GPAYWEB_NONPROD:2496, PRODEX:2413, PRODEX_NONPROD:2414, PIXEL_RELATIONSHIPS_ANDROID_PRIMES:2415, CULTURAL_IOS_PRIMES:2416, 
CLEARCUT_CPORTAL:2417, ILLUMINATE:2418, BILLING_TEST_COMPANION_ANDROID_PRIMES:2419, YOUTUBE_ADMIN_SDM:2420, DATA_PROCESSING_CONSOLE:2422, GMSCORE_BLINDAUTH:2423, STREAMZ_DISCOVER_IOS:2424, NEST_USONIA_LINUX:2425, WEAR_ASSISTANT_COUNTERS:2426, PHYSEC_FE_DEV:2427, DEVICE_SUPERVISION_OPT_IN:2428, SEEKH_V2:2429, CLEARCUT_CPORTAL_UNRESTRICTED:2431, STREAMZ_WORKFORCE_POOLS:2432, EDGE_PERCEPTION_ANDROID:2433, GEO_DICE_AUTOMOTIVE_COUNTERS:2435, PIXEL_WATCH_LOGUPLOADER:2436, MERCHANT_BRAND_PROFILE:2437, WEBDEVX:2438, 
STREAMZ_LANDSPEEDER:2439, WEATHER_IMMERSIVE_ANDROID_PRIMES:2440, STREAMZ_KEYCHAIN_WEB:2441, WIZ_PLAYGROUND:2442, RESEARCH_HUB:2443, MYGOOGLE:2444, STREAMZ_PAYMENTS_WEB5:2445, STORE_TEST:2446, MYGOOGLE_NONPROD:2447, GHP_TRACING:2448, CLOUD_RISK_INSIGHTS:2449, PRIMES_FRONTEND_WEB_PRIMES:2450, MOBILESPEC_TEST_ANDROID_PRIMES:2451, CAMPUS_MAPS:2453, CHROME_ENTERPRISE_COMPANION_APP:2454, STREAMZ_YOUTUBE_SDM:2455, VOGON:2456, DASHER_ACCESSCONTROL_UI:2457, IDENTITYKIT_IOS:2458, MENDEL:2459, SALUS_WEAR_SAFETY:2460, 
FILE_GROUP_STORE:2461, AICOMPOSER:2462, MARKETING_ACTIVATION_PLATFORM:2463, GSTORE_RETAIL_APPFLOWS:2464, LEGO_PERFORMANCE:2465, GDM_ASTRA:2466, MAKERSUITE:2467, GDM_ASTRA_CLEARCUT:2468, LEGO_PERFORMANCE_INTERNAL:2469, PRIMES_SAMPLE_ANDROID_PRIMES:2470, SCRIBE_ANDROID:2471, DOLPHIN_ANDROID:2472, CARBOARD_ANDROID_PRIMES:2473, GDM_ASTRA_ANDROID_PRIMES:2474, PIXEL_WEAR_WEATHER_ANDROID_PRIMES:2475, LANDSPEEDER:2476, SAFETYCORE_ANDROID_PRIMES:2477, CD_UI:2478, AWN_ACQUISITIONS:2479, PROJECTRELATE_ANDROID_PRIMES:2480, 
MAESTRO_WEB:2481, SHAX_GIL:2482, AGSA_HOTWORD_LIBRARY_ANDROID:2483, PARADE_IOS:2553, STREAMZ_PARADE_IOS:2485, YOUTUBE_MOBILE_WEB_PRIMES:2486, AGSA_OMNI_XR:2487, LEGO_CLIENT_ERROR:2488, WING_UTM:2489, DRIVE_EXPERIMENTATION:2490, PQDASH:2491, APIHUB:2492, ON_DEVICE_POLICY:2493, PIXEL_BUDS_DEVICE_TYPE:2494, MEET_CATALOG:2495, WEATHER_IMMERSIVE:2497, TEASPOON:2499, STREAMZ_PIXEL_CREATIVEASSISTANT:2500, WEAR_ASSISTANT_JMODE:2501, SEARCH_QNA_WEB_CREATION_TOOL:2502, STREAMZ_PHOTOMATH_ANDROID:2503, AGSA_GELLER:2504, 
TALOS:2505, USERPANEL_BROWSER_DIAGNOSTIC:2506, P2020_MONITORING_WEB_PRIMES:2507, PIXEL_NEOSETUP_ANDROID_PRIMES:2508, YOUTUBE_TVHTML5_WEB_PRIMES:2509, BOREALISAPP:2510, AGSA_SEAPORT_LIBRARY_ANDROID:2511, CLOUDBREAK_ANDROID_PRIMES:2512, DEVSITE_TENANT_EXTENSION:2514, MEMORA_ANDROID_PRIMES:2515, MEMORA_IOS_PRIMES:2563, PIXEL_RELATIONSHIPS:2516, MINIGAMESGMS_ANDROID_PRIMES:2517, VERIFIER_ANDROID_PRIMES:2518, PROTOSTAR_ANDROID_PRIMES:2519, KRAGLE:2521, MINIGAMESGMS_ANDROID:2522, CLEARCUT_BUGANIZER:2523, 
ANDROID_EDIT_MONITOR_LOG:2524, P2020_EXTENSIBILITY_HUB:2525, MINIGAMESGMS:2526, NEUROSURGEON:2527, AWESOME_CAMERA_ANDROID_PRIMES:2528, ALUMINIUM_CAMERA_ANDROID_PRIMES:2528, GENESIS_ANDROID_PRIMES:2529, GENESIS_IOS_PRIMES:2544, WEBPROTECT:2530, PIXEL_SUPPORT_MAKE_METRICS:2531, BOREALISAPP_DEV:2532, NEON:2534, NEXUS_WEB_PRIMES:2535, MATTERSPACE:2537, SUBZERO:2539, AAE_PERSONALIZATION_GIL:2540, UNISERVE:2541, GHP_COUNTERS:2542, CLEARCUT_DEPRECATED_LOG_SOURCE:2543, CHROME_UPDATER:2545, NEARBY_SHARE_WINDOWS:2546, 
STREAMZ_VELES_CHROME_EXTENSION:2550, SUBZERO_PRIMES:2552, IWIMT:2554, KID_ACCOUNT_LIFECYCLE:2555, BATCH_COMPLIANCE_TROUBLESHOOTER:2556, STREAMZ_SAP_PLUGIN:2557, IDENTITY_CONSENT_UI_V2:2558, BEAM:2559, TRANSITPARTNERS:2560, CROS_MALL:2561, WING_OPENSKY_PRO_UI:2562, GDM_ASTRA_CLEARCUT_COUNTERS:2564, SUPPORT_KNOWLEDGE_DIAGNOSTIC_CONSOLE:2565, STREAMZ_TIKTOK:2566}};
var proto = {wireless_android_play_playlog:{}};
proto.wireless_android_play_playlog.LogSourceEnum = {};
proto.wireless_android_play_playlog.LogSourceEnum.LogSource = jspb$e.wireless_android_play_playlog$LogSourceEnum$LogSource;
var module$exports$google3$ccc$abuse$botguard$client$javascript$constants = {VERSION:36, DEFAULT_METRICS_KEY:"_"};
module$exports$google3$ccc$abuse$botguard$client$javascript$constants.CLEARCUT_LOG_SOURCE = jspb$e.wireless_android_play_playlog$LogSourceEnum$LogSource.STREAMZ_BOTGUARD;
function module$contents$google3$ccc$abuse$botguard$client$javascript$experiments_getIdsOfCompatibleExperiments(experimentsState, facadeVersion) {
  facadeVersion = facadeVersion === void 0 ? module$exports$google3$ccc$abuse$botguard$client$javascript$constants.VERSION : facadeVersion;
  var ids = [];
  experimentsState.getExperimentsList().forEach(function(experiment) {
    experiment.getSdkVersion() <= facadeVersion && ids.push(experiment.getExperimentId());
  });
  return ids;
}
function module$contents$google3$ccc$abuse$botguard$client$javascript$experiments_getIdsOfIncompatibleExperiments(experimentsState, facadeVersion) {
  facadeVersion = facadeVersion === void 0 ? module$exports$google3$ccc$abuse$botguard$client$javascript$constants.VERSION : facadeVersion;
  var ids = [];
  experimentsState.getExperimentsList().forEach(function(experiment) {
    experiment.getSdkVersion() > facadeVersion && ids.push(experiment.getExperimentId());
  });
  return ids;
}
;function module$contents$goog$dispose_dispose(obj) {
  obj && typeof obj.dispose == "function" && obj.dispose();
}
goog.dispose = module$contents$goog$dispose_dispose;
function module$contents$goog$disposeAll_disposeAll(var_args) {
  for (var i = 0, len = arguments.length; i < len; ++i) {
    var disposable = arguments[i];
    goog.isArrayLike(disposable) ? module$contents$goog$disposeAll_disposeAll.apply(null, disposable) : module$contents$goog$dispose_dispose(disposable);
  }
}
goog.disposeAll = module$contents$goog$disposeAll_disposeAll;
goog.disposable = {};
goog.disposable.IDisposable = function() {
};
goog.Disposable = function() {
  goog.Disposable.MONITORING_MODE != goog.Disposable.MonitoringMode.OFF && (goog.Disposable.instances_[goog.getUid(this)] = this);
  this.disposed_ = this.disposed_;
  this.onDisposeCallbacks_ = this.onDisposeCallbacks_;
};
goog.Disposable.MonitoringMode = {OFF:0, PERMANENT:1, INTERACTIVE:2};
goog.Disposable.MONITORING_MODE = 0;
goog.Disposable.INCLUDE_STACK_ON_CREATION = !0;
goog.Disposable.instances_ = {};
goog.Disposable.getUndisposedObjects = function() {
  var ret = [], id;
  for (id in goog.Disposable.instances_) {
    goog.Disposable.instances_.hasOwnProperty(id) && ret.push(goog.Disposable.instances_[Number(id)]);
  }
  return ret;
};
goog.Disposable.clearUndisposedObjects = function() {
  goog.Disposable.instances_ = {};
};
goog.Disposable.prototype.disposed_ = !1;
goog.Disposable.prototype.isDisposed = function() {
  return this.disposed_;
};
goog.Disposable.prototype.dispose = function() {
  if (!this.disposed_ && (this.disposed_ = !0, this.disposeInternal(), goog.Disposable.MONITORING_MODE != goog.Disposable.MonitoringMode.OFF)) {
    var uid = goog.getUid(this);
    if (goog.Disposable.MONITORING_MODE == goog.Disposable.MonitoringMode.PERMANENT && !goog.Disposable.instances_.hasOwnProperty(uid)) {
      throw Error(this + " did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call");
    }
    if (goog.Disposable.MONITORING_MODE != goog.Disposable.MonitoringMode.OFF && this.onDisposeCallbacks_ && this.onDisposeCallbacks_.length > 0) {
      throw Error(this + " did not empty its onDisposeCallbacks queue. This probably means it overrode dispose() or disposeInternal() without calling the superclass' method.");
    }
    delete goog.Disposable.instances_[uid];
  }
};
goog.Disposable.prototype[Symbol.dispose] = function() {
  this.dispose();
};
goog.Disposable.prototype.registerDisposable = function(disposable) {
  this.addOnDisposeCallback(goog.partial(module$contents$goog$dispose_dispose, disposable));
};
goog.Disposable.prototype.addOnDisposeCallback = function(callback, opt_scope) {
  this.disposed_ ? opt_scope !== void 0 ? callback.call(opt_scope) : callback() : (this.onDisposeCallbacks_ || (this.onDisposeCallbacks_ = []), opt_scope && (callback = goog.TRUSTED_SITE ? callback.bind(opt_scope) : goog.bind(callback, opt_scope)), this.onDisposeCallbacks_.push(callback));
};
goog.Disposable.prototype.disposeInternal = function() {
  if (this.onDisposeCallbacks_) {
    for (; this.onDisposeCallbacks_.length;) {
      this.onDisposeCallbacks_.shift()();
    }
  }
};
goog.Disposable.isDisposed = function(obj) {
  return obj && typeof obj.isDisposed == "function" ? obj.isDisposed() : !1;
};
var module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers = {}, module$contents$google3$ccc$abuse$botguard$client$javascript$internal_helpers__a;
function module$contents$google3$ccc$abuse$botguard$client$javascript$internal_helpers_suppressUnhandledRejection(promise) {
  promise.then(function() {
  }, function() {
  });
}
module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers.suppressUnhandledRejection = module$contents$google3$ccc$abuse$botguard$client$javascript$internal_helpers_suppressUnhandledRejection;
module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers.Pool = function() {
};
module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers.RefCount = function(object) {
  goog.Disposable.call(this);
  this.object = object;
  this.references = 0;
  this.registerDisposable(object);
};
$jscomp.inherits(module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers.RefCount, goog.Disposable);
module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers.RefCount.prototype.acquire = function() {
  if (this.isDisposed()) {
    throw Error("E:ARD");
  }
  this.references++;
  return this.object;
};
module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers.RefCount.prototype.release = function() {
  --this.references || this.dispose();
};
module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers.SharedDisposable = function() {
  goog.Disposable.apply(this, arguments);
  this.references = 1;
  this[module$contents$google3$ccc$abuse$botguard$client$javascript$internal_helpers__a] = this.dispose;
};
$jscomp.inherits(module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers.SharedDisposable, goog.Disposable);
module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers.SharedDisposable.prototype.share = function() {
  if (this.isDisposed()) {
    throw Error("E:AD");
  }
  this.references++;
  return this;
};
module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers.SharedDisposable.prototype.dispose = function() {
  --this.references || goog.Disposable.prototype.dispose.call(this);
};
module$contents$google3$ccc$abuse$botguard$client$javascript$internal_helpers__a = Symbol.dispose;
jspb$e.botguard$client_side$BgErrorCode = {BG_UNKNOWN_ERROR:0, BG_UNKNOWN_RPC_ERROR:1, BG_RPC_TIMEOUT:10, BG_RPC_ERROR:11, BG_RPC_INVALID_VALUE:31, BG_TIMEOUT:15, BG_WEB_PO_DISPOSED_DURING_REFRESH:20, BG_WEB_PO_UNKNOWN_REFRESH_ERROR:12, BG_WEB_PO_REFRESH_ABORTED:13, BG_WEB_PO_INITIAL_REFRESH_ERROR:14, BG_WEB_PO_CALLBACK_NOT_FOUND:4, BG_WEB_PO_CALLBACK_FAILED:16, BG_WEB_PO_NOT_READY:29, BG_WEB_PO_MINT_ERROR:5, BG_WEB_PO_TOKEN_UNDEFINED:17, BG_WEB_PO_TOKEN_INVALID:18, BG_WEB_PO_CORRUPTED_ERROR_TOKEN:7, 
BG_WEB_PO_CONTENT_BINDING_TOO_LONG:19, BG_WEB_PO_MINT_AFTER_DISPOSE:21, BG_WEB_PO_CACHE_INIT_ERROR:22, BG_WEB_PO_CACHE_READ_ERROR:23, BG_WEB_PO_CACHE_WRITE_ERROR:24, BG_GLOBAL_OBJECT_UNDEFINED:25, BG_LIBRARY_INITIALIZER_UNDEFINED:26, BG_NO_ERROR:27, BG_FACADE_INITIALIZATION_FAILED:28, BG_WEB_PO_UNAVAILABLE_IN_BGE:30};
proto.botguard = {};
proto.botguard.client_side = {};
proto.botguard.client_side.BgErrorCode = jspb$e.botguard$client_side$BgErrorCode;
var module$exports$google3$javascript$frameworks$client$analytics$streamz$constants = {CellType:{UNKNOWN:0, BOOLEAN:1, DOUBLE:2, INT32:3, STRING:4}};
module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType[module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType.UNKNOWN] = "UNKNOWN";
module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType[module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType.BOOLEAN] = "BOOLEAN";
module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType[module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType.DOUBLE] = "DOUBLE";
module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType[module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType.INT32] = "INT32";
module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType[module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType.STRING] = "STRING";
module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType = {UNKNOWN:0, BOOLEAN:1, INT32:2, STRING:3};
module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType[module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType.UNKNOWN] = "UNKNOWN";
module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType[module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType.BOOLEAN] = "BOOLEAN";
module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType[module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType.INT32] = "INT32";
module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType[module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType.STRING] = "STRING";
function module$contents$google3$javascript$frameworks$client$analytics$streamz$field_int32Field(name) {
  return {fieldType:module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType.INT32, fieldName:name};
}
function module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField(name) {
  return {fieldType:module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType.STRING, fieldName:name};
}
;var module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen = {FacadeInitializationCount:function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/fic";
  streamzService.addNewCounter(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("ke"));
}};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeInitializationCount.prototype.increment = function(ke) {
  this.streamzService.incrementCounter(this.metricName, ke);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeInitializationCount.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeInitializationErrorCount = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/fiec";
  streamzService.addNewCounter(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("ke"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_int32Field("ec"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeInitializationErrorCount.prototype.increment = function(ke, ec) {
  this.streamzService.incrementCounter(this.metricName, ke, ec);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeInitializationErrorCount.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeInitializationLatency = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/fil";
  streamzService.addNewEventMetric(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("ke"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeInitializationLatency.prototype.record = function(value, ke) {
  this.streamzService.record(this.metricName, value, ke);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeInitializationLatency.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeChunkCount = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/fcc";
  streamzService.addNewCounter(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_int32Field("ph"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("ke"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeChunkCount.prototype.increment = function(ph, ke) {
  this.streamzService.incrementCounter(this.metricName, ph, ke);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeChunkCount.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeChunkDuration = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/fcd";
  streamzService.addNewEventMetric(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_int32Field("ph"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("ke"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeChunkDuration.prototype.record = function(value, ph, ke) {
  this.streamzService.record(this.metricName, value, ph, ke);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeChunkDuration.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeSnapshotCount = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/fsc";
  streamzService.addNewCounter(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("ke"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeSnapshotCount.prototype.increment = function(ke) {
  this.streamzService.incrementCounter(this.metricName, ke);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeSnapshotCount.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeSnapshotLatency = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/fsl";
  streamzService.addNewEventMetric(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("ke"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeSnapshotLatency.prototype.record = function(value, ke) {
  this.streamzService.record(this.metricName, value, ke);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeSnapshotLatency.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeResponseSize = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/frs";
  streamzService.addNewEventMetric(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("ke"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeResponseSize.prototype.record = function(value, ke) {
  this.streamzService.record(this.metricName, value, ke);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeResponseSize.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.WaaRpcLatency = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/wrl";
  streamzService.addNewEventMetric(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("mn"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_int32Field("ac"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_int32Field("sc"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("rk"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("mk"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.WaaRpcLatency.prototype.record = function(value, mn, ac, sc, rk, mk) {
  this.streamzService.record(this.metricName, value, mn, ac, sc, rk, mk);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.WaaRpcLatency.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.EventCount = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/ec";
  streamzService.addNewCounter(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("en"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("mk"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.EventCount.prototype.increment = function(en, mk) {
  this.streamzService.incrementCounter(this.metricName, en, mk);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.EventCount.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.EventLatency = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/el";
  streamzService.addNewEventMetric(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("en"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("rk"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("mk"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.EventLatency.prototype.record = function(value, en, rk, mk) {
  this.streamzService.record(this.metricName, value, en, rk, mk);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.EventLatency.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.ErrorCount = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/cec";
  streamzService.addNewCounter(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_int32Field("ec"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("rk"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("mk"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.ErrorCount.prototype.increment = function(ec, rk, mk) {
  this.streamzService.incrementCounter(this.metricName, ec, rk, mk);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.ErrorCount.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.WebPoColdStartCount = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/po/csc";
  streamzService.addNewCounter(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_int32Field("cs"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("rk"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("mk"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.WebPoColdStartCount.prototype.increment = function(cs, rk, mk) {
  this.streamzService.incrementCounter(this.metricName, cs, rk, mk);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.WebPoColdStartCount.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.CachedPoTokenAvailability = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/po/ctav";
  streamzService.addNewCounter(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("av"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("rk"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("mk"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.CachedPoTokenAvailability.prototype.increment = function(av, rk, mk) {
  this.streamzService.incrementCounter(this.metricName, av, rk, mk);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.CachedPoTokenAvailability.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.WebPoCacheWriteSuccessCount = function(streamzService) {
  this.streamzService = streamzService;
  this.metricName = "/client_streamz/bg/po/cwsc";
  streamzService.addNewCounter(this.metricName, module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("su"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("rk"), module$contents$google3$javascript$frameworks$client$analytics$streamz$field_stringField("mk"));
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.WebPoCacheWriteSuccessCount.prototype.increment = function(su, rk, mk) {
  this.streamzService.incrementCounter(this.metricName, su, rk, mk);
};
module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.WebPoCacheWriteSuccessCount.prototype.getMetric = function() {
  return this.streamzService.getMetric(this.metricName);
};
var module$exports$google3$javascript$common$asserts$enable_goog_asserts = {};
module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS = goog.DEBUG;
goog.debug = {};
function module$contents$goog$debug$Error_DebugError(msg, cause) {
  if (Error.captureStackTrace) {
    Error.captureStackTrace(this, module$contents$goog$debug$Error_DebugError);
  } else {
    var stack = Error().stack;
    stack && (this.stack = stack);
  }
  msg && (this.message = String(msg));
  cause !== void 0 && (this.cause = cause);
}
goog.inherits(module$contents$goog$debug$Error_DebugError, Error);
module$contents$goog$debug$Error_DebugError.prototype.name = "CustomError";
goog.debug.Error = module$contents$goog$debug$Error_DebugError;
goog.dom = {};
goog.dom.NodeType = {ELEMENT:1, ATTRIBUTE:2, TEXT:3, CDATA_SECTION:4, ENTITY_REFERENCE:5, ENTITY:6, PROCESSING_INSTRUCTION:7, COMMENT:8, DOCUMENT:9, DOCUMENT_TYPE:10, DOCUMENT_FRAGMENT:11, NOTATION:12};
goog.asserts = {};
goog.asserts.ENABLE_ASSERTS = module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS;
function module$contents$goog$asserts_AssertionError(messagePattern, messageArgs) {
  for (var JSCompiler_temp_const = module$contents$goog$debug$Error_DebugError.call, splitParts = messagePattern.split("%s"), returnString = "", subLast = splitParts.length - 1, i = 0; i < subLast; i++) {
    returnString += splitParts[i] + (i < messageArgs.length ? messageArgs[i] : "%s");
  }
  JSCompiler_temp_const.call(module$contents$goog$debug$Error_DebugError, this, returnString + splitParts[subLast]);
}
goog.inherits(module$contents$goog$asserts_AssertionError, module$contents$goog$debug$Error_DebugError);
goog.asserts.AssertionError = module$contents$goog$asserts_AssertionError;
module$contents$goog$asserts_AssertionError.prototype.name = "AssertionError";
goog.asserts.DEFAULT_ERROR_HANDLER = function(e) {
  throw e;
};
var module$contents$goog$asserts_errorHandler_ = goog.asserts.DEFAULT_ERROR_HANDLER;
function module$contents$goog$asserts_doAssertFailure(defaultMessage, defaultArgs, givenMessage, givenArgs) {
  var message = "Assertion failed";
  if (givenMessage) {
    message += ": " + givenMessage;
    var args = givenArgs;
  } else {
    defaultMessage && (message += ": " + defaultMessage, args = defaultArgs);
  }
  var e = new module$contents$goog$asserts_AssertionError("" + message, args || []);
  module$contents$goog$asserts_errorHandler_(e);
}
goog.asserts.setErrorHandler = function(errorHandler) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && (module$contents$goog$asserts_errorHandler_ = errorHandler);
};
goog.asserts.assert = function(condition, opt_message, var_args) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && !condition && module$contents$goog$asserts_doAssertFailure("", null, opt_message, Array.prototype.slice.call(arguments, 2));
  return condition;
};
goog.asserts.assertExists = function(value, opt_message, var_args) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && value == null && module$contents$goog$asserts_doAssertFailure("Expected to exist: %s.", [value], opt_message, Array.prototype.slice.call(arguments, 2));
  return value;
};
goog.asserts.fail = function(opt_message, var_args) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && module$contents$goog$asserts_errorHandler_(new module$contents$goog$asserts_AssertionError("Failure" + (opt_message ? ": " + opt_message : ""), Array.prototype.slice.call(arguments, 1)));
};
goog.asserts.assertNumber = function(value, opt_message, var_args) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && typeof value !== "number" && module$contents$goog$asserts_doAssertFailure("Expected number but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));
  return value;
};
goog.asserts.assertString = function(value, opt_message, var_args) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && typeof value !== "string" && module$contents$goog$asserts_doAssertFailure("Expected string but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));
  return value;
};
goog.asserts.assertFunction = function(value, opt_message, var_args) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && typeof value !== "function" && module$contents$goog$asserts_doAssertFailure("Expected function but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));
  return value;
};
goog.asserts.assertObject = function(value, opt_message, var_args) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && !goog.isObject(value) && module$contents$goog$asserts_doAssertFailure("Expected object but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));
  return value;
};
goog.asserts.assertArray = function(value, opt_message, var_args) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && !Array.isArray(value) && module$contents$goog$asserts_doAssertFailure("Expected array but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));
  return value;
};
goog.asserts.assertBoolean = function(value, opt_message, var_args) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && typeof value !== "boolean" && module$contents$goog$asserts_doAssertFailure("Expected boolean but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));
  return value;
};
goog.asserts.assertElement = function(value, opt_message, var_args) {
  !module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS || goog.isObject(value) && value.nodeType == goog.dom.NodeType.ELEMENT || module$contents$goog$asserts_doAssertFailure("Expected Element but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));
  return value;
};
goog.asserts.assertInstanceof = function(value, type, opt_message, var_args) {
  !module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS || value instanceof type || module$contents$goog$asserts_doAssertFailure("Expected instanceof %s but got %s.", [module$contents$goog$asserts_getType(type), module$contents$goog$asserts_getType(value)], opt_message, Array.prototype.slice.call(arguments, 3));
  return value;
};
goog.asserts.assertFinite = function(value, opt_message, var_args) {
  !module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS || typeof value == "number" && isFinite(value) || module$contents$goog$asserts_doAssertFailure("Expected %s to be a finite number but it is not.", [value], opt_message, Array.prototype.slice.call(arguments, 2));
  return value;
};
function module$contents$goog$asserts_getType(value) {
  return value instanceof Function ? value.displayName || value.name || "unknown type name" : value instanceof Object ? value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value) : value === null ? "null" : typeof value;
}
;var module$contents$jspb$binary$utf8_ASSUME_TEXT_ENCODING_AVAILABLE = goog.FEATURESET_YEAR >= 2020;
function module$contents$jspb$binary$utf8_invalid(parsingErrorsAreFatal, codeUnits) {
  if (parsingErrorsAreFatal) {
    throw Error("Invalid UTF8");
  }
  codeUnits.push(65533);
}
function module$contents$jspb$binary$utf8_codeUnitsToString(accum, utf16CodeUnits) {
  var suffix = String.fromCharCode.apply(null, utf16CodeUnits);
  return accum == null ? suffix : accum + suffix;
}
var module$contents$jspb$binary$utf8_isFatalTextDecoderCachableAfterThrowing_ = goog.FEATURESET_YEAR >= 2020 ? !0 : void 0, module$contents$jspb$binary$utf8_fatalDecoderInstance, module$contents$jspb$binary$utf8_nonFatalDecoderInstance, module$contents$jspb$binary$utf8_useTextDecoderDecode = module$contents$jspb$binary$utf8_ASSUME_TEXT_ENCODING_AVAILABLE || typeof TextDecoder !== "undefined", module$contents$jspb$binary$utf8_textEncoderInstance, module$contents$jspb$binary$utf8_HAS_WELL_FORMED_METHOD = 
goog.FEATURESET_YEAR > 2023 || typeof String.prototype.isWellFormed === "function", module$contents$jspb$binary$utf8_useTextEncoderEncode = module$contents$jspb$binary$utf8_ASSUME_TEXT_ENCODING_AVAILABLE || typeof TextEncoder !== "undefined";
function module$contents$jspb$binary$utf8_encodeUtf8(string, rejectUnpairedSurrogates$jscomp$0) {
  rejectUnpairedSurrogates$jscomp$0 = rejectUnpairedSurrogates$jscomp$0 === void 0 ? !1 : rejectUnpairedSurrogates$jscomp$0;
  (0,goog.asserts.assertString)(string);
  if (module$contents$jspb$binary$utf8_useTextEncoderEncode) {
    if (rejectUnpairedSurrogates$jscomp$0 && (module$contents$jspb$binary$utf8_HAS_WELL_FORMED_METHOD ? !string.isWellFormed() : /(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])/.test(string))) {
      throw Error("Found an unpaired surrogate");
    }
    var JSCompiler_temp = (module$contents$jspb$binary$utf8_textEncoderInstance || (module$contents$jspb$binary$utf8_textEncoderInstance = new TextEncoder())).encode(string);
  } else {
    for (var rejectUnpairedSurrogates = rejectUnpairedSurrogates$jscomp$0, bi = 0, buffer = new Uint8Array(3 * string.length), ci = 0; ci < string.length; ci++) {
      var c = string.charCodeAt(ci);
      if (c < 128) {
        buffer[bi++] = c;
      } else {
        if (c < 2048) {
          buffer[bi++] = c >> 6 | 192;
        } else {
          (0,goog.asserts.assert)(c < 65536);
          if (c >= 55296 && c <= 57343) {
            if (c <= 56319 && ci < string.length) {
              var c2 = string.charCodeAt(++ci);
              if (c2 >= 56320 && c2 <= 57343) {
                var codePoint = (c - 55296) * 1024 + c2 - 56320 + 65536;
                buffer[bi++] = codePoint >> 18 | 240;
                buffer[bi++] = codePoint >> 12 & 63 | 128;
                buffer[bi++] = codePoint >> 6 & 63 | 128;
                buffer[bi++] = codePoint & 63 | 128;
                continue;
              } else {
                ci--;
              }
            }
            if (rejectUnpairedSurrogates) {
              throw Error("Found an unpaired surrogate");
            }
            c = 65533;
          }
          buffer[bi++] = c >> 12 | 224;
          buffer[bi++] = c >> 6 & 63 | 128;
        }
        buffer[bi++] = c & 63 | 128;
      }
    }
    JSCompiler_temp = bi === buffer.length ? buffer : buffer.subarray(0, bi);
  }
  return JSCompiler_temp;
}
;goog.async = {};
function module$contents$goog$async$throwException_throwException(exception) {
  goog.global.setTimeout(function() {
    throw exception;
  }, 0);
}
goog.async.throwException = module$contents$goog$async$throwException_throwException;
goog.crypt = {};
goog.crypt.ASYNC_THROW_ON_UNICODE_TO_BYTE = goog.DEBUG;
goog.crypt.TEST_ONLY = {};
goog.crypt.TEST_ONLY.throwException = module$contents$goog$async$throwException_throwException;
goog.crypt.TEST_ONLY.alwaysThrowSynchronously = goog.DEBUG;
goog.crypt.binaryStringToByteArray = function(str) {
  return goog.crypt.stringToByteArray(str, !0);
};
goog.crypt.stringToByteArray = function(str, throwSync) {
  for (var output = [], p = 0, i = 0; i < str.length; i++) {
    var c = str.charCodeAt(i);
    if (c > 255) {
      var err = Error("go/unicode-to-byte-error");
      if (goog.crypt.TEST_ONLY.alwaysThrowSynchronously || throwSync) {
        throw err;
      }
      goog.crypt.ASYNC_THROW_ON_UNICODE_TO_BYTE && goog.crypt.TEST_ONLY.throwException(err);
      output[p++] = c & 255;
      c >>= 8;
    }
    output[p++] = c;
  }
  return output;
};
goog.crypt.byteArrayToString = function(bytes) {
  return goog.crypt.byteArrayToBinaryString(bytes);
};
goog.crypt.byteArrayToBinaryString = function(bytes) {
  if (bytes.length <= 8192) {
    return String.fromCharCode.apply(null, bytes);
  }
  for (var str = "", i = 0; i < bytes.length; i += 8192) {
    var chunk = Array.prototype.slice.call(bytes, i, i + 8192);
    str += String.fromCharCode.apply(null, chunk);
  }
  return str;
};
goog.crypt.byteArrayToHex = function(array, opt_separator) {
  return Array.prototype.map.call(array, function(numByte) {
    var hexByte = numByte.toString(16);
    return hexByte.length > 1 ? hexByte : "0" + hexByte;
  }).join(opt_separator || "");
};
goog.crypt.hexToByteArray = function(hexString) {
  goog.asserts.assert(hexString.length % 2 == 0, "Key string length must be multiple of 2");
  for (var arr = [], i = 0; i < hexString.length; i += 2) {
    arr.push(parseInt(hexString.substring(i, i + 2), 16));
  }
  return arr;
};
goog.crypt.stringToUtf8ByteArray = function(str) {
  return goog.crypt.textToByteArray(str);
};
goog.crypt.textToByteArray = function(str) {
  for (var out = [], p = 0, i = 0; i < str.length; i++) {
    var c = str.charCodeAt(i);
    c < 128 ? out[p++] = c : (c < 2048 ? out[p++] = c >> 6 | 192 : ((c & 64512) == 55296 && i + 1 < str.length && (str.charCodeAt(i + 1) & 64512) == 56320 ? (c = 65536 + ((c & 1023) << 10) + (str.charCodeAt(++i) & 1023), out[p++] = c >> 18 | 240, out[p++] = c >> 12 & 63 | 128) : out[p++] = c >> 12 | 224, out[p++] = c >> 6 & 63 | 128), out[p++] = c & 63 | 128);
  }
  return out;
};
goog.crypt.utf8ByteArrayToString = function(bytes) {
  return goog.crypt.byteArrayToText(bytes);
};
goog.crypt.byteArrayToText = function(bytes) {
  for (var out = [], pos = 0, c = 0; pos < bytes.length;) {
    var c1 = bytes[pos++];
    if (c1 < 128) {
      out[c++] = String.fromCharCode(c1);
    } else if (c1 > 191 && c1 < 224) {
      var c2 = bytes[pos++];
      out[c++] = String.fromCharCode((c1 & 31) << 6 | c2 & 63);
    } else if (c1 > 239 && c1 < 365) {
      var c2$jscomp$0 = bytes[pos++], c3 = bytes[pos++], c4 = bytes[pos++], u = ((c1 & 7) << 18 | (c2$jscomp$0 & 63) << 12 | (c3 & 63) << 6 | c4 & 63) - 65536;
      out[c++] = String.fromCharCode(55296 + (u >> 10));
      out[c++] = String.fromCharCode(56320 + (u & 1023));
    } else {
      var c2$jscomp$1 = bytes[pos++], c3$jscomp$0 = bytes[pos++];
      out[c++] = String.fromCharCode((c1 & 15) << 12 | (c2$jscomp$1 & 63) << 6 | c3$jscomp$0 & 63);
    }
  }
  return out.join("");
};
goog.crypt.xorByteArray = function(bytes1, bytes2) {
  goog.asserts.assert(bytes1.length == bytes2.length, "XOR array lengths must match");
  for (var result = [], i = 0; i < bytes1.length; i++) {
    result.push(bytes1[i] ^ bytes2[i]);
  }
  return result;
};
goog.string = {};
goog.string.internal = {};
goog.string.internal.startsWith = function(str, prefix) {
  return str.lastIndexOf(prefix, 0) == 0;
};
goog.string.internal.endsWith = function(str, suffix) {
  var l = str.length - suffix.length;
  return l >= 0 && str.indexOf(suffix, l) == l;
};
goog.string.internal.caseInsensitiveStartsWith = function(str, prefix) {
  return goog.string.internal.caseInsensitiveCompare(prefix, str.slice(0, prefix.length)) == 0;
};
goog.string.internal.caseInsensitiveEndsWith = function(str, suffix) {
  return goog.string.internal.caseInsensitiveCompare(suffix, str.slice(str.length - suffix.length)) == 0;
};
goog.string.internal.caseInsensitiveEquals = function(str1, str2) {
  return str1.toLowerCase() == str2.toLowerCase();
};
goog.string.internal.isEmptyOrWhitespace = function(str) {
  return /^[\s\xa0]*$/.test(str);
};
goog.string.internal.trim = goog.TRUSTED_SITE && (goog.FEATURESET_YEAR >= 2018 || String.prototype.trim) ? function(str) {
  return str.trim();
} : function(str) {
  return /^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(str)[1];
};
goog.string.internal.caseInsensitiveCompare = function(str1, str2) {
  var test1 = String(str1).toLowerCase(), test2 = String(str2).toLowerCase();
  return test1 < test2 ? -1 : test1 == test2 ? 0 : 1;
};
goog.string.internal.newLineToBr = function(str, opt_xml) {
  return str.replace(/(\r\n|\r|\n)/g, opt_xml ? "<br />" : "<br>");
};
goog.string.internal.htmlEscape = function(str, opt_isLikelyToContainHtmlChars) {
  if (opt_isLikelyToContainHtmlChars) {
    str = str.replace(goog.string.internal.AMP_RE_, "&amp;").replace(goog.string.internal.LT_RE_, "&lt;").replace(goog.string.internal.GT_RE_, "&gt;").replace(goog.string.internal.QUOT_RE_, "&quot;").replace(goog.string.internal.SINGLE_QUOTE_RE_, "&#39;").replace(goog.string.internal.NULL_RE_, "&#0;");
  } else {
    if (!goog.string.internal.ALL_RE_.test(str)) {
      return str;
    }
    str.indexOf("&") != -1 && (str = str.replace(goog.string.internal.AMP_RE_, "&amp;"));
    str.indexOf("<") != -1 && (str = str.replace(goog.string.internal.LT_RE_, "&lt;"));
    str.indexOf(">") != -1 && (str = str.replace(goog.string.internal.GT_RE_, "&gt;"));
    str.indexOf('"') != -1 && (str = str.replace(goog.string.internal.QUOT_RE_, "&quot;"));
    str.indexOf("'") != -1 && (str = str.replace(goog.string.internal.SINGLE_QUOTE_RE_, "&#39;"));
    str.indexOf("\x00") != -1 && (str = str.replace(goog.string.internal.NULL_RE_, "&#0;"));
  }
  return str;
};
goog.string.internal.AMP_RE_ = /&/g;
goog.string.internal.LT_RE_ = /</g;
goog.string.internal.GT_RE_ = />/g;
goog.string.internal.QUOT_RE_ = /"/g;
goog.string.internal.SINGLE_QUOTE_RE_ = /'/g;
goog.string.internal.NULL_RE_ = /\x00/g;
goog.string.internal.ALL_RE_ = /[\x00&<>"']/;
goog.string.internal.whitespaceEscape = function(str, opt_xml) {
  return goog.string.internal.newLineToBr(str.replace(/  /g, " &#160;"), opt_xml);
};
goog.string.internal.contains = function(str, subString) {
  return str.indexOf(subString) != -1;
};
goog.string.internal.caseInsensitiveContains = function(str, subString) {
  return goog.string.internal.contains(str.toLowerCase(), subString.toLowerCase());
};
goog.string.internal.compareVersions = function(version1, version2) {
  for (var order = 0, v1Subs = goog.string.internal.trim(String(version1)).split("."), v2Subs = goog.string.internal.trim(String(version2)).split("."), subCount = Math.max(v1Subs.length, v2Subs.length), subIdx = 0; order == 0 && subIdx < subCount; subIdx++) {
    var v1Sub = v1Subs[subIdx] || "", v2Sub = v2Subs[subIdx] || "";
    do {
      var v1Comp = /(\d*)(\D*)(.*)/.exec(v1Sub) || ["", "", "", ""], v2Comp = /(\d*)(\D*)(.*)/.exec(v2Sub) || ["", "", "", ""];
      if (v1Comp[0].length == 0 && v2Comp[0].length == 0) {
        break;
      }
      order = goog.string.internal.compareElements_(v1Comp[1].length == 0 ? 0 : parseInt(v1Comp[1], 10), v2Comp[1].length == 0 ? 0 : parseInt(v2Comp[1], 10)) || goog.string.internal.compareElements_(v1Comp[2].length == 0, v2Comp[2].length == 0) || goog.string.internal.compareElements_(v1Comp[2], v2Comp[2]);
      v1Sub = v1Comp[3];
      v2Sub = v2Comp[3];
    } while (order == 0);
  }
  return order;
};
goog.string.internal.compareElements_ = function(left, right) {
  return left < right ? -1 : left > right ? 1 : 0;
};
goog.labs = {};
goog.labs.userAgent = {};
goog.labs.userAgent.chromiumRebrands = {};
goog.labs.userAgent.chromiumRebrands.ChromiumRebrand = {GOOGLE_CHROME:"Google Chrome", BRAVE:"Brave", OPERA:"Opera", EDGE:"Microsoft Edge"};
var module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles = {TOGGLE_GoogFlags__use_toggles:!1, TOGGLE_GoogFlags__override_disable_toggles:!1, TOGGLE_GoogFlags__use_user_agent_client_hints__enable:!1, TOGGLE_GoogFlags__async_throw_on_unicode_to_byte__enable:!1, TOGGLE_GoogFlags__jspb_stop_using_repeated_field_sets_from_gencode__disable:!1, TOGGLE_GoogFlags__client_only_wiz_distinct_contexts_for_control_flow_branches__disable:!1, TOGGLE_GoogFlags__wiz_enable_native_promise__enable:!1, 
TOGGLE_GoogFlags__jspb_readonly_repeated_fields__disable:!1, TOGGLE_GoogFlags__jspb_ignore_implicit_extension_deps__disable:!1, TOGGLE_GoogFlags__testonly_disabled_flag__enable:!1, TOGGLE_GoogFlags__testonly_debug_flag__enable:!1, TOGGLE_GoogFlags__testonly_staging_flag__disable:!1, TOGGLE_GoogFlags__testonly_stable_flag__disable:!1};
goog.flags = {};
var module$contents$goog$flags_STAGING = goog.readFlagInternalDoNotUseOrElse(1, goog.FLAGS_STAGING_DEFAULT);
goog.flags.USE_USER_AGENT_CLIENT_HINTS = module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_user_agent_client_hints__enable : goog.readFlagInternalDoNotUseOrElse(610401301, !1);
goog.flags.ASYNC_THROW_ON_UNICODE_TO_BYTE = module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__async_throw_on_unicode_to_byte__enable : goog.readFlagInternalDoNotUseOrElse(899588437, !1);
goog.flags.JSPB_STOP_USING_REPEATED_FIELD_SETS_FROM_GENCODE = module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__override_disable_toggles || !module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_stop_using_repeated_field_sets_from_gencode__disable : goog.readFlagInternalDoNotUseOrElse(188588736, !0);
goog.flags.CLIENT_ONLY_WIZ_DISTINCT_CONTEXTS_FOR_CONTROL_FLOW_BRANCHES = module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__override_disable_toggles || !module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__client_only_wiz_distinct_contexts_for_control_flow_branches__disable : goog.readFlagInternalDoNotUseOrElse(691955189, 
!0);
goog.flags.WIZ_ENABLE_NATIVE_PROMISE = module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? goog.DEBUG || module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__wiz_enable_native_promise__enable : goog.readFlagInternalDoNotUseOrElse(651175828, goog.DEBUG);
goog.flags.JSPB_READONLY_REPEATED_FIELDS = module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? goog.FLAGS_STAGING_DEFAULT && (module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__override_disable_toggles || !module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_readonly_repeated_fields__disable) : goog.readFlagInternalDoNotUseOrElse(653718497, module$contents$goog$flags_STAGING);
goog.flags.JSPB_IGNORE_IMPLICIT_EXTENSION_DEPS = module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? goog.FLAGS_STAGING_DEFAULT && (module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__override_disable_toggles || !module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_ignore_implicit_extension_deps__disable) : goog.readFlagInternalDoNotUseOrElse(660014094, module$contents$goog$flags_STAGING);
goog.flags.TESTONLY_DISABLED_FLAG = module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__testonly_disabled_flag__enable : goog.readFlagInternalDoNotUseOrElse(2147483644, !1);
goog.flags.TESTONLY_DEBUG_FLAG = module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? goog.DEBUG || module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__testonly_debug_flag__enable : goog.readFlagInternalDoNotUseOrElse(2147483645, goog.DEBUG);
goog.flags.TESTONLY_STAGING_FLAG = module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? goog.FLAGS_STAGING_DEFAULT && (module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__override_disable_toggles || !module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__testonly_staging_flag__disable) : goog.readFlagInternalDoNotUseOrElse(2147483646, module$contents$goog$flags_STAGING);
goog.flags.TESTONLY_STABLE_FLAG = module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__override_disable_toggles || !module$exports$google3$third_party$javascript$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__testonly_stable_flag__disable : goog.readFlagInternalDoNotUseOrElse(2147483647, !0);
var module$contents$goog$labs$userAgent_forceClientHintsInTests = !1;
goog.labs.userAgent.setUseClientHintsForTesting = function(use) {
  module$contents$goog$labs$userAgent_forceClientHintsInTests = use;
};
goog.labs.userAgent.useClientHints = function() {
  return goog.flags.USE_USER_AGENT_CLIENT_HINTS || module$contents$goog$labs$userAgent_forceClientHintsInTests;
};
goog.labs.userAgent.util = {};
function module$contents$goog$labs$userAgent$util_getNativeUserAgentString() {
  var navigator = goog.global.navigator;
  if (navigator) {
    var userAgent = navigator.userAgent;
    if (userAgent) {
      return userAgent;
    }
  }
  return "";
}
function module$contents$goog$labs$userAgent$util_getNativeUserAgentData() {
  var navigator = goog.global.navigator;
  return navigator ? navigator.userAgentData || null : null;
}
var module$contents$goog$labs$userAgent$util_userAgentInternal = null, module$contents$goog$labs$userAgent$util_userAgentDataInternal = module$contents$goog$labs$userAgent$util_getNativeUserAgentData();
function module$contents$goog$labs$userAgent$util_getUserAgent() {
  return module$contents$goog$labs$userAgent$util_userAgentInternal == null ? module$contents$goog$labs$userAgent$util_getNativeUserAgentString() : module$contents$goog$labs$userAgent$util_userAgentInternal;
}
function module$contents$goog$labs$userAgent$util_matchUserAgentDataBrand(str) {
  if (!(0,goog.labs.userAgent.useClientHints)()) {
    return !1;
  }
  var data = module$contents$goog$labs$userAgent$util_userAgentDataInternal;
  return data ? data.brands.some(function($jscomp$destructuring$var0) {
    var brand;
    return (brand = $jscomp$destructuring$var0.brand) && (0,goog.string.internal.contains)(brand, str);
  }) : !1;
}
function module$contents$goog$labs$userAgent$util_matchUserAgent(str) {
  return (0,goog.string.internal.contains)(module$contents$goog$labs$userAgent$util_getUserAgent(), str);
}
function module$contents$goog$labs$userAgent$util_matchUserAgentIgnoreCase(str) {
  return (0,goog.string.internal.caseInsensitiveContains)(module$contents$goog$labs$userAgent$util_getUserAgent(), str);
}
function module$contents$goog$labs$userAgent$util_extractVersionTuples(userAgent) {
  for (var versionRegExp = RegExp("([A-Z][\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?", "g"), data = [], match; match = versionRegExp.exec(userAgent);) {
    data.push([match[1], match[2], match[3] || void 0]);
  }
  return data;
}
goog.labs.userAgent.util.ASSUME_CLIENT_HINTS_SUPPORT = !1;
goog.labs.userAgent.util.extractVersionTuples = module$contents$goog$labs$userAgent$util_extractVersionTuples;
goog.labs.userAgent.util.getNativeUserAgentString = module$contents$goog$labs$userAgent$util_getNativeUserAgentString;
goog.labs.userAgent.util.getUserAgent = module$contents$goog$labs$userAgent$util_getUserAgent;
goog.labs.userAgent.util.getUserAgentData = function() {
  return module$contents$goog$labs$userAgent$util_userAgentDataInternal;
};
goog.labs.userAgent.util.matchUserAgent = module$contents$goog$labs$userAgent$util_matchUserAgent;
goog.labs.userAgent.util.matchUserAgentDataBrand = module$contents$goog$labs$userAgent$util_matchUserAgentDataBrand;
goog.labs.userAgent.util.matchUserAgentIgnoreCase = module$contents$goog$labs$userAgent$util_matchUserAgentIgnoreCase;
goog.labs.userAgent.util.resetUserAgentData = function() {
  module$contents$goog$labs$userAgent$util_userAgentDataInternal = module$contents$goog$labs$userAgent$util_getNativeUserAgentData();
};
goog.labs.userAgent.util.setUserAgent = function(userAgent) {
  module$contents$goog$labs$userAgent$util_userAgentInternal = typeof userAgent === "string" ? userAgent : module$contents$goog$labs$userAgent$util_getNativeUserAgentString();
};
goog.labs.userAgent.util.setUserAgentData = function(userAgentData) {
  module$contents$goog$labs$userAgent$util_userAgentDataInternal = userAgentData;
};
var module$exports$goog$labs$userAgent$highEntropy$highEntropyValue = {AsyncValue:function() {
}};
module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.AsyncValue.prototype.getIfLoaded = function() {
};
module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.AsyncValue.prototype.load = function() {
};
module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.HighEntropyValue = function(key) {
  this.key_ = key;
  this.promise_ = this.value_ = void 0;
  this.pending_ = !1;
};
module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.HighEntropyValue.prototype.getIfLoaded = function() {
  if (module$contents$goog$labs$userAgent$util_userAgentDataInternal) {
    return this.value_;
  }
};
module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.HighEntropyValue.prototype.load = function() {
  var $jscomp$async$this$m2110036436$9 = this, userAgentData;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m2110036436$35) {
    if ($jscomp$generator$context$m2110036436$35.nextAddress == 1) {
      userAgentData = module$contents$goog$labs$userAgent$util_userAgentDataInternal;
      if (!userAgentData) {
        return $jscomp$generator$context$m2110036436$35.return(void 0);
      }
      $jscomp$async$this$m2110036436$9.promise_ || ($jscomp$async$this$m2110036436$9.pending_ = !0, $jscomp$async$this$m2110036436$9.promise_ = function() {
        var dataValues;
        return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m2110036436$34) {
          if ($jscomp$generator$context$m2110036436$34.nextAddress == 1) {
            return $jscomp$generator$context$m2110036436$34.setFinallyBlock(2), $jscomp$generator$context$m2110036436$34.yield(userAgentData.getHighEntropyValues([$jscomp$async$this$m2110036436$9.key_]), 4);
          }
          if ($jscomp$generator$context$m2110036436$34.nextAddress != 2) {
            return dataValues = $jscomp$generator$context$m2110036436$34.yieldResult, $jscomp$async$this$m2110036436$9.value_ = dataValues[$jscomp$async$this$m2110036436$9.key_], $jscomp$generator$context$m2110036436$34.return($jscomp$async$this$m2110036436$9.value_);
          }
          $jscomp$generator$context$m2110036436$34.enterFinallyBlock();
          $jscomp$async$this$m2110036436$9.pending_ = !1;
          return $jscomp$generator$context$m2110036436$34.leaveFinallyBlock(0);
        });
      }());
      return $jscomp$generator$context$m2110036436$35.yield($jscomp$async$this$m2110036436$9.promise_, 2);
    }
    return $jscomp$generator$context$m2110036436$35.return($jscomp$generator$context$m2110036436$35.yieldResult);
  });
};
module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.HighEntropyValue.prototype.resetForTesting = function() {
  if (this.pending_) {
    throw Error("Unsafe call to resetForTesting");
  }
  this.value_ = this.promise_ = void 0;
  this.pending_ = !1;
};
module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.Version = function(versionString) {
  this.versionString_ = versionString;
};
module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.Version.prototype.isAtLeast = function(version) {
  return (0,goog.string.internal.compareVersions)(this.versionString_, version) >= 0;
};
var module$exports$goog$labs$userAgent$highEntropy$highEntropyData = {};
module$exports$goog$labs$userAgent$highEntropy$highEntropyData.fullVersionList = new module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.HighEntropyValue("fullVersionList");
module$exports$goog$labs$userAgent$highEntropy$highEntropyData.platformVersion = new module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.HighEntropyValue("platformVersion");
goog.labs.userAgent.browser = {};
var module$contents$goog$labs$userAgent$browser_Brand = {ANDROID_BROWSER:"Android Browser", CHROMIUM:"Chromium", EDGE:"Microsoft Edge", FIREFOX:"Firefox", IE:"Internet Explorer", OPERA:"Opera", SAFARI:"Safari", SILK:"Silk"};
goog.labs.userAgent.browser.Brand = module$contents$goog$labs$userAgent$browser_Brand;
function module$contents$goog$labs$userAgent$browser_useUserAgentDataBrand(ignoreClientHintsFlag) {
  if (!(ignoreClientHintsFlag !== void 0 && ignoreClientHintsFlag || (0,goog.labs.userAgent.useClientHints)())) {
    return !1;
  }
  var userAgentData = module$contents$goog$labs$userAgent$util_userAgentDataInternal;
  return !!userAgentData && userAgentData.brands.length > 0;
}
function module$contents$goog$labs$userAgent$browser_matchOpera() {
  return module$contents$goog$labs$userAgent$browser_useUserAgentDataBrand() ? !1 : module$contents$goog$labs$userAgent$util_matchUserAgent("Opera");
}
function module$contents$goog$labs$userAgent$browser_matchIE() {
  return module$contents$goog$labs$userAgent$browser_useUserAgentDataBrand() ? !1 : module$contents$goog$labs$userAgent$util_matchUserAgent("Trident") || module$contents$goog$labs$userAgent$util_matchUserAgent("MSIE");
}
function module$contents$goog$labs$userAgent$browser_matchEdgeHtml() {
  return module$contents$goog$labs$userAgent$browser_useUserAgentDataBrand() ? !1 : module$contents$goog$labs$userAgent$util_matchUserAgent("Edge");
}
function module$contents$goog$labs$userAgent$browser_matchEdgeChromium() {
  return module$contents$goog$labs$userAgent$browser_useUserAgentDataBrand() ? module$contents$goog$labs$userAgent$util_matchUserAgentDataBrand(module$contents$goog$labs$userAgent$browser_Brand.EDGE) : module$contents$goog$labs$userAgent$util_matchUserAgent("Edg/");
}
function module$contents$goog$labs$userAgent$browser_matchOperaChromium() {
  return module$contents$goog$labs$userAgent$browser_useUserAgentDataBrand() ? module$contents$goog$labs$userAgent$util_matchUserAgentDataBrand(module$contents$goog$labs$userAgent$browser_Brand.OPERA) : module$contents$goog$labs$userAgent$util_matchUserAgent("OPR");
}
function module$contents$goog$labs$userAgent$browser_matchFirefox() {
  return module$contents$goog$labs$userAgent$util_matchUserAgent("Firefox") || module$contents$goog$labs$userAgent$util_matchUserAgent("FxiOS");
}
function module$contents$goog$labs$userAgent$browser_matchSafari() {
  return module$contents$goog$labs$userAgent$util_matchUserAgent("Safari") && !(module$contents$goog$labs$userAgent$browser_matchChrome() || module$contents$goog$labs$userAgent$browser_matchCoast() || module$contents$goog$labs$userAgent$browser_matchOpera() || module$contents$goog$labs$userAgent$browser_matchEdgeHtml() || module$contents$goog$labs$userAgent$browser_matchEdgeChromium() || module$contents$goog$labs$userAgent$browser_matchOperaChromium() || module$contents$goog$labs$userAgent$browser_matchFirefox() || 
  module$contents$goog$labs$userAgent$browser_isSilk() || module$contents$goog$labs$userAgent$util_matchUserAgent("Android"));
}
function module$contents$goog$labs$userAgent$browser_matchCoast() {
  return module$contents$goog$labs$userAgent$browser_useUserAgentDataBrand() ? !1 : module$contents$goog$labs$userAgent$util_matchUserAgent("Coast");
}
function module$contents$goog$labs$userAgent$browser_matchChrome() {
  return module$contents$goog$labs$userAgent$browser_useUserAgentDataBrand() ? module$contents$goog$labs$userAgent$util_matchUserAgentDataBrand(module$contents$goog$labs$userAgent$browser_Brand.CHROMIUM) : (module$contents$goog$labs$userAgent$util_matchUserAgent("Chrome") || module$contents$goog$labs$userAgent$util_matchUserAgent("CriOS")) && !module$contents$goog$labs$userAgent$browser_matchEdgeHtml() || module$contents$goog$labs$userAgent$browser_isSilk();
}
function module$contents$goog$labs$userAgent$browser_matchAndroidBrowser() {
  return module$contents$goog$labs$userAgent$util_matchUserAgent("Android") && !(module$contents$goog$labs$userAgent$browser_matchChrome() || module$contents$goog$labs$userAgent$browser_matchFirefox() || module$contents$goog$labs$userAgent$browser_matchOpera() || module$contents$goog$labs$userAgent$browser_isSilk());
}
goog.labs.userAgent.browser.isOpera = module$contents$goog$labs$userAgent$browser_matchOpera;
goog.labs.userAgent.browser.isIE = module$contents$goog$labs$userAgent$browser_matchIE;
goog.labs.userAgent.browser.isEdge = module$contents$goog$labs$userAgent$browser_matchEdgeHtml;
goog.labs.userAgent.browser.isEdgeChromium = module$contents$goog$labs$userAgent$browser_matchEdgeChromium;
goog.labs.userAgent.browser.isOperaChromium = module$contents$goog$labs$userAgent$browser_matchOperaChromium;
goog.labs.userAgent.browser.isFirefox = module$contents$goog$labs$userAgent$browser_matchFirefox;
goog.labs.userAgent.browser.isSafari = module$contents$goog$labs$userAgent$browser_matchSafari;
goog.labs.userAgent.browser.isCoast = module$contents$goog$labs$userAgent$browser_matchCoast;
goog.labs.userAgent.browser.isIosWebview = function() {
  return (module$contents$goog$labs$userAgent$util_matchUserAgent("iPad") || module$contents$goog$labs$userAgent$util_matchUserAgent("iPhone")) && !module$contents$goog$labs$userAgent$browser_matchSafari() && !module$contents$goog$labs$userAgent$browser_matchChrome() && !module$contents$goog$labs$userAgent$browser_matchCoast() && !module$contents$goog$labs$userAgent$browser_matchFirefox() && module$contents$goog$labs$userAgent$util_matchUserAgent("AppleWebKit");
};
goog.labs.userAgent.browser.isChrome = module$contents$goog$labs$userAgent$browser_matchChrome;
goog.labs.userAgent.browser.isAndroidBrowser = module$contents$goog$labs$userAgent$browser_matchAndroidBrowser;
function module$contents$goog$labs$userAgent$browser_isSilk() {
  return module$contents$goog$labs$userAgent$util_matchUserAgent("Silk");
}
goog.labs.userAgent.browser.isSilk = module$contents$goog$labs$userAgent$browser_isSilk;
function module$contents$goog$labs$userAgent$browser_createVersionMap(versionTuples) {
  var versionMap = {};
  versionTuples.forEach(function(tuple) {
    versionMap[tuple[0]] = tuple[1];
  });
  return function(keys) {
    return versionMap[keys.find(function(key) {
      return key in versionMap;
    })] || "";
  };
}
function module$contents$goog$labs$userAgent$browser_getVersion() {
  var userAgentString = module$contents$goog$labs$userAgent$util_getUserAgent();
  if (module$contents$goog$labs$userAgent$browser_matchIE()) {
    return module$contents$goog$labs$userAgent$browser_getIEVersion(userAgentString);
  }
  var versionTuples = module$contents$goog$labs$userAgent$util_extractVersionTuples(userAgentString), lookUpValueWithKeys = module$contents$goog$labs$userAgent$browser_createVersionMap(versionTuples);
  if (module$contents$goog$labs$userAgent$browser_matchOpera()) {
    return lookUpValueWithKeys(["Version", "Opera"]);
  }
  if (module$contents$goog$labs$userAgent$browser_matchEdgeHtml()) {
    return lookUpValueWithKeys(["Edge"]);
  }
  if (module$contents$goog$labs$userAgent$browser_matchEdgeChromium()) {
    return lookUpValueWithKeys(["Edg"]);
  }
  if (module$contents$goog$labs$userAgent$browser_isSilk()) {
    return lookUpValueWithKeys(["Silk"]);
  }
  if (module$contents$goog$labs$userAgent$browser_matchChrome()) {
    return lookUpValueWithKeys(["Chrome", "CriOS", "HeadlessChrome"]);
  }
  var tuple = versionTuples[2];
  return tuple && tuple[1] || "";
}
goog.labs.userAgent.browser.getVersion = module$contents$goog$labs$userAgent$browser_getVersion;
goog.labs.userAgent.browser.isVersionOrHigher = function(version) {
  return (0,goog.string.internal.compareVersions)(module$contents$goog$labs$userAgent$browser_getVersion(), version) >= 0;
};
function module$contents$goog$labs$userAgent$browser_getIEVersion(userAgent) {
  var rv = /rv: *([\d\.]*)/.exec(userAgent);
  if (rv && rv[1]) {
    return rv[1];
  }
  var version = "", msie = /MSIE +([\d\.]+)/.exec(userAgent);
  if (msie && msie[1]) {
    var tridentVersion = /Trident\/(\d.\d)/.exec(userAgent);
    if (msie[1] == "7.0") {
      if (tridentVersion && tridentVersion[1]) {
        switch(tridentVersion[1]) {
          case "4.0":
            version = "8.0";
            break;
          case "5.0":
            version = "9.0";
            break;
          case "6.0":
            version = "10.0";
            break;
          case "7.0":
            version = "11.0";
        }
      } else {
        version = "7.0";
      }
    } else {
      version = msie[1];
    }
  }
  return version;
}
function module$contents$goog$labs$userAgent$browser_getFullVersionFromUserAgentString(browser) {
  var userAgentString = module$contents$goog$labs$userAgent$util_getUserAgent();
  if (browser === module$contents$goog$labs$userAgent$browser_Brand.IE) {
    return module$contents$goog$labs$userAgent$browser_matchIE() ? module$contents$goog$labs$userAgent$browser_getIEVersion(userAgentString) : "";
  }
  var versionTuples = module$contents$goog$labs$userAgent$util_extractVersionTuples(userAgentString), lookUpValueWithKeys = module$contents$goog$labs$userAgent$browser_createVersionMap(versionTuples);
  switch(browser) {
    case module$contents$goog$labs$userAgent$browser_Brand.OPERA:
      if (module$contents$goog$labs$userAgent$browser_matchOpera()) {
        return lookUpValueWithKeys(["Version", "Opera"]);
      }
      if (module$contents$goog$labs$userAgent$browser_matchOperaChromium()) {
        return lookUpValueWithKeys(["OPR"]);
      }
      break;
    case module$contents$goog$labs$userAgent$browser_Brand.EDGE:
      if (module$contents$goog$labs$userAgent$browser_matchEdgeHtml()) {
        return lookUpValueWithKeys(["Edge"]);
      }
      if (module$contents$goog$labs$userAgent$browser_matchEdgeChromium()) {
        return lookUpValueWithKeys(["Edg"]);
      }
      break;
    case module$contents$goog$labs$userAgent$browser_Brand.CHROMIUM:
      if (module$contents$goog$labs$userAgent$browser_matchChrome()) {
        return lookUpValueWithKeys(["Chrome", "CriOS", "HeadlessChrome"]);
      }
  }
  if (browser === module$contents$goog$labs$userAgent$browser_Brand.FIREFOX && module$contents$goog$labs$userAgent$browser_matchFirefox() || browser === module$contents$goog$labs$userAgent$browser_Brand.SAFARI && module$contents$goog$labs$userAgent$browser_matchSafari() || browser === module$contents$goog$labs$userAgent$browser_Brand.ANDROID_BROWSER && module$contents$goog$labs$userAgent$browser_matchAndroidBrowser() || browser === module$contents$goog$labs$userAgent$browser_Brand.SILK && module$contents$goog$labs$userAgent$browser_isSilk()) {
    var tuple = versionTuples[2];
    return tuple && tuple[1] || "";
  }
  return "";
}
function module$contents$goog$labs$userAgent$browser_versionOf_(browser) {
  if (module$contents$goog$labs$userAgent$browser_useUserAgentDataBrand() && browser !== module$contents$goog$labs$userAgent$browser_Brand.SILK) {
    var matchingBrand = module$contents$goog$labs$userAgent$util_userAgentDataInternal.brands.find(function($jscomp$destructuring$var2) {
      return $jscomp$destructuring$var2.brand === browser;
    });
    if (!matchingBrand || !matchingBrand.version) {
      return NaN;
    }
    var versionParts = matchingBrand.version.split(".");
  } else {
    var fullVersion = module$contents$goog$labs$userAgent$browser_getFullVersionFromUserAgentString(browser);
    if (fullVersion === "") {
      return NaN;
    }
    versionParts = fullVersion.split(".");
  }
  return versionParts.length === 0 ? NaN : Number(versionParts[0]);
}
function module$contents$goog$labs$userAgent$browser_isAtLeast(brand, majorVersion) {
  (0,goog.asserts.assert)(Math.floor(majorVersion) === majorVersion, "Major version must be an integer");
  return module$contents$goog$labs$userAgent$browser_versionOf_(brand) >= majorVersion;
}
goog.labs.userAgent.browser.isAtLeast = module$contents$goog$labs$userAgent$browser_isAtLeast;
goog.labs.userAgent.browser.isAtMost = function(brand, majorVersion) {
  (0,goog.asserts.assert)(Math.floor(majorVersion) === majorVersion, "Major version must be an integer");
  return module$contents$goog$labs$userAgent$browser_versionOf_(brand) <= majorVersion;
};
var module$contents$goog$labs$userAgent$browser_HighEntropyBrandVersion = function(brand, useUach, fallbackVersion) {
  this.brand_ = brand;
  this.version_ = new module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.Version(fallbackVersion);
  this.useUach_ = useUach;
};
module$contents$goog$labs$userAgent$browser_HighEntropyBrandVersion.prototype.getIfLoaded = function() {
  var $jscomp$this$1683157560$99 = this;
  if (this.useUach_) {
    var loadedVersionList = module$exports$goog$labs$userAgent$highEntropy$highEntropyData.fullVersionList.getIfLoaded();
    if (loadedVersionList !== void 0) {
      var matchingBrand = loadedVersionList.find(function($jscomp$destructuring$var4) {
        return $jscomp$this$1683157560$99.brand_ === $jscomp$destructuring$var4.brand;
      });
      (0,goog.asserts.assertExists)(matchingBrand);
      return new module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.Version(matchingBrand.version);
    }
  }
  if (module$contents$goog$labs$userAgent$browser_preUachHasLoaded) {
    return this.version_;
  }
};
module$contents$goog$labs$userAgent$browser_HighEntropyBrandVersion.prototype.load = function() {
  var $jscomp$async$this$1683157560$59 = this, loadedVersionList, matchingBrand;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1683157560$106) {
    if ($jscomp$generator$context$1683157560$106.nextAddress == 1) {
      return $jscomp$async$this$1683157560$59.useUach_ ? $jscomp$generator$context$1683157560$106.yield(module$exports$goog$labs$userAgent$highEntropy$highEntropyData.fullVersionList.load(), 5) : $jscomp$generator$context$1683157560$106.yield(0, 3);
    }
    if ($jscomp$generator$context$1683157560$106.nextAddress != 3 && (loadedVersionList = $jscomp$generator$context$1683157560$106.yieldResult, loadedVersionList !== void 0)) {
      return matchingBrand = loadedVersionList.find(function($jscomp$destructuring$var6) {
        return $jscomp$async$this$1683157560$59.brand_ === $jscomp$destructuring$var6.brand;
      }), (0,goog.asserts.assertExists)(matchingBrand), $jscomp$generator$context$1683157560$106.return(new module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.Version(matchingBrand.version));
    }
    module$contents$goog$labs$userAgent$browser_preUachHasLoaded = !0;
    return $jscomp$generator$context$1683157560$106.return($jscomp$async$this$1683157560$59.version_);
  });
};
var module$contents$goog$labs$userAgent$browser_preUachHasLoaded = !1;
goog.labs.userAgent.browser.loadFullVersions = function() {
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1683157560$107) {
    if ($jscomp$generator$context$1683157560$107.nextAddress == 1) {
      return module$contents$goog$labs$userAgent$browser_useUserAgentDataBrand(!0) ? $jscomp$generator$context$1683157560$107.yield(module$exports$goog$labs$userAgent$highEntropy$highEntropyData.fullVersionList.load(), 2) : $jscomp$generator$context$1683157560$107.jumpTo(2);
    }
    module$contents$goog$labs$userAgent$browser_preUachHasLoaded = !0;
    $jscomp$generator$context$1683157560$107.jumpToEnd();
  });
};
goog.labs.userAgent.browser.resetForTesting = function() {
  module$contents$goog$labs$userAgent$browser_preUachHasLoaded = !1;
  module$exports$goog$labs$userAgent$highEntropy$highEntropyData.fullVersionList.resetForTesting();
};
function module$contents$goog$labs$userAgent$browser_fullVersionOf(browser) {
  var fallbackVersionString = "";
  module$contents$goog$labs$userAgent$browser_isAtLeast(module$contents$goog$labs$userAgent$browser_Brand.CHROMIUM, 98) || (fallbackVersionString = module$contents$goog$labs$userAgent$browser_getFullVersionFromUserAgentString(browser));
  var useUach = browser !== module$contents$goog$labs$userAgent$browser_Brand.SILK && module$contents$goog$labs$userAgent$browser_useUserAgentDataBrand(!0);
  if (useUach) {
    if (!module$contents$goog$labs$userAgent$util_userAgentDataInternal.brands.find(function($jscomp$destructuring$var8) {
      return $jscomp$destructuring$var8.brand === browser;
    })) {
      return;
    }
  } else if (fallbackVersionString === "") {
    return;
  }
  return new module$contents$goog$labs$userAgent$browser_HighEntropyBrandVersion(browser, useUach, fallbackVersionString);
}
goog.labs.userAgent.browser.fullVersionOf = module$contents$goog$labs$userAgent$browser_fullVersionOf;
goog.labs.userAgent.browser.getVersionStringForLogging = function(browser) {
  if (module$contents$goog$labs$userAgent$browser_useUserAgentDataBrand(!0)) {
    var fullVersionObj = module$contents$goog$labs$userAgent$browser_fullVersionOf(browser);
    if (fullVersionObj) {
      var fullVersion = fullVersionObj.getIfLoaded();
      if (fullVersion) {
        return fullVersion.versionString_;
      }
      var matchingBrand = module$contents$goog$labs$userAgent$util_userAgentDataInternal.brands.find(function($jscomp$destructuring$var10) {
        return $jscomp$destructuring$var10.brand === browser;
      });
      (0,goog.asserts.assertExists)(matchingBrand);
      return matchingBrand.version;
    }
    return "";
  }
  return module$contents$goog$labs$userAgent$browser_getFullVersionFromUserAgentString(browser);
};
goog.labs.userAgent.platform = {};
function module$contents$goog$labs$userAgent$platform_useUserAgentDataPlatform(ignoreClientHintsFlag) {
  if (!(ignoreClientHintsFlag !== void 0 && ignoreClientHintsFlag || (0,goog.labs.userAgent.useClientHints)())) {
    return !1;
  }
  var userAgentData = module$contents$goog$labs$userAgent$util_userAgentDataInternal;
  return !!userAgentData && !!userAgentData.platform;
}
function module$contents$goog$labs$userAgent$platform_isAndroid() {
  return module$contents$goog$labs$userAgent$platform_useUserAgentDataPlatform() ? module$contents$goog$labs$userAgent$util_userAgentDataInternal.platform === "Android" : module$contents$goog$labs$userAgent$util_matchUserAgent("Android");
}
function module$contents$goog$labs$userAgent$platform_isIpod() {
  return module$contents$goog$labs$userAgent$util_matchUserAgent("iPod");
}
function module$contents$goog$labs$userAgent$platform_isIphone() {
  return module$contents$goog$labs$userAgent$util_matchUserAgent("iPhone") && !module$contents$goog$labs$userAgent$util_matchUserAgent("iPod") && !module$contents$goog$labs$userAgent$util_matchUserAgent("iPad");
}
function module$contents$goog$labs$userAgent$platform_isIpad() {
  return module$contents$goog$labs$userAgent$util_matchUserAgent("iPad");
}
function module$contents$goog$labs$userAgent$platform_isIos() {
  return module$contents$goog$labs$userAgent$platform_isIphone() || module$contents$goog$labs$userAgent$platform_isIpad() || module$contents$goog$labs$userAgent$platform_isIpod();
}
function module$contents$goog$labs$userAgent$platform_isMacintosh() {
  return module$contents$goog$labs$userAgent$platform_useUserAgentDataPlatform() ? module$contents$goog$labs$userAgent$util_userAgentDataInternal.platform === "macOS" : module$contents$goog$labs$userAgent$util_matchUserAgent("Macintosh");
}
function module$contents$goog$labs$userAgent$platform_isLinux() {
  return module$contents$goog$labs$userAgent$platform_useUserAgentDataPlatform() ? module$contents$goog$labs$userAgent$util_userAgentDataInternal.platform === "Linux" : module$contents$goog$labs$userAgent$util_matchUserAgent("Linux");
}
function module$contents$goog$labs$userAgent$platform_isWindows() {
  return module$contents$goog$labs$userAgent$platform_useUserAgentDataPlatform() ? module$contents$goog$labs$userAgent$util_userAgentDataInternal.platform === "Windows" : module$contents$goog$labs$userAgent$util_matchUserAgent("Windows");
}
function module$contents$goog$labs$userAgent$platform_isChromeOS() {
  return module$contents$goog$labs$userAgent$platform_useUserAgentDataPlatform() ? module$contents$goog$labs$userAgent$util_userAgentDataInternal.platform === "Chrome OS" : module$contents$goog$labs$userAgent$util_matchUserAgent("CrOS");
}
function module$contents$goog$labs$userAgent$platform_isKaiOS() {
  return module$contents$goog$labs$userAgent$util_matchUserAgentIgnoreCase("KaiOS");
}
function module$contents$goog$labs$userAgent$platform_getVersion() {
  var userAgentString = module$contents$goog$labs$userAgent$util_getUserAgent(), version = "";
  if (module$contents$goog$labs$userAgent$platform_isWindows()) {
    var re = /Windows (?:NT|Phone) ([0-9.]+)/;
    var match = re.exec(userAgentString);
    version = match ? match[1] : "0.0";
  } else if (module$contents$goog$labs$userAgent$platform_isIos()) {
    re = /(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/;
    var match$jscomp$0 = re.exec(userAgentString);
    version = match$jscomp$0 && match$jscomp$0[1].replace(/_/g, ".");
  } else if (module$contents$goog$labs$userAgent$platform_isMacintosh()) {
    re = /Mac OS X ([0-9_.]+)/;
    var match$jscomp$1 = re.exec(userAgentString);
    version = match$jscomp$1 ? match$jscomp$1[1].replace(/_/g, ".") : "10";
  } else if (module$contents$goog$labs$userAgent$platform_isKaiOS()) {
    re = /(?:KaiOS)\/(\S+)/i;
    var match$jscomp$2 = re.exec(userAgentString);
    version = match$jscomp$2 && match$jscomp$2[1];
  } else if (module$contents$goog$labs$userAgent$platform_isAndroid()) {
    re = /Android\s+([^\);]+)(\)|;)/;
    var match$jscomp$3 = re.exec(userAgentString);
    version = match$jscomp$3 && match$jscomp$3[1];
  } else if (module$contents$goog$labs$userAgent$platform_isChromeOS()) {
    re = /(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/;
    var match$jscomp$4 = re.exec(userAgentString);
    version = match$jscomp$4 && match$jscomp$4[1];
  }
  return version || "";
}
var module$contents$goog$labs$userAgent$platform_PlatformVersion = function() {
  this.preUachHasLoaded_ = !1;
};
module$contents$goog$labs$userAgent$platform_PlatformVersion.prototype.getIfLoaded = function() {
  if (module$contents$goog$labs$userAgent$platform_useUserAgentDataPlatform(!0)) {
    var loadedPlatformVersion = module$exports$goog$labs$userAgent$highEntropy$highEntropyData.platformVersion.getIfLoaded();
    return loadedPlatformVersion === void 0 ? void 0 : new module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.Version(loadedPlatformVersion);
  }
  if (this.preUachHasLoaded_) {
    return new module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.Version(module$contents$goog$labs$userAgent$platform_getVersion());
  }
};
module$contents$goog$labs$userAgent$platform_PlatformVersion.prototype.load = function() {
  var $jscomp$async$this$m1628565157$33 = this, JSCompiler_temp_const;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1628565157$37) {
    if ($jscomp$generator$context$m1628565157$37.nextAddress == 1) {
      if (!module$contents$goog$labs$userAgent$platform_useUserAgentDataPlatform(!0)) {
        return $jscomp$async$this$m1628565157$33.preUachHasLoaded_ = !0, $jscomp$generator$context$m1628565157$37.return(new module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.Version(module$contents$goog$labs$userAgent$platform_getVersion()));
      }
      JSCompiler_temp_const = module$exports$goog$labs$userAgent$highEntropy$highEntropyValue.Version;
      return $jscomp$generator$context$m1628565157$37.yield(module$exports$goog$labs$userAgent$highEntropy$highEntropyData.platformVersion.load(), 3);
    }
    return $jscomp$generator$context$m1628565157$37.return(new JSCompiler_temp_const($jscomp$generator$context$m1628565157$37.yieldResult));
  });
};
module$contents$goog$labs$userAgent$platform_PlatformVersion.prototype.resetForTesting = function() {
  module$exports$goog$labs$userAgent$highEntropy$highEntropyData.platformVersion.resetForTesting();
  this.preUachHasLoaded_ = !1;
};
var module$contents$goog$labs$userAgent$platform_version = new module$contents$goog$labs$userAgent$platform_PlatformVersion();
goog.labs.userAgent.platform.getVersion = module$contents$goog$labs$userAgent$platform_getVersion;
goog.labs.userAgent.platform.isAndroid = module$contents$goog$labs$userAgent$platform_isAndroid;
goog.labs.userAgent.platform.isChromeOS = module$contents$goog$labs$userAgent$platform_isChromeOS;
goog.labs.userAgent.platform.isChromecast = function() {
  return module$contents$goog$labs$userAgent$util_matchUserAgent("CrKey");
};
goog.labs.userAgent.platform.isIos = module$contents$goog$labs$userAgent$platform_isIos;
goog.labs.userAgent.platform.isIpad = module$contents$goog$labs$userAgent$platform_isIpad;
goog.labs.userAgent.platform.isIphone = module$contents$goog$labs$userAgent$platform_isIphone;
goog.labs.userAgent.platform.isIpod = module$contents$goog$labs$userAgent$platform_isIpod;
goog.labs.userAgent.platform.isKaiOS = module$contents$goog$labs$userAgent$platform_isKaiOS;
goog.labs.userAgent.platform.isLinux = module$contents$goog$labs$userAgent$platform_isLinux;
goog.labs.userAgent.platform.isMacintosh = module$contents$goog$labs$userAgent$platform_isMacintosh;
goog.labs.userAgent.platform.isVersionOrHigher = function(version) {
  return goog.string.internal.compareVersions(module$contents$goog$labs$userAgent$platform_getVersion(), version) >= 0;
};
goog.labs.userAgent.platform.isWindows = module$contents$goog$labs$userAgent$platform_isWindows;
goog.labs.userAgent.platform.version = module$contents$goog$labs$userAgent$platform_version;
goog.array = {};
goog.NATIVE_ARRAY_PROTOTYPES = goog.TRUSTED_SITE;
var module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS = goog.FEATURESET_YEAR > 2012;
goog.array.ASSUME_NATIVE_FUNCTIONS = module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS;
function module$contents$goog$array_peek(array) {
  return array[array.length - 1];
}
goog.array.peek = module$contents$goog$array_peek;
goog.array.last = module$contents$goog$array_peek;
var module$contents$goog$array_indexOf = goog.NATIVE_ARRAY_PROTOTYPES && (module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS || Array.prototype.indexOf) ? function(arr, obj, opt_fromIndex) {
  goog.asserts.assert(arr.length != null);
  return Array.prototype.indexOf.call(arr, obj, opt_fromIndex);
} : function(arr, obj, opt_fromIndex) {
  var fromIndex = opt_fromIndex == null ? 0 : opt_fromIndex < 0 ? Math.max(0, arr.length + opt_fromIndex) : opt_fromIndex;
  if (typeof arr === "string") {
    return typeof obj !== "string" || obj.length != 1 ? -1 : arr.indexOf(obj, fromIndex);
  }
  for (var i = fromIndex; i < arr.length; i++) {
    if (i in arr && arr[i] === obj) {
      return i;
    }
  }
  return -1;
};
goog.array.indexOf = module$contents$goog$array_indexOf;
var module$contents$goog$array_lastIndexOf = goog.NATIVE_ARRAY_PROTOTYPES && (module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS || Array.prototype.lastIndexOf) ? function(arr, obj, opt_fromIndex) {
  goog.asserts.assert(arr.length != null);
  return Array.prototype.lastIndexOf.call(arr, obj, opt_fromIndex == null ? arr.length - 1 : opt_fromIndex);
} : function(arr, obj, opt_fromIndex) {
  var fromIndex = opt_fromIndex == null ? arr.length - 1 : opt_fromIndex;
  fromIndex < 0 && (fromIndex = Math.max(0, arr.length + fromIndex));
  if (typeof arr === "string") {
    return typeof obj !== "string" || obj.length != 1 ? -1 : arr.lastIndexOf(obj, fromIndex);
  }
  for (var i = fromIndex; i >= 0; i--) {
    if (i in arr && arr[i] === obj) {
      return i;
    }
  }
  return -1;
};
goog.array.lastIndexOf = module$contents$goog$array_lastIndexOf;
var module$contents$goog$array_forEach = goog.NATIVE_ARRAY_PROTOTYPES && (module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS || Array.prototype.forEach) ? function(arr, f, opt_obj) {
  goog.asserts.assert(arr.length != null);
  Array.prototype.forEach.call(arr, f, opt_obj);
} : function(arr, f, opt_obj) {
  for (var l = arr.length, arr2 = typeof arr === "string" ? arr.split("") : arr, i = 0; i < l; i++) {
    i in arr2 && f.call(opt_obj, arr2[i], i, arr);
  }
};
goog.array.forEach = module$contents$goog$array_forEach;
function module$contents$goog$array_forEachRight(arr, f, opt_obj) {
  for (var l = arr.length, arr2 = typeof arr === "string" ? arr.split("") : arr, i = l - 1; i >= 0; --i) {
    i in arr2 && f.call(opt_obj, arr2[i], i, arr);
  }
}
goog.array.forEachRight = module$contents$goog$array_forEachRight;
goog.array.filter = goog.NATIVE_ARRAY_PROTOTYPES && (module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS || Array.prototype.filter) ? function(arr, f, opt_obj) {
  goog.asserts.assert(arr.length != null);
  return Array.prototype.filter.call(arr, f, opt_obj);
} : function(arr, f, opt_obj) {
  for (var l = arr.length, res = [], resLength = 0, arr2 = typeof arr === "string" ? arr.split("") : arr, i = 0; i < l; i++) {
    if (i in arr2) {
      var val = arr2[i];
      f.call(opt_obj, val, i, arr) && (res[resLength++] = val);
    }
  }
  return res;
};
var module$contents$goog$array_map = goog.NATIVE_ARRAY_PROTOTYPES && (module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS || Array.prototype.map) ? function(arr, f, opt_obj) {
  goog.asserts.assert(arr.length != null);
  return Array.prototype.map.call(arr, f, opt_obj);
} : function(arr, f, opt_obj) {
  for (var l = arr.length, res = Array(l), arr2 = typeof arr === "string" ? arr.split("") : arr, i = 0; i < l; i++) {
    i in arr2 && (res[i] = f.call(opt_obj, arr2[i], i, arr));
  }
  return res;
};
goog.array.map = module$contents$goog$array_map;
goog.array.reduce = goog.NATIVE_ARRAY_PROTOTYPES && (module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS || Array.prototype.reduce) ? function(arr, f, val, opt_obj) {
  goog.asserts.assert(arr.length != null);
  opt_obj && (f = goog.TRUSTED_SITE ? f.bind(opt_obj) : goog.bind(f, opt_obj));
  return Array.prototype.reduce.call(arr, f, val);
} : function(arr, f, val, opt_obj) {
  var rval = val;
  module$contents$goog$array_forEach(arr, function(val, index) {
    rval = f.call(opt_obj, rval, val, index, arr);
  });
  return rval;
};
goog.array.reduceRight = goog.NATIVE_ARRAY_PROTOTYPES && (module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS || Array.prototype.reduceRight) ? function(arr, f, val, opt_obj) {
  goog.asserts.assert(arr.length != null);
  goog.asserts.assert(f != null);
  opt_obj && (f = goog.TRUSTED_SITE ? f.bind(opt_obj) : goog.bind(f, opt_obj));
  return Array.prototype.reduceRight.call(arr, f, val);
} : function(arr, f, val, opt_obj) {
  var rval = val;
  module$contents$goog$array_forEachRight(arr, function(val, index) {
    rval = f.call(opt_obj, rval, val, index, arr);
  });
  return rval;
};
goog.array.some = goog.NATIVE_ARRAY_PROTOTYPES && (module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS || Array.prototype.some) ? function(arr, f, opt_obj) {
  goog.asserts.assert(arr.length != null);
  return Array.prototype.some.call(arr, f, opt_obj);
} : function(arr, f, opt_obj) {
  for (var l = arr.length, arr2 = typeof arr === "string" ? arr.split("") : arr, i = 0; i < l; i++) {
    if (i in arr2 && f.call(opt_obj, arr2[i], i, arr)) {
      return !0;
    }
  }
  return !1;
};
goog.array.every = goog.NATIVE_ARRAY_PROTOTYPES && (module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS || Array.prototype.every) ? function(arr, f, opt_obj) {
  goog.asserts.assert(arr.length != null);
  return Array.prototype.every.call(arr, f, opt_obj);
} : function(arr, f, opt_obj) {
  for (var l = arr.length, arr2 = typeof arr === "string" ? arr.split("") : arr, i = 0; i < l; i++) {
    if (i in arr2 && !f.call(opt_obj, arr2[i], i, arr)) {
      return !1;
    }
  }
  return !0;
};
goog.array.count = function(arr, f, opt_obj) {
  var count = 0;
  module$contents$goog$array_forEach(arr, function(element, index, arr) {
    f.call(opt_obj, element, index, arr) && ++count;
  }, opt_obj);
  return count;
};
function module$contents$goog$array_find(arr, f, opt_obj) {
  var i = module$contents$goog$array_findIndex(arr, f, opt_obj);
  return i < 0 ? null : typeof arr === "string" ? arr.charAt(i) : arr[i];
}
goog.array.find = module$contents$goog$array_find;
function module$contents$goog$array_findIndex(arr, f, opt_obj) {
  for (var l = arr.length, arr2 = typeof arr === "string" ? arr.split("") : arr, i = 0; i < l; i++) {
    if (i in arr2 && f.call(opt_obj, arr2[i], i, arr)) {
      return i;
    }
  }
  return -1;
}
goog.array.findIndex = module$contents$goog$array_findIndex;
goog.array.findRight = function(arr, f, opt_obj) {
  var i = module$contents$goog$array_findIndexRight(arr, f, opt_obj);
  return i < 0 ? null : typeof arr === "string" ? arr.charAt(i) : arr[i];
};
function module$contents$goog$array_findIndexRight(arr, f, opt_obj) {
  for (var l = arr.length, arr2 = typeof arr === "string" ? arr.split("") : arr, i = l - 1; i >= 0; i--) {
    if (i in arr2 && f.call(opt_obj, arr2[i], i, arr)) {
      return i;
    }
  }
  return -1;
}
goog.array.findIndexRight = module$contents$goog$array_findIndexRight;
function module$contents$goog$array_contains(arr, obj) {
  return module$contents$goog$array_indexOf(arr, obj) >= 0;
}
goog.array.contains = module$contents$goog$array_contains;
function module$contents$goog$array_isEmpty(arr) {
  return arr.length == 0;
}
goog.array.isEmpty = module$contents$goog$array_isEmpty;
function module$contents$goog$array_clear(arr) {
  if (!Array.isArray(arr)) {
    for (var i = arr.length - 1; i >= 0; i--) {
      delete arr[i];
    }
  }
  arr.length = 0;
}
goog.array.clear = module$contents$goog$array_clear;
goog.array.insert = function(arr, obj) {
  module$contents$goog$array_contains(arr, obj) || arr.push(obj);
};
function module$contents$goog$array_insertAt(arr, obj, opt_i) {
  module$contents$goog$array_splice(arr, opt_i, 0, obj);
}
goog.array.insertAt = module$contents$goog$array_insertAt;
goog.array.insertArrayAt = function(arr, elementsToAdd, opt_i) {
  goog.partial(module$contents$goog$array_splice, arr, opt_i, 0).apply(null, elementsToAdd);
};
goog.array.insertBefore = function(arr, obj, opt_obj2) {
  var i;
  arguments.length == 2 || (i = module$contents$goog$array_indexOf(arr, opt_obj2)) < 0 ? arr.push(obj) : module$contents$goog$array_insertAt(arr, obj, i);
};
function module$contents$goog$array_remove(arr, obj) {
  var i = module$contents$goog$array_indexOf(arr, obj), rv;
  (rv = i >= 0) && module$contents$goog$array_removeAt(arr, i);
  return rv;
}
goog.array.remove = module$contents$goog$array_remove;
goog.array.removeLast = function(arr, obj) {
  var i = module$contents$goog$array_lastIndexOf(arr, obj);
  return i >= 0 ? (module$contents$goog$array_removeAt(arr, i), !0) : !1;
};
function module$contents$goog$array_removeAt(arr, i) {
  goog.asserts.assert(arr.length != null);
  return Array.prototype.splice.call(arr, i, 1).length == 1;
}
goog.array.removeAt = module$contents$goog$array_removeAt;
goog.array.removeIf = function(arr, f, opt_obj) {
  var i = module$contents$goog$array_findIndex(arr, f, opt_obj);
  return i >= 0 ? (module$contents$goog$array_removeAt(arr, i), !0) : !1;
};
goog.array.removeAllIf = function(arr, f, opt_obj) {
  var removedCount = 0;
  module$contents$goog$array_forEachRight(arr, function(val, index) {
    f.call(opt_obj, val, index, arr) && module$contents$goog$array_removeAt(arr, index) && removedCount++;
  });
  return removedCount;
};
function module$contents$goog$array_concat(var_args) {
  return Array.prototype.concat.apply([], arguments);
}
goog.array.concat = module$contents$goog$array_concat;
goog.array.join = function(var_args) {
  return Array.prototype.concat.apply([], arguments);
};
function module$contents$goog$array_toArray(object) {
  var length = object.length;
  if (length > 0) {
    for (var rv = Array(length), i = 0; i < length; i++) {
      rv[i] = object[i];
    }
    return rv;
  }
  return [];
}
goog.array.toArray = module$contents$goog$array_toArray;
goog.array.clone = module$contents$goog$array_toArray;
goog.array.extend = function(arr1, var_args) {
  for (var i = 1; i < arguments.length; i++) {
    var arr2 = arguments[i];
    if (goog.isArrayLike(arr2)) {
      var len1 = arr1.length || 0, len2 = arr2.length || 0;
      arr1.length = len1 + len2;
      for (var j = 0; j < len2; j++) {
        arr1[len1 + j] = arr2[j];
      }
    } else {
      arr1.push(arr2);
    }
  }
};
function module$contents$goog$array_splice(arr, index, howMany, var_args) {
  goog.asserts.assert(arr.length != null);
  return Array.prototype.splice.apply(arr, module$contents$goog$array_slice(arguments, 1));
}
goog.array.splice = module$contents$goog$array_splice;
function module$contents$goog$array_slice(arr, start, opt_end) {
  goog.asserts.assert(arr.length != null);
  return arguments.length <= 2 ? Array.prototype.slice.call(arr, start) : Array.prototype.slice.call(arr, start, opt_end);
}
goog.array.slice = module$contents$goog$array_slice;
goog.array.removeDuplicates = function(arr, opt_rv, opt_keyFn) {
  var returnArray = opt_rv || arr;
  if (goog.FEATURESET_YEAR >= 2018) {
    for (var defaultKeyFn = function(item) {
      return item;
    }, keyFn = opt_keyFn || defaultKeyFn, cursorInsert = 0, cursorRead = 0, seen = new Set(); cursorRead < arr.length;) {
      var current = arr[cursorRead++], key = keyFn(current);
      seen.has(key) || (seen.add(key), returnArray[cursorInsert++] = current);
    }
    returnArray.length = cursorInsert;
  } else {
    for (var defaultKeyFn$jscomp$0 = function(item) {
      return goog.isObject(item) ? "o" + goog.getUid(item) : (typeof item).charAt(0) + item;
    }, keyFn$jscomp$0 = opt_keyFn || defaultKeyFn$jscomp$0, cursorInsert$jscomp$0 = 0, cursorRead$jscomp$0 = 0, seen$jscomp$0 = {}; cursorRead$jscomp$0 < arr.length;) {
      var current$jscomp$0 = arr[cursorRead$jscomp$0++], key$jscomp$0 = keyFn$jscomp$0(current$jscomp$0);
      Object.prototype.hasOwnProperty.call(seen$jscomp$0, key$jscomp$0) || (seen$jscomp$0[key$jscomp$0] = !0, returnArray[cursorInsert$jscomp$0++] = current$jscomp$0);
    }
    returnArray.length = cursorInsert$jscomp$0;
  }
};
function module$contents$goog$array_binarySearch(arr, target, opt_compareFn) {
  return module$contents$goog$array_binarySearch_(arr, opt_compareFn || module$contents$goog$array_defaultCompare, !1, target);
}
goog.array.binarySearch = module$contents$goog$array_binarySearch;
goog.array.binarySelect = function(arr, evaluator, opt_obj) {
  return module$contents$goog$array_binarySearch_(arr, evaluator, !0, void 0, opt_obj);
};
function module$contents$goog$array_binarySearch_(arr, compareFn, isEvaluator, opt_target, opt_selfObj) {
  for (var left = 0, right = arr.length, found; left < right;) {
    var middle = left + (right - left >>> 1);
    var compareResult = isEvaluator ? compareFn.call(opt_selfObj, arr[middle], middle, arr) : compareFn(opt_target, arr[middle]);
    compareResult > 0 ? left = middle + 1 : (right = middle, found = !compareResult);
  }
  return found ? left : -left - 1;
}
function module$contents$goog$array_sort(arr, opt_compareFn) {
  arr.sort(opt_compareFn || module$contents$goog$array_defaultCompare);
}
goog.array.sort = module$contents$goog$array_sort;
goog.array.stableSort = function(arr, opt_compareFn) {
  for (var compArr = Array(arr.length), i = 0; i < arr.length; i++) {
    compArr[i] = {index:i, value:arr[i]};
  }
  var valueCompareFn = opt_compareFn || module$contents$goog$array_defaultCompare;
  module$contents$goog$array_sort(compArr, function(obj1, obj2) {
    return valueCompareFn(obj1.value, obj2.value) || obj1.index - obj2.index;
  });
  for (var i$jscomp$0 = 0; i$jscomp$0 < arr.length; i$jscomp$0++) {
    arr[i$jscomp$0] = compArr[i$jscomp$0].value;
  }
};
function module$contents$goog$array_sortByKey(arr, keyFn, opt_compareFn) {
  var keyCompareFn = opt_compareFn || module$contents$goog$array_defaultCompare;
  module$contents$goog$array_sort(arr, function(a, b) {
    return keyCompareFn(keyFn(a), keyFn(b));
  });
}
goog.array.sortByKey = module$contents$goog$array_sortByKey;
goog.array.sortObjectsByKey = function(arr, key, opt_compareFn) {
  module$contents$goog$array_sortByKey(arr, function(obj) {
    return obj[key];
  }, opt_compareFn);
};
goog.array.isSorted = function(arr, opt_compareFn, opt_strict) {
  for (var compare = opt_compareFn || module$contents$goog$array_defaultCompare, i = 1; i < arr.length; i++) {
    var compareResult = compare(arr[i - 1], arr[i]);
    if (compareResult > 0 || compareResult == 0 && opt_strict) {
      return !1;
    }
  }
  return !0;
};
goog.array.equals = function(arr1, arr2, opt_equalsFn) {
  if (!goog.isArrayLike(arr1) || !goog.isArrayLike(arr2) || arr1.length != arr2.length) {
    return !1;
  }
  for (var l = arr1.length, equalsFn = opt_equalsFn || module$contents$goog$array_defaultCompareEquality, i = 0; i < l; i++) {
    if (!equalsFn(arr1[i], arr2[i])) {
      return !1;
    }
  }
  return !0;
};
goog.array.compare3 = function(arr1, arr2, opt_compareFn) {
  for (var compare = opt_compareFn || module$contents$goog$array_defaultCompare, l = Math.min(arr1.length, arr2.length), i = 0; i < l; i++) {
    var result = compare(arr1[i], arr2[i]);
    if (result != 0) {
      return result;
    }
  }
  return module$contents$goog$array_defaultCompare(arr1.length, arr2.length);
};
function module$contents$goog$array_defaultCompare(a, b) {
  return a > b ? 1 : a < b ? -1 : 0;
}
goog.array.defaultCompare = module$contents$goog$array_defaultCompare;
goog.array.inverseDefaultCompare = function(a, b) {
  return -module$contents$goog$array_defaultCompare(a, b);
};
function module$contents$goog$array_defaultCompareEquality(a, b) {
  return a === b;
}
goog.array.defaultCompareEquality = module$contents$goog$array_defaultCompareEquality;
goog.array.binaryInsert = function(array, value, opt_compareFn) {
  var index = module$contents$goog$array_binarySearch(array, value, opt_compareFn);
  return index < 0 ? (module$contents$goog$array_insertAt(array, value, -(index + 1)), !0) : !1;
};
goog.array.binaryRemove = function(array, value, opt_compareFn) {
  var index = module$contents$goog$array_binarySearch(array, value, opt_compareFn);
  return index >= 0 ? module$contents$goog$array_removeAt(array, index) : !1;
};
goog.array.bucket = function(array, sorter, opt_obj) {
  for (var buckets = {}, i = 0; i < array.length; i++) {
    var value = array[i], key = sorter.call(opt_obj, value, i, array);
    key !== void 0 && (buckets[key] || (buckets[key] = [])).push(value);
  }
  return buckets;
};
goog.array.bucketToMap = function(array, sorter) {
  for (var buckets = new Map(), i = 0; i < array.length; i++) {
    var value = array[i], key = sorter(value, i, array);
    if (key !== void 0) {
      var bucket = buckets.get(key);
      bucket || (bucket = [], buckets.set(key, bucket));
      bucket.push(value);
    }
  }
  return buckets;
};
goog.array.toObject = function(arr, keyFunc, opt_obj) {
  var ret = {};
  module$contents$goog$array_forEach(arr, function(element, index) {
    ret[keyFunc.call(opt_obj, element, index, arr)] = element;
  });
  return ret;
};
goog.array.toMap = function(arr, keyFunc) {
  for (var map = new Map(), i = 0; i < arr.length; i++) {
    var element = arr[i];
    map.set(keyFunc(element, i, arr), element);
  }
  return map;
};
goog.array.range = function(startOrEnd, opt_end, opt_step) {
  var array = [], start = 0, end = startOrEnd, step = opt_step || 1;
  opt_end !== void 0 && (start = startOrEnd, end = opt_end);
  if (step * (end - start) < 0) {
    return [];
  }
  if (step > 0) {
    for (var i = start; i < end; i += step) {
      array.push(i);
    }
  } else {
    for (var i$jscomp$0 = start; i$jscomp$0 > end; i$jscomp$0 += step) {
      array.push(i$jscomp$0);
    }
  }
  return array;
};
goog.array.repeat = function(value, n) {
  for (var array = [], i = 0; i < n; i++) {
    array[i] = value;
  }
  return array;
};
function module$contents$goog$array_flatten(var_args) {
  for (var result = [], i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (Array.isArray(element)) {
      for (var c = 0; c < element.length; c += 8192) {
        for (var chunk = module$contents$goog$array_slice(element, c, c + 8192), recurseResult = module$contents$goog$array_flatten.apply(null, chunk), r = 0; r < recurseResult.length; r++) {
          result.push(recurseResult[r]);
        }
      }
    } else {
      result.push(element);
    }
  }
  return result;
}
goog.array.flatten = module$contents$goog$array_flatten;
goog.array.rotate = function(array, n) {
  goog.asserts.assert(array.length != null);
  array.length && (n %= array.length, n > 0 ? Array.prototype.unshift.apply(array, array.splice(-n, n)) : n < 0 && Array.prototype.push.apply(array, array.splice(0, -n)));
  return array;
};
goog.array.moveItem = function(arr, fromIndex, toIndex) {
  goog.asserts.assert(fromIndex >= 0 && fromIndex < arr.length);
  goog.asserts.assert(toIndex >= 0 && toIndex < arr.length);
  var removedItems = Array.prototype.splice.call(arr, fromIndex, 1);
  Array.prototype.splice.call(arr, toIndex, 0, removedItems[0]);
};
goog.array.zip = function(var_args) {
  if (!arguments.length) {
    return [];
  }
  for (var result = [], minLen = arguments[0].length, i = 1; i < arguments.length; i++) {
    arguments[i].length < minLen && (minLen = arguments[i].length);
  }
  for (var i$jscomp$0 = 0; i$jscomp$0 < minLen; i$jscomp$0++) {
    for (var value = [], j = 0; j < arguments.length; j++) {
      value.push(arguments[j][i$jscomp$0]);
    }
    result.push(value);
  }
  return result;
};
goog.array.shuffle = function(arr, opt_randFn) {
  for (var randFn = opt_randFn || Math.random, i = arr.length - 1; i > 0; i--) {
    var j = Math.floor(randFn() * (i + 1)), tmp = arr[i];
    arr[i] = arr[j];
    arr[j] = tmp;
  }
};
goog.array.copyByIndex = function(arr, index_arr) {
  var result = [];
  module$contents$goog$array_forEach(index_arr, function(index) {
    result.push(arr[index]);
  });
  return result;
};
goog.array.concatMap = function(arr, f, opt_obj) {
  return module$contents$goog$array_concat.apply([], module$contents$goog$array_map(arr, f, opt_obj));
};
goog.labs.userAgent.engine = {};
function module$contents$goog$labs$userAgent$engine_isTrident() {
  return module$contents$goog$labs$userAgent$util_matchUserAgent("Trident") || module$contents$goog$labs$userAgent$util_matchUserAgent("MSIE");
}
function module$contents$goog$labs$userAgent$engine_isEdge() {
  return module$contents$goog$labs$userAgent$util_matchUserAgent("Edge");
}
function module$contents$goog$labs$userAgent$engine_isWebKit() {
  return module$contents$goog$labs$userAgent$util_matchUserAgentIgnoreCase("WebKit") && !module$contents$goog$labs$userAgent$engine_isEdge();
}
function module$contents$goog$labs$userAgent$engine_isGecko() {
  return module$contents$goog$labs$userAgent$util_matchUserAgent("Gecko") && !module$contents$goog$labs$userAgent$engine_isWebKit() && !module$contents$goog$labs$userAgent$engine_isTrident() && !module$contents$goog$labs$userAgent$engine_isEdge();
}
function module$contents$goog$labs$userAgent$engine_getVersion() {
  var userAgentString = module$contents$goog$labs$userAgent$util_getUserAgent();
  if (userAgentString) {
    var tuples = module$contents$goog$labs$userAgent$util_extractVersionTuples(userAgentString);
    a: {
      if (module$contents$goog$labs$userAgent$engine_isEdge()) {
        for (var i = 0; i < tuples.length; i++) {
          var tuple = tuples[i];
          if (tuple[0] == "Edge") {
            var JSCompiler_inline_result = tuple;
            break a;
          }
        }
        JSCompiler_inline_result = void 0;
      } else {
        JSCompiler_inline_result = tuples[1];
      }
    }
    var engineTuple = JSCompiler_inline_result;
    if (engineTuple) {
      return engineTuple[0] == "Gecko" ? module$contents$goog$labs$userAgent$engine_getVersionForKey(tuples, "Firefox") : engineTuple[1];
    }
    var browserTuple = tuples[0], info;
    if (browserTuple && (info = browserTuple[2])) {
      var match = /Trident\/([^\s;]+)/.exec(info);
      if (match) {
        return match[1];
      }
    }
  }
  return "";
}
function module$contents$goog$labs$userAgent$engine_getVersionForKey(tuples, key) {
  var pair = module$contents$goog$array_find(tuples, function(pair) {
    return key == pair[0];
  });
  return pair && pair[1] || "";
}
goog.labs.userAgent.engine.getVersion = module$contents$goog$labs$userAgent$engine_getVersion;
goog.labs.userAgent.engine.isEdge = module$contents$goog$labs$userAgent$engine_isEdge;
goog.labs.userAgent.engine.isGecko = module$contents$goog$labs$userAgent$engine_isGecko;
goog.labs.userAgent.engine.isPresto = function() {
  return module$contents$goog$labs$userAgent$util_matchUserAgent("Presto");
};
goog.labs.userAgent.engine.isTrident = module$contents$goog$labs$userAgent$engine_isTrident;
goog.labs.userAgent.engine.isVersionOrHigher = function(version) {
  return goog.string.internal.compareVersions(module$contents$goog$labs$userAgent$engine_getVersion(), version) >= 0;
};
goog.labs.userAgent.engine.isWebKit = module$contents$goog$labs$userAgent$engine_isWebKit;
goog.reflect = {};
goog.reflect.object = function(type, object) {
  return object;
};
goog.reflect.objectProperty = function(prop) {
  return prop;
};
goog.reflect.sinkValue = function(x) {
  goog.reflect.sinkValue[" "](x);
  return x;
};
goog.reflect.sinkValue[" "] = function() {
};
goog.reflect.canAccessProperty = function(obj, prop) {
  try {
    return goog.reflect.sinkValue(obj[prop]), !0;
  } catch (e) {
  }
  return !1;
};
goog.reflect.cache = function(cacheObj, key, valueFn, opt_keyFn) {
  var storedKey = opt_keyFn ? opt_keyFn(key) : key;
  return Object.prototype.hasOwnProperty.call(cacheObj, storedKey) ? cacheObj[storedKey] : cacheObj[storedKey] = valueFn(key);
};
goog.userAgent = {};
goog.userAgent.ASSUME_IE = !1;
goog.userAgent.ASSUME_EDGE = !1;
goog.userAgent.ASSUME_GECKO = !1;
goog.userAgent.ASSUME_WEBKIT = !1;
goog.userAgent.ASSUME_MOBILE_WEBKIT = !1;
goog.userAgent.ASSUME_OPERA = !1;
goog.userAgent.ASSUME_ANY_VERSION = !1;
goog.userAgent.BROWSER_KNOWN_ = goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_GECKO || goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_OPERA;
goog.userAgent.getUserAgentString = function() {
  return module$contents$goog$labs$userAgent$util_getUserAgent();
};
goog.userAgent.getNavigatorTyped = function() {
  return goog.global.navigator || null;
};
goog.userAgent.getNavigator = function() {
  return goog.userAgent.getNavigatorTyped();
};
goog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_OPERA : module$contents$goog$labs$userAgent$browser_matchOpera();
goog.userAgent.IE = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_IE : module$contents$goog$labs$userAgent$browser_matchIE();
goog.userAgent.EDGE = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_EDGE : module$contents$goog$labs$userAgent$engine_isEdge();
goog.userAgent.EDGE_OR_IE = goog.userAgent.EDGE || goog.userAgent.IE;
goog.userAgent.GECKO = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_GECKO : module$contents$goog$labs$userAgent$engine_isGecko();
goog.userAgent.WEBKIT = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT : module$contents$goog$labs$userAgent$engine_isWebKit();
goog.userAgent.isMobile_ = function() {
  return goog.userAgent.WEBKIT && module$contents$goog$labs$userAgent$util_matchUserAgent("Mobile");
};
goog.userAgent.MOBILE = goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();
goog.userAgent.SAFARI = goog.userAgent.WEBKIT;
goog.userAgent.determinePlatform_ = function() {
  var navigator = goog.userAgent.getNavigatorTyped();
  return navigator && navigator.platform || "";
};
goog.userAgent.PLATFORM = goog.userAgent.determinePlatform_();
goog.userAgent.ASSUME_MAC = !1;
goog.userAgent.ASSUME_WINDOWS = !1;
goog.userAgent.ASSUME_LINUX = !1;
goog.userAgent.ASSUME_ANDROID = !1;
goog.userAgent.ASSUME_IPHONE = !1;
goog.userAgent.ASSUME_IPAD = !1;
goog.userAgent.ASSUME_IPOD = !1;
goog.userAgent.ASSUME_KAIOS = !1;
goog.userAgent.PLATFORM_KNOWN_ = goog.userAgent.ASSUME_MAC || goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX || goog.userAgent.ASSUME_ANDROID || goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD;
goog.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_MAC : module$contents$goog$labs$userAgent$platform_isMacintosh();
goog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_WINDOWS : module$contents$goog$labs$userAgent$platform_isWindows();
goog.userAgent.isLegacyLinux_ = function() {
  return module$contents$goog$labs$userAgent$platform_isLinux() || module$contents$goog$labs$userAgent$platform_isChromeOS();
};
goog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_LINUX : goog.userAgent.isLegacyLinux_();
goog.userAgent.ANDROID = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_ANDROID : module$contents$goog$labs$userAgent$platform_isAndroid();
goog.userAgent.IPHONE = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE : module$contents$goog$labs$userAgent$platform_isIphone();
goog.userAgent.IPAD = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPAD : module$contents$goog$labs$userAgent$platform_isIpad();
goog.userAgent.IPOD = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPOD : module$contents$goog$labs$userAgent$platform_isIpod();
goog.userAgent.IOS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD : module$contents$goog$labs$userAgent$platform_isIos();
goog.userAgent.KAIOS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_KAIOS : module$contents$goog$labs$userAgent$platform_isKaiOS();
goog.userAgent.determineVersion_ = function() {
  var version = "", arr = goog.userAgent.getVersionRegexResult_();
  arr && (version = arr ? arr[1] : "");
  if (goog.userAgent.IE) {
    var docMode = goog.userAgent.getDocumentMode_();
    if (docMode != null && docMode > parseFloat(version)) {
      return String(docMode);
    }
  }
  return version;
};
goog.userAgent.getVersionRegexResult_ = function() {
  var userAgent = goog.userAgent.getUserAgentString();
  if (goog.userAgent.GECKO) {
    return /rv:([^\);]+)(\)|;)/.exec(userAgent);
  }
  if (goog.userAgent.EDGE) {
    return /Edge\/([\d\.]+)/.exec(userAgent);
  }
  if (goog.userAgent.IE) {
    return /\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(userAgent);
  }
  if (goog.userAgent.WEBKIT) {
    return /WebKit\/(\S+)/.exec(userAgent);
  }
  if (goog.userAgent.OPERA) {
    return /(?:Version)[ \/]?(\S+)/.exec(userAgent);
  }
};
goog.userAgent.getDocumentMode_ = function() {
  var doc = goog.global.document;
  return doc ? doc.documentMode : void 0;
};
goog.userAgent.VERSION = goog.userAgent.determineVersion_();
goog.userAgent.compare = function(v1, v2) {
  return goog.string.internal.compareVersions(v1, v2);
};
goog.userAgent.isVersionOrHigherCache_ = {};
goog.userAgent.isVersionOrHigher = function(version) {
  return goog.userAgent.ASSUME_ANY_VERSION || goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_, version, function() {
    return goog.string.internal.compareVersions(goog.userAgent.VERSION, version) >= 0;
  });
};
goog.userAgent.isDocumentModeOrHigher = function(documentMode) {
  return Number(goog.userAgent.DOCUMENT_MODE) >= documentMode;
};
var JSCompiler_inline_result$jscomp$137;
if (goog.global.document && goog.userAgent.IE) {
  var documentMode$jscomp$inline_266 = goog.userAgent.getDocumentMode_();
  JSCompiler_inline_result$jscomp$137 = documentMode$jscomp$inline_266 ? documentMode$jscomp$inline_266 : parseInt(goog.userAgent.VERSION, 10) || void 0;
} else {
  JSCompiler_inline_result$jscomp$137 = void 0;
}
goog.userAgent.DOCUMENT_MODE = JSCompiler_inline_result$jscomp$137;
goog.userAgent.product = {};
goog.userAgent.product.ASSUME_FIREFOX = !1;
goog.userAgent.product.ASSUME_IPHONE = !1;
goog.userAgent.product.ASSUME_IPAD = !1;
goog.userAgent.product.ASSUME_ANDROID = !1;
goog.userAgent.product.ASSUME_CHROME = !1;
goog.userAgent.product.ASSUME_SAFARI = !1;
goog.userAgent.product.PRODUCT_KNOWN_ = goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_OPERA || goog.userAgent.product.ASSUME_FIREFOX || goog.userAgent.product.ASSUME_IPHONE || goog.userAgent.product.ASSUME_IPAD || goog.userAgent.product.ASSUME_ANDROID || goog.userAgent.product.ASSUME_CHROME || goog.userAgent.product.ASSUME_SAFARI;
goog.userAgent.product.OPERA = goog.userAgent.OPERA;
goog.userAgent.product.IE = goog.userAgent.IE;
goog.userAgent.product.EDGE = goog.userAgent.EDGE;
goog.userAgent.product.FIREFOX = goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_FIREFOX : module$contents$goog$labs$userAgent$browser_matchFirefox();
goog.userAgent.product.isIphoneOrIpod_ = function() {
  return module$contents$goog$labs$userAgent$platform_isIphone() || module$contents$goog$labs$userAgent$platform_isIpod();
};
goog.userAgent.product.IPHONE = goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_IPHONE : goog.userAgent.product.isIphoneOrIpod_();
goog.userAgent.product.IPAD = goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_IPAD : module$contents$goog$labs$userAgent$platform_isIpad();
goog.userAgent.product.ANDROID = goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_ANDROID : module$contents$goog$labs$userAgent$browser_matchAndroidBrowser();
goog.userAgent.product.CHROME = goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_CHROME : module$contents$goog$labs$userAgent$browser_matchChrome();
goog.userAgent.product.isSafariDesktop_ = function() {
  return module$contents$goog$labs$userAgent$browser_matchSafari() && !module$contents$goog$labs$userAgent$platform_isIos();
};
goog.userAgent.product.SAFARI = goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_SAFARI : goog.userAgent.product.isSafariDesktop_();
goog.crypt.base64 = {};
goog.crypt.base64.DEFAULT_ALPHABET_COMMON_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
goog.crypt.base64.ENCODED_VALS = goog.crypt.base64.DEFAULT_ALPHABET_COMMON_ + "+/=";
goog.crypt.base64.ENCODED_VALS_WEBSAFE = goog.crypt.base64.DEFAULT_ALPHABET_COMMON_ + "-_.";
goog.crypt.base64.Alphabet = {DEFAULT:0, NO_PADDING:1, WEBSAFE:2, WEBSAFE_DOT_PADDING:3, WEBSAFE_NO_PADDING:4};
goog.crypt.base64.paddingChars_ = "=.";
goog.crypt.base64.isPadding_ = function(char) {
  return goog.string.internal.contains(goog.crypt.base64.paddingChars_, char);
};
goog.crypt.base64.byteToCharMaps_ = {};
goog.crypt.base64.charToByteMap_ = null;
goog.crypt.base64.ASSUME_NATIVE_SUPPORT_ = goog.userAgent.GECKO || goog.userAgent.WEBKIT;
goog.crypt.base64.HAS_NATIVE_ENCODE_ = goog.FEATURESET_YEAR >= 2018 || goog.crypt.base64.ASSUME_NATIVE_SUPPORT_ || typeof goog.global.btoa == "function";
goog.crypt.base64.HAS_NATIVE_DECODE_ = goog.FEATURESET_YEAR >= 2018 || goog.crypt.base64.ASSUME_NATIVE_SUPPORT_ || !goog.userAgent.product.SAFARI && typeof goog.global.atob == "function";
goog.crypt.base64.encodeByteArray = function(input, alphabet) {
  goog.asserts.assert(goog.isArrayLike(input), "encodeByteArray takes an array as a parameter");
  alphabet === void 0 && (alphabet = goog.crypt.base64.Alphabet.DEFAULT);
  goog.crypt.base64.init_();
  for (var byteToCharMap = goog.crypt.base64.byteToCharMaps_[alphabet], output = Array(Math.floor(input.length / 3)), paddingChar = byteToCharMap[64] || "", inputIdx = 0, outputIdx = 0; inputIdx < input.length - 2; inputIdx += 3) {
    var byte1 = input[inputIdx], byte2$jscomp$0 = input[inputIdx + 1], byte3 = input[inputIdx + 2], outChar1 = byteToCharMap[byte1 >> 2], outChar2 = byteToCharMap[(byte1 & 3) << 4 | byte2$jscomp$0 >> 4], outChar3$jscomp$0 = byteToCharMap[(byte2$jscomp$0 & 15) << 2 | byte3 >> 6], outChar4 = byteToCharMap[byte3 & 63];
    output[outputIdx++] = "" + outChar1 + outChar2 + outChar3$jscomp$0 + outChar4;
  }
  var byte2 = 0, outChar3 = paddingChar;
  switch(input.length - inputIdx) {
    case 2:
      byte2 = input[inputIdx + 1], outChar3 = byteToCharMap[(byte2 & 15) << 2] || paddingChar;
    case 1:
      var byte1$jscomp$0 = input[inputIdx];
      output[outputIdx] = "" + byteToCharMap[byte1$jscomp$0 >> 2] + byteToCharMap[(byte1$jscomp$0 & 3) << 4 | byte2 >> 4] + outChar3 + paddingChar;
  }
  return output.join("");
};
goog.crypt.base64.encodeBinaryString = function(input, alphabet) {
  return goog.crypt.base64.encodeString(input, alphabet, !0);
};
goog.crypt.base64.encodeString = function(input, alphabet, throwSync) {
  return goog.crypt.base64.HAS_NATIVE_ENCODE_ && !alphabet ? goog.global.btoa(input) : goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(input, throwSync), alphabet);
};
goog.crypt.base64.encodeStringUtf8 = function(input, alphabet) {
  return goog.crypt.base64.encodeText(input, alphabet);
};
goog.crypt.base64.encodeText = function(input, alphabet) {
  return goog.crypt.base64.HAS_NATIVE_ENCODE_ && !alphabet ? goog.global.btoa(unescape(encodeURIComponent(input))) : goog.crypt.base64.encodeByteArray(goog.crypt.stringToUtf8ByteArray(input), alphabet);
};
goog.crypt.base64.decodeToBinaryString = function(input, useCustomDecoder) {
  if (goog.crypt.base64.HAS_NATIVE_DECODE_ && !useCustomDecoder) {
    return goog.global.atob(input);
  }
  var output = "";
  goog.crypt.base64.decodeStringInternal_(input, function(b) {
    output += String.fromCharCode(b);
  });
  return output;
};
goog.crypt.base64.decodeString = goog.crypt.base64.decodeToBinaryString;
goog.crypt.base64.decodeStringUtf8 = function(input, useCustomDecoder) {
  return goog.crypt.base64.decodeToText(input, useCustomDecoder);
};
goog.crypt.base64.decodeToText = function(input, useCustomDecoder) {
  return decodeURIComponent(escape(goog.crypt.base64.decodeString(input, useCustomDecoder)));
};
goog.crypt.base64.decodeStringToByteArray = function(input) {
  var output = [];
  goog.crypt.base64.decodeStringInternal_(input, function(b) {
    output.push(b);
  });
  return output;
};
goog.crypt.base64.decodeStringToUint8Array = function(input) {
  var len = input.length, approxByteLength = len * 3 / 4;
  approxByteLength % 3 ? approxByteLength = Math.floor(approxByteLength) : goog.crypt.base64.isPadding_(input[len - 1]) && (approxByteLength = goog.crypt.base64.isPadding_(input[len - 2]) ? approxByteLength - 2 : approxByteLength - 1);
  var output = new Uint8Array(approxByteLength), outLen = 0;
  goog.crypt.base64.decodeStringInternal_(input, function(b) {
    output[outLen++] = b;
  });
  return outLen !== approxByteLength ? output.subarray(0, outLen) : output;
};
goog.crypt.base64.decodeStringInternal_ = function(input, pushByte) {
  function getByte(default_val) {
    for (; nextCharIndex < input.length;) {
      var ch = input.charAt(nextCharIndex++), b = goog.crypt.base64.charToByteMap_[ch];
      if (b != null) {
        return b;
      }
      if (!goog.string.internal.isEmptyOrWhitespace(ch)) {
        throw Error("Unknown base64 encoding at char: " + ch);
      }
    }
    return default_val;
  }
  goog.crypt.base64.init_();
  for (var nextCharIndex = 0;;) {
    var byte1 = getByte(-1), byte2 = getByte(0), byte3 = getByte(64), byte4 = getByte(64);
    if (byte4 === 64 && byte1 === -1) {
      break;
    }
    pushByte(byte1 << 2 | byte2 >> 4);
    byte3 != 64 && (pushByte(byte2 << 4 & 240 | byte3 >> 2), byte4 != 64 && pushByte(byte3 << 6 & 192 | byte4));
  }
};
goog.crypt.base64.init_ = function() {
  if (!goog.crypt.base64.charToByteMap_) {
    goog.crypt.base64.charToByteMap_ = {};
    for (var commonChars = goog.crypt.base64.DEFAULT_ALPHABET_COMMON_.split(""), specialChars = ["+/=", "+/", "-_=", "-_.", "-_"], i = 0; i < 5; i++) {
      var chars = commonChars.concat(specialChars[i].split(""));
      goog.crypt.base64.byteToCharMaps_[i] = chars;
      for (var j = 0; j < chars.length; j++) {
        var char = chars[j], existingByte = goog.crypt.base64.charToByteMap_[char];
        existingByte === void 0 ? goog.crypt.base64.charToByteMap_[char] = j : goog.asserts.assert(existingByte === j);
      }
    }
  }
};
var module$exports$jspb$internal_bytes = {};
module$exports$jspb$internal_bytes.SUPPORTS_UINT8ARRAY = goog.FEATURESET_YEAR >= 2018 || typeof Uint8Array !== "undefined";
module$exports$jspb$internal_bytes.HAS_ATOB_BTOA = goog.FEATURESET_YEAR >= 2018 || !goog.userAgent.IE && typeof btoa === "function";
function module$contents$jspb$internal_bytes_encodeByteArray(u8) {
  if (!module$exports$jspb$internal_bytes.HAS_ATOB_BTOA) {
    return goog.crypt.base64.encodeByteArray(u8);
  }
  for (var binary = "", offset = 0, limit = u8.length - 10240; offset < limit;) {
    binary += String.fromCharCode.apply(null, u8.subarray(offset, offset += 10240));
  }
  binary += String.fromCharCode.apply(null, offset ? u8.subarray(offset) : u8);
  return btoa(binary);
}
var module$contents$jspb$internal_bytes_WEBSAFE_BASE64_CHARS = /[-_.]/g, module$contents$jspb$internal_bytes_websafeReplacer = {"-":"+", _:"/", ".":"="};
function module$contents$jspb$internal_bytes_replaceWebsafe(char) {
  return module$contents$jspb$internal_bytes_websafeReplacer[char] || "";
}
function module$contents$jspb$internal_bytes_decodeByteArray(b64) {
  if (!module$exports$jspb$internal_bytes.HAS_ATOB_BTOA) {
    return goog.crypt.base64.decodeStringToUint8Array(b64);
  }
  var encoded = b64;
  module$contents$jspb$internal_bytes_WEBSAFE_BASE64_CHARS.test(encoded) && (encoded = encoded.replace(module$contents$jspb$internal_bytes_WEBSAFE_BASE64_CHARS, module$contents$jspb$internal_bytes_replaceWebsafe));
  if (goog.DEBUG) {
    try {
      var binary = atob(encoded);
    } catch (e) {
      throw Error("invalid encoding '" + b64 + "': " + e);
    }
  } else {
    binary = atob(encoded);
  }
  for (var u8 = new Uint8Array(binary.length), i = 0; i < binary.length; i++) {
    u8[i] = binary.charCodeAt(i);
  }
  return u8;
}
function module$contents$jspb$internal_bytes_dataAsU8(value) {
  if (value == null || module$contents$jspb$internal_bytes_isU8(value)) {
    return value;
  }
  if (typeof value === "string") {
    return module$contents$jspb$internal_bytes_decodeByteArray(value);
  }
  (0,goog.asserts.fail)("Cannot coerce to Uint8Array: " + goog.typeOf(value));
  return null;
}
function module$contents$jspb$internal_bytes_isU8(value) {
  return module$exports$jspb$internal_bytes.SUPPORTS_UINT8ARRAY && value != null && value instanceof Uint8Array;
}
function module$contents$jspb$internal_bytes_uint8ArrayEquals(a, b) {
  var aLength = a.length;
  if (aLength !== b.length) {
    return !1;
  }
  for (var i = 0; i < aLength; i++) {
    if (a[i] !== b[i]) {
      return !1;
    }
  }
  return !0;
}
module$exports$jspb$internal_bytes.I_AM_INTERNAL = {};
module$exports$jspb$internal_bytes.SUPPORTS_STRUCTURED_CLONE = goog.FEATURESET_YEAR > 2022 || typeof structuredClone != "undefined";
module$exports$jspb$internal_bytes.encodeByteArray = module$contents$jspb$internal_bytes_encodeByteArray;
module$exports$jspb$internal_bytes.decodeByteArray = module$contents$jspb$internal_bytes_decodeByteArray;
module$exports$jspb$internal_bytes.dataAsU8 = module$contents$jspb$internal_bytes_dataAsU8;
module$exports$jspb$internal_bytes.isU8 = module$contents$jspb$internal_bytes_isU8;
module$exports$jspb$internal_bytes.uint8ArrayEquals = module$contents$jspb$internal_bytes_uint8ArrayEquals;
var module$exports$jspb$bytestring = {ByteString:function(value, areYouInternal) {
  module$contents$jspb$bytestring_checkAllowedCaller(areYouInternal);
  this.value_ = value;
  if (value != null && value.length === 0) {
    throw Error("ByteString should be constructed with non-empty values");
  }
  goog.DEBUG && (this.dontPassByteStringToStructuredClone = module$contents$jspb$bytestring_dontPassByteStringToStructuredClone);
}};
module$exports$jspb$bytestring.ByteString.fromBase64 = function(value) {
  (0,goog.asserts.assertString)(value);
  return value ? new module$exports$jspb$bytestring.ByteString(value, module$exports$jspb$internal_bytes.I_AM_INTERNAL) : module$exports$jspb$bytestring.ByteString.empty();
};
module$exports$jspb$bytestring.ByteString.fromUint8Array = function(value) {
  (0,goog.asserts.assert)(value instanceof Uint8Array || Array.isArray(value));
  return value.length ? new module$exports$jspb$bytestring.ByteString(new Uint8Array(value), module$exports$jspb$internal_bytes.I_AM_INTERNAL) : module$exports$jspb$bytestring.ByteString.empty();
};
module$exports$jspb$bytestring.ByteString.fromTransferredUint8Array = function(array) {
  var JSCompiler_temp, JSCompiler_temp_const, JSCompiler_temp_const$jscomp$0;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m414861755$80) {
    if ($jscomp$generator$context$m414861755$80.nextAddress == 1) {
      (0,goog.asserts.assertInstanceof)(array, Uint8Array);
      if (!array.length) {
        return JSCompiler_temp = module$exports$jspb$bytestring.ByteString.empty(), $jscomp$generator$context$m414861755$80.jumpTo(2);
      }
      JSCompiler_temp_const$jscomp$0 = JSCompiler_temp_const = module$exports$jspb$bytestring.ByteString;
      return $jscomp$generator$context$m414861755$80.yield(module$contents$jspb$bytestring_structuredClonePonyfill(array, [array.buffer]), 3);
    }
    $jscomp$generator$context$m414861755$80.nextAddress != 2 && (JSCompiler_temp = new JSCompiler_temp_const$jscomp$0($jscomp$generator$context$m414861755$80.yieldResult, module$exports$jspb$internal_bytes.I_AM_INTERNAL));
    return $jscomp$generator$context$m414861755$80.return(JSCompiler_temp);
  });
};
module$exports$jspb$bytestring.ByteString.fromStringUtf8 = function(text) {
  (0,goog.asserts.assertString)(text);
  return text.length ? new module$exports$jspb$bytestring.ByteString(module$contents$jspb$binary$utf8_encodeUtf8(text, !0), module$exports$jspb$internal_bytes.I_AM_INTERNAL) : module$exports$jspb$bytestring.ByteString.empty();
};
module$exports$jspb$bytestring.ByteString.fromBlob = function(blob) {
  var data;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m414861755$81) {
    if ($jscomp$generator$context$m414861755$81.nextAddress == 1) {
      return (0,goog.asserts.assertInstanceof)(blob, Blob), blob.size === 0 ? $jscomp$generator$context$m414861755$81.return(module$exports$jspb$bytestring.ByteString.empty()) : $jscomp$generator$context$m414861755$81.yield(blob.arrayBuffer(), 2);
    }
    data = $jscomp$generator$context$m414861755$81.yieldResult;
    return $jscomp$generator$context$m414861755$81.return(new module$exports$jspb$bytestring.ByteString(new Uint8Array(data), module$exports$jspb$internal_bytes.I_AM_INTERNAL));
  });
};
module$exports$jspb$bytestring.ByteString.empty = function() {
  return module$contents$jspb$bytestring_emptyByteString || (module$contents$jspb$bytestring_emptyByteString = new module$exports$jspb$bytestring.ByteString(null, module$exports$jspb$internal_bytes.I_AM_INTERNAL));
};
module$exports$jspb$bytestring.ByteString.prototype.asBase64 = function() {
  var value = this.value_;
  return value == null ? "" : typeof value === "string" ? value : this.value_ = module$contents$jspb$internal_bytes_encodeByteArray(value);
};
module$exports$jspb$bytestring.ByteString.prototype.asUint8Array = function() {
  return new Uint8Array(this.internalBytesUnsafe(module$exports$jspb$internal_bytes.I_AM_INTERNAL) || 0);
};
module$exports$jspb$bytestring.ByteString.prototype.isEmpty = function() {
  return this.value_ == null;
};
module$exports$jspb$bytestring.ByteString.prototype.legacyUnwrap = function() {
  var v = this.value_ || "";
  return typeof v === "string" ? v : new Uint8Array(v);
};
module$exports$jspb$bytestring.ByteString.prototype.equalsByteString = function(other) {
  (0,goog.asserts.assertInstanceof)(other, module$exports$jspb$bytestring.ByteString);
  if (!this.value_ || !other.value_ || this.value_ === other.value_) {
    return this.value_ === other.value_;
  }
  if (typeof this.value_ === "string" && typeof other.value_ === "string") {
    var longer = this.value_, shorter = other.value_;
    other.value_.length > this.value_.length && (shorter = this.value_, longer = other.value_);
    if (longer.lastIndexOf(shorter, 0) !== 0) {
      return !1;
    }
    for (var i = shorter.length; i < longer.length; i++) {
      if (longer[i] !== "=") {
        return !1;
      }
    }
    return !0;
  }
  var thisUint8Array = (0,goog.asserts.assertExists)(this.internalBytesUnsafe(module$exports$jspb$internal_bytes.I_AM_INTERNAL)), otherUint8Array = (0,goog.asserts.assertExists)(other.internalBytesUnsafe(module$exports$jspb$internal_bytes.I_AM_INTERNAL));
  return module$contents$jspb$internal_bytes_uint8ArrayEquals(thisUint8Array, otherUint8Array);
};
module$exports$jspb$bytestring.ByteString.prototype.internalBytesUnsafe = function(areYouInternal) {
  module$contents$jspb$bytestring_checkAllowedCaller(areYouInternal);
  var u8 = module$contents$jspb$internal_bytes_dataAsU8(this.value_);
  return u8 == null ? u8 : this.value_ = u8;
};
module$exports$jspb$bytestring.ByteString.prototype.internalUnwrap = function(areYouInternal) {
  module$contents$jspb$bytestring_checkAllowedCaller(areYouInternal);
  return this.value_ || "";
};
module$exports$jspb$bytestring.ByteString.prototype.internalCompareEqualsDoNotUse = function(value) {
  if (typeof value === "string") {
    var other = module$exports$jspb$bytestring.ByteString.fromBase64(value);
  } else if (value instanceof Uint8Array) {
    other = new module$exports$jspb$bytestring.ByteString(value, module$exports$jspb$internal_bytes.I_AM_INTERNAL);
  } else if (value instanceof module$exports$jspb$bytestring.ByteString) {
    other = value;
  } else {
    return !1;
  }
  return this.equalsByteString(other);
};
var module$contents$jspb$bytestring_emptyByteString;
function module$contents$jspb$bytestring_checkAllowedCaller(areYouInternal) {
  if (areYouInternal !== module$exports$jspb$internal_bytes.I_AM_INTERNAL) {
    throw Error("illegal external caller");
  }
}
function module$contents$jspb$bytestring_structuredCloneBasedOnMessageChannel(obj, transfer) {
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m414861755$82) {
    return $jscomp$generator$context$m414861755$82.return(new Promise(function(resolve, reject) {
      var channel = new MessageChannel();
      channel.port2.onmessage = function(e) {
        resolve(e.data);
      };
      try {
        channel.port1.postMessage(obj, transfer);
      } catch (e) {
        reject(e);
      }
    }));
  });
}
var module$contents$jspb$bytestring_structuredClonePonyfill = module$exports$jspb$internal_bytes.SUPPORTS_STRUCTURED_CLONE ? function(obj, transfer) {
  return Promise.resolve(structuredClone(obj, {transfer:transfer}));
} : module$contents$jspb$bytestring_structuredCloneBasedOnMessageChannel;
function module$contents$jspb$bytestring_dontPassByteStringToStructuredClone() {
}
;goog.debug.errorcontext = {};
goog.debug.errorcontext.addErrorContext = function(err, contextKey, contextValue) {
  err[goog.debug.errorcontext.CONTEXT_KEY_] || (err[goog.debug.errorcontext.CONTEXT_KEY_] = {});
  err[goog.debug.errorcontext.CONTEXT_KEY_][contextKey] = contextValue;
};
goog.debug.errorcontext.getErrorContext = function(err) {
  return err[goog.debug.errorcontext.CONTEXT_KEY_] || {};
};
goog.debug.errorcontext.CONTEXT_KEY_ = "__closure__error__context__984382";
var module$contents$jspb$exceptions_globalThrottles;
function module$contents$jspb$exceptions_asyncThrowWarning(msg) {
  var error = goog.DEBUG ? Error(msg) : Error();
  goog.debug.errorcontext.addErrorContext(error, "severity", "incident");
  module$contents$goog$async$throwException_throwException(error);
}
function module$contents$jspb$exceptions_makeTypeError(message) {
  var error = Error(message);
  goog.debug.errorcontext.addErrorContext(error, "severity", "warning");
  return error;
}
function module$contents$jspb$exceptions_throttledAsyncThrowWarning(msg, throttleKey, limit, error) {
  if (throttleKey != null) {
    if (msg == null) {
      var $jscomp$nullish$tmp0;
      var throttleHandle = ($jscomp$nullish$tmp0 = module$contents$jspb$exceptions_globalThrottles) != null ? $jscomp$nullish$tmp0 : module$contents$jspb$exceptions_globalThrottles = {};
    } else {
      throttleHandle = msg.constructor;
    }
    var count = throttleHandle[throttleKey] || 0;
    count >= limit || (throttleHandle[throttleKey] = count + 1, module$contents$jspb$exceptions_asyncThrowWarning(error));
  }
}
;var module$exports$jspb$internal_options = {};
module$exports$jspb$internal_options.DISABLE_INDIRECT_BINARY_EXTENSIONS = goog.flags.JSPB_IGNORE_IMPLICIT_EXTENSION_DEPS;
module$exports$jspb$internal_options.DISABLE_ES6_MAP_SUBCLASSES_FOR_TESTING = !1;
function module$contents$jspb$internal_options_isBigIntAvailable() {
  return goog.FEATURESET_YEAR >= 2021 || typeof BigInt === "function";
}
module$exports$jspb$internal_options.CheckLevel = {OFF:0, ASYNC_THROW:1, THROW:2};
var module$contents$jspb$internal_options_typeCheck32BitIntFields = module$exports$jspb$internal_options.CheckLevel.THROW, module$contents$jspb$internal_options_typeCheck64BitIntFields = goog.DEBUG;
function module$contents$jspb$internal_options_getTypeCheck64BitIntFields(forceTypeChecking) {
  return forceTypeChecking || module$contents$jspb$internal_options_typeCheck64BitIntFields;
}
module$exports$jspb$internal_options.shouldCoerce64BitIntFieldsByJsType = module$contents$jspb$internal_options_getTypeCheck64BitIntFields;
module$exports$jspb$internal_options.setShouldCoerce64BitIntFieldsByJsType = module$contents$jspb$internal_options_setTypeCheck64BitIntFields;
function module$contents$jspb$internal_options_setTypeCheck64BitIntFields(value) {
  (0,goog.asserts.assertBoolean)(value);
  module$contents$jspb$internal_options_typeCheck64BitIntFields = value;
}
var module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange = !0, module$contents$jspb$internal_options_asyncThrowIf64BitIntReturnTypeMismatches = !1, module$contents$jspb$internal_options_typeCheckStringFields = !0, module$contents$jspb$internal_options_typeCheckEnumFields = module$exports$jspb$internal_options.CheckLevel.THROW;
module$exports$jspb$internal_options.USE_DETAILED_MESSAGE_TYPE_HIERARCHY = goog.DEBUG && !1;
var module$contents$jspb$internal_options_unsafeDisableJspbAnyTypeChecks = module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS = !1;
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES = goog.DEBUG;
var module$contents$jspb$internal_options_sortMaps = !1, module$contents$jspb$internal_options_checkEqualsDoesNotChangeWithTypeInformation = goog.DEBUG;
function module$contents$jspb$internal_options_getReadonlyRepeatedArrays(isExtension) {
  return isExtension || goog.DEBUG || goog.flags.JSPB_READONLY_REPEATED_FIELDS;
}
module$exports$jspb$internal_options.STRICT_REPEATED_SETTER = goog.DEBUG;
var module$contents$jspb$internal_options_asyncThrowIfStringTypedInt64FieldDowngrade = !0, module$contents$jspb$internal_options_arrayCheckRepeatedFields = module$exports$jspb$internal_options.CheckLevel.THROW, module$contents$jspb$internal_options_randomizeSerializationFormat = !1;
function module$contents$jspb$internal_options_getRandomizeSerializationFormat() {
  return module$contents$jspb$internal_options_randomizeSerializationFormat && !0;
}
module$exports$jspb$internal_options.getAsyncThrowIf64BitIntReturnTypeMismatches = function() {
  return module$contents$jspb$internal_options_asyncThrowIf64BitIntReturnTypeMismatches;
};
module$exports$jspb$internal_options.getAsyncThrowIfStringTypedInt64FieldDowngrade = function() {
  return module$contents$jspb$internal_options_asyncThrowIfStringTypedInt64FieldDowngrade;
};
module$exports$jspb$internal_options.getCheckEqualsDoesNotChangeWithTypeInformation = function() {
  return module$contents$jspb$internal_options_checkEqualsDoesNotChangeWithTypeInformation;
};
module$exports$jspb$internal_options.setCheckEqualsDoesNotChangeWithTypeInformation = function(updatedCheckEqualsDoesNotChangeWithTypeInformation) {
  module$contents$jspb$internal_options_checkEqualsDoesNotChangeWithTypeInformation = updatedCheckEqualsDoesNotChangeWithTypeInformation;
};
module$exports$jspb$internal_options.getCheckEqualsConsistentWithHashCode = function() {
  return !1;
};
module$exports$jspb$internal_options.getDeserializeBinary64BitIntsAsGbigint = function() {
  return !1;
};
module$exports$jspb$internal_options.getRandomizeSerializationFormat = module$contents$jspb$internal_options_getRandomizeSerializationFormat;
module$exports$jspb$internal_options.getSortMaps = function() {
  return module$contents$jspb$internal_options_sortMaps;
};
module$exports$jspb$internal_options.getTypeCheck32BitIntFields = function() {
  return module$contents$jspb$internal_options_typeCheck32BitIntFields;
};
module$exports$jspb$internal_options.getTypeCheck64BitIntFields = module$contents$jspb$internal_options_getTypeCheck64BitIntFields;
module$exports$jspb$internal_options.getTypeCheck64BitIntFieldsAreInRange = function(forceTypeChecking) {
  return forceTypeChecking || module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange;
};
module$exports$jspb$internal_options.getTypeCheckEnumFields = function() {
  return module$contents$jspb$internal_options_typeCheckEnumFields;
};
module$exports$jspb$internal_options.getTypeCheckStringFields = function() {
  return module$contents$jspb$internal_options_typeCheckStringFields;
};
module$exports$jspb$internal_options.getUnsafeDisableJspbAnyTypeChecks = function() {
  return module$contents$jspb$internal_options_unsafeDisableJspbAnyTypeChecks;
};
module$exports$jspb$internal_options.isBigIntAvailable = module$contents$jspb$internal_options_isBigIntAvailable;
module$exports$jspb$internal_options.serializeBoolsAsTrueFalse = function() {
  return !1;
};
module$exports$jspb$internal_options.setAsyncThrowIf64BitIntReturnTypeMismatches = function(value) {
  module$contents$jspb$internal_options_asyncThrowIf64BitIntReturnTypeMismatches = value;
};
module$exports$jspb$internal_options.setAsyncThrowIfStringTypedInt64FieldDowngrade = function(updatedAsyncThrowIfStringTypedInt64FieldDowngrade) {
  module$contents$jspb$internal_options_asyncThrowIfStringTypedInt64FieldDowngrade = updatedAsyncThrowIfStringTypedInt64FieldDowngrade;
};
module$exports$jspb$internal_options.setCheckEqualsConsistentWithHashCode = function() {
};
module$exports$jspb$internal_options.setRandomizeSerializationFormat = function(shouldRandomize) {
  module$contents$jspb$internal_options_randomizeSerializationFormat = shouldRandomize;
};
module$exports$jspb$internal_options.setSortMaps = function(shouldSortMaps) {
  module$contents$jspb$internal_options_sortMaps = shouldSortMaps;
};
module$exports$jspb$internal_options.setTypeCheck32BitIntFields = function(value) {
  module$contents$jspb$internal_options_typeCheck32BitIntFields = value;
};
module$exports$jspb$internal_options.setTypeCheck64BitIntFields = module$contents$jspb$internal_options_setTypeCheck64BitIntFields;
module$exports$jspb$internal_options.setTypeCheck64BitIntFieldsAreInRange = function(value) {
  (0,goog.asserts.assertBoolean)(value);
  module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange = value;
};
module$exports$jspb$internal_options.setTypeCheckEnumFields = function(value) {
  module$contents$jspb$internal_options_typeCheckEnumFields = value;
};
module$exports$jspb$internal_options.setTypeCheckStringFields = function(value) {
  (0,goog.asserts.assertBoolean)(value);
  module$contents$jspb$internal_options_typeCheckStringFields = value;
};
module$exports$jspb$internal_options.setUnsafeDisableJspbAnyTypeChecks = function(value) {
  (0,goog.asserts.assertBoolean)(value);
  module$contents$jspb$internal_options_unsafeDisableJspbAnyTypeChecks = value;
};
module$exports$jspb$internal_options.shouldThrowInArrayConstructorIfArrayIsAlreadyConstructed = function() {
  return !1;
};
module$exports$jspb$internal_options.withoutAsyncThrowingIfStringTypedInt64FieldDowngrade = function(fn) {
  var originalAsyncThrowIfStringTypedInt64FieldDowngrade = module$contents$jspb$internal_options_asyncThrowIfStringTypedInt64FieldDowngrade;
  try {
    return module$contents$jspb$internal_options_asyncThrowIfStringTypedInt64FieldDowngrade = !1, fn();
  } finally {
    module$contents$jspb$internal_options_asyncThrowIfStringTypedInt64FieldDowngrade = originalAsyncThrowIfStringTypedInt64FieldDowngrade;
  }
};
module$exports$jspb$internal_options.withoutCheckingEqualsDoesNotChangeWithTypeInformation = function(fn) {
  var originalCheckEqualsDoesNotChangeWithTypeInformation = module$contents$jspb$internal_options_checkEqualsDoesNotChangeWithTypeInformation;
  module$contents$jspb$internal_options_checkEqualsDoesNotChangeWithTypeInformation = !1;
  try {
    fn();
  } finally {
    module$contents$jspb$internal_options_checkEqualsDoesNotChangeWithTypeInformation = originalCheckEqualsDoesNotChangeWithTypeInformation;
  }
};
module$exports$jspb$internal_options.getReadonlyRepeatedArrays = module$contents$jspb$internal_options_getReadonlyRepeatedArrays;
module$exports$jspb$internal_options.getSliceRepeatedArrays = function(isExtension) {
  return isExtension || !0;
};
module$exports$jspb$internal_options.getAsyncThrowReadonlyRepeatedArrays = function() {
  return !0;
};
module$exports$jspb$internal_options.getArrayCheckRepeatedFields = function() {
  return module$contents$jspb$internal_options_arrayCheckRepeatedFields;
};
var JSCompiler_temp$jscomp$139;
if (module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS) {
  if (!module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS) {
    throw Error();
  }
  JSCompiler_temp$jscomp$139 = {newArray:0, slice:0, getField:0, setField:0, constructMessage:0, constructMap:0, copyMessageWithImmutableFields:0, internalCompareFields:0};
} else {
  JSCompiler_temp$jscomp$139 = void 0;
}
var module$contents$jspb$internal_operations_currentLog = JSCompiler_temp$jscomp$139, module$contents$jspb$internal_operations_shouldLogOperations = !0;
function module$contents$jspb$internal_operations_logOperation(log) {
  if (module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && module$contents$jspb$internal_operations_shouldLogOperations) {
    for (var k in log) {
      module$contents$jspb$internal_operations_currentLog[k] += (0,goog.asserts.assertNumber)(log[k]);
    }
  }
}
function module$contents$jspb$internal_operations_slice(value) {
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && module$contents$jspb$internal_operations_logOperation({slice:1});
  return Array.prototype.slice.call(value);
}
function module$contents$jspb$internal_operations_sliceWithLength(value, start, end) {
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && module$contents$jspb$internal_operations_logOperation({slice:1});
  return Array.prototype.slice.call(value, start, end);
}
function module$contents$jspb$internal_operations_logNewArray(value) {
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && module$contents$jspb$internal_operations_logOperation({newArray:1});
  return value;
}
function module$contents$jspb$internal_operations_withoutLogging(fn) {
  if (!module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS) {
    return fn();
  }
  var shouldLog = !!module$contents$jspb$internal_operations_shouldLogOperations;
  try {
    return module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && (module$contents$jspb$internal_operations_shouldLogOperations = !1), fn();
  } finally {
    module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && (module$contents$jspb$internal_operations_shouldLogOperations = shouldLog);
  }
}
;var module$exports$jspb$internal_symbols = {};
module$exports$jspb$internal_symbols.HAS_NATIVE_SYMBOL = goog.FEATURESET_YEAR >= 2018 || typeof Symbol === "function" && typeof Symbol() === "symbol";
function module$contents$jspb$internal_symbols_createSymbol(name, fallbackValue) {
  return goog.FEATURESET_YEAR >= 2018 || typeof Symbol === "function" && typeof Symbol() === "symbol" ? goog.DEBUG ? Symbol(name) : Symbol() : fallbackValue;
}
module$exports$jspb$internal_symbols.ARRAY_STATE_SYMBOL = module$contents$jspb$internal_symbols_createSymbol("INTERNAL_ARRAY_STATE", void 0);
module$exports$jspb$internal_symbols.DEFAULT_IMMUTABLE_INSTANCE_SYMBOL = module$contents$jspb$internal_symbols_createSymbol("defaultInstance", "0di");
module$exports$jspb$internal_symbols.DUPLICATED_EXTENSION_SYMBOL = module$contents$jspb$internal_symbols_createSymbol("DUPLICATED_EXTENSION_SYMBOL", "2ex");
module$exports$jspb$internal_symbols.ONEOF_ARRAY_SYMBOL = module$contents$jspb$internal_symbols_createSymbol("oneofCases", "1oa");
module$exports$jspb$internal_symbols.RETURNED_64BIT_INT_VALUE_MISMATCH_SYMBOL = module$contents$jspb$internal_symbols_createSymbol("RETURNED_64BIT_INT_VALUE_MISMATCH", "64im");
module$exports$jspb$internal_symbols.STRING_TYPE_DOWNGRADES_SYMBOL = module$contents$jspb$internal_symbols_createSymbol("STRING_TYPE_DOWNGRADES", "0dg");
var module$exports$jspb$internal_array_state = {DEFAULT_ARRAY_STATE:0, ArrayStateFlags:{IS_REPEATED_FIELD:1, IS_IMMUTABLE_ARRAY:2, IS_API_FORMATTED:4, ONLY_MUTABLE_VALUES:8, ONLY_IMMUTABLE_VALUES_IF_OWNED:16, MUTABLE_REFERENCES_ARE_OWNED:32, CONSTRUCTED:64, TRANSFERRED:128, HAS_SPARSE_OBJECT:256, HAS_MESSAGE_ID:512, IS_IMMUTABLE_JS_REPEATED_FIELD_COERCED_FROM_WIRE:1024, FROZEN_ARRAY:2048, STRING_FORMATTED:4096, GBIGINT_FORMATTED:8192, DESERIALIZED_FROM_BINARY:16384}};
goog.asserts.assert(Math.round(Math.log2(Math.max.apply(Math, (0,$jscomp.arrayFromIterable)(Object.values(module$exports$jspb$internal_array_state.ArrayStateFlags))))) === 14);
module$exports$jspb$internal_array_state.PIVOT_LIMIT = 1024;
var module$contents$jspb$internal_array_state_PIVOT_MASK = module$exports$jspb$internal_array_state.PIVOT_LIMIT - 1, module$contents$jspb$internal_array_state_ALL_FLAGS = module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES | module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED | 
module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED | module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED | module$exports$jspb$internal_array_state.ArrayStateFlags.TRANSFERRED | module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT | module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_MESSAGE_ID | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_JS_REPEATED_FIELD_COERCED_FROM_WIRE | module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED | 
module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.FROZEN_ARRAY | module$exports$jspb$internal_array_state.ArrayStateFlags.DESERIALIZED_FROM_BINARY | module$contents$jspb$internal_array_state_PIVOT_MASK << 15;
function module$contents$jspb$internal_array_state_assertValidFlags(flags) {
  goog.asserts.assert((flags & module$contents$jspb$internal_array_state_ALL_FLAGS) == flags);
}
module$exports$jspb$internal_array_state.addArrayStateFlags = module$exports$jspb$internal_symbols.HAS_NATIVE_SYMBOL ? function(arr, flags) {
  module$contents$jspb$internal_array_state_assertValidFlags(flags);
  goog.asserts.assertArray(arr, "state is only maintained on arrays.");
  return arr[module$exports$jspb$internal_symbols.ARRAY_STATE_SYMBOL] |= flags;
} : function(arr, flags) {
  module$contents$jspb$internal_array_state_assertValidFlags(flags);
  goog.asserts.assertArray(arr, "state is only maintained on arrays.");
  if (arr.internalArrayState !== void 0) {
    return arr.internalArrayState |= flags;
  }
  Object.defineProperties(arr, {internalArrayState:{value:flags, configurable:!0, writable:!0, enumerable:!1}});
  return flags;
};
function module$contents$jspb$internal_array_state_addFlagsOnPossiblyFrozenArray(array, flags) {
  var state = (0,module$exports$jspb$internal_array_state.getArrayState)(array);
  (state & flags) !== flags && (Object.isFrozen(array) && (array = module$contents$jspb$internal_operations_slice(array)), (0,module$exports$jspb$internal_array_state.setArrayState)(array, state | flags));
  return array;
}
module$exports$jspb$internal_array_state.clearFlags = module$exports$jspb$internal_symbols.HAS_NATIVE_SYMBOL ? function(arr, flags) {
  module$contents$jspb$internal_array_state_assertValidFlags(flags);
  goog.asserts.assertArray(arr, "state is only maintained on arrays.");
  return arr[module$exports$jspb$internal_symbols.ARRAY_STATE_SYMBOL] &= ~flags;
} : function(arr, flags) {
  module$contents$jspb$internal_array_state_assertValidFlags(flags);
  goog.asserts.assertArray(arr, "state is only maintained on arrays.");
  return arr.internalArrayState !== void 0 ? arr.internalArrayState &= ~flags : 0;
};
function module$contents$jspb$internal_array_state_setFlagBitTo(stateValue, flag, isEnabled) {
  return isEnabled ? stateValue | flag : stateValue & ~flag;
}
if (goog.DEBUG) {
  var prev$jscomp$1 = Object.getOwnPropertyDescriptor(Array.prototype, "jspbArrayState");
  Object.defineProperties(Array.prototype, {jspbArrayState:{get:function() {
    function maybeAddFlag(bit, s) {
      bit & arrayState && bits.push(s);
    }
    var arrayState = (0,module$exports$jspb$internal_array_state.getArrayState)(this), bits = [];
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD, "IS_REPEATED_FIELD");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY, "IS_IMMUTABLE_ARRAY");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED, "IS_API_FORMATTED");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED, "STRING_FORMATTED");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED, "GBIGINT_FORMATTED");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED, "BINARY");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES, "ONLY_MUTABLE_VALUES");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED, "MUTABLE_REFERENCES_ARE_OWNED");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED, "CONSTRUCTED");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.TRANSFERRED, "TRANSFERRED");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT, "HAS_SPARSE_OBJECT");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_MESSAGE_ID, "HAS_MESSAGE_ID");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.FROZEN_ARRAY, "FROZEN_ARRAY");
    maybeAddFlag(module$exports$jspb$internal_array_state.ArrayStateFlags.DESERIALIZED_FROM_BINARY, "DESERIALIZED_FROM_BINARY");
    var pivot = module$contents$jspb$internal_array_state_getPivot(arrayState);
    pivot !== module$exports$jspb$internal_array_state.NO_PIVOT && bits.push("pivot: " + pivot);
    var formatted = bits.join(",");
    return prev$jscomp$1 ? prev$jscomp$1.get.call(this) + "|" + formatted : formatted;
  }, configurable:!0, enumerable:!1}});
}
module$exports$jspb$internal_array_state.getArrayState = module$exports$jspb$internal_symbols.HAS_NATIVE_SYMBOL ? function(arr) {
  goog.asserts.assertArray(arr, "state is only maintained on arrays.");
  return arr[module$exports$jspb$internal_symbols.ARRAY_STATE_SYMBOL] | 0;
} : function(arr) {
  goog.asserts.assertArray(arr, "state is only maintained on arrays.");
  return arr.internalArrayState | 0;
};
function module$contents$jspb$internal_array_state_checkMessageStateInvariants(array, arrayState, allowUnconstructed) {
  (allowUnconstructed === void 0 ? 0 : allowUnconstructed) || goog.asserts.assert(arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED, "state for messages must be constructed");
  goog.asserts.assert((arrayState & (module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED)) === 0, "state for messages should not contain repeated field state");
  var pivot = module$contents$jspb$internal_array_state_getPivot(arrayState), arrayLength = array.length;
  goog.asserts.assert(pivot + module$contents$jspb$internal_array_state_getArrayIndexOffset(arrayState) >= arrayLength - 1, "pivot %s is pointing at an index earlier than the last index of the array, length: %s", pivot, arrayLength);
  arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_MESSAGE_ID && goog.asserts.assert(typeof array[0] === "string", "arrays with a message_id bit must have a string in the first position, got: %s", array[0]);
  var lastItem = arrayLength ? array[arrayLength - 1] : void 0;
  goog.asserts.assert((lastItem != null && typeof lastItem === "object" && lastItem.constructor === Object) === !!(arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT), "arraystate and array disagree on sparseObject presence");
}
module$exports$jspb$internal_array_state.getMessageArrayState = module$exports$jspb$internal_symbols.HAS_NATIVE_SYMBOL ? function(arr, allowUnconstructed) {
  allowUnconstructed = allowUnconstructed === void 0 ? !1 : allowUnconstructed;
  goog.asserts.assertArray(arr, "state is only maintained on arrays.");
  var state = arr[module$exports$jspb$internal_symbols.ARRAY_STATE_SYMBOL];
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && module$contents$jspb$internal_array_state_checkMessageStateInvariants(arr, state, allowUnconstructed);
  return state;
} : function(arr, allowUnconstructed) {
  allowUnconstructed = allowUnconstructed === void 0 ? !1 : allowUnconstructed;
  goog.asserts.assertArray(arr, "state is only maintained on arrays.");
  var state = arr.internalArrayState;
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && module$contents$jspb$internal_array_state_checkMessageStateInvariants(arr, state, allowUnconstructed);
  return state;
};
function module$contents$jspb$internal_array_state_getPossiblyUnconstructedMessageArrayState(arr) {
  return (0,module$exports$jspb$internal_array_state.getMessageArrayState)(arr, !0);
}
module$exports$jspb$internal_array_state.setArrayState = module$exports$jspb$internal_symbols.HAS_NATIVE_SYMBOL ? function(arr, flags) {
  goog.asserts.assertArray(arr, "state is only maintained on arrays.");
  module$contents$jspb$internal_array_state_assertValidFlags(flags);
  arr[module$exports$jspb$internal_symbols.ARRAY_STATE_SYMBOL] = flags;
} : function(arr, flags) {
  goog.asserts.assertArray(arr, "state is only maintained on arrays.");
  module$contents$jspb$internal_array_state_assertValidFlags(flags);
  arr.internalArrayState !== void 0 ? arr.internalArrayState = flags : Object.defineProperties(arr, {internalArrayState:{value:flags, configurable:!0, writable:!0, enumerable:!1}});
};
function module$contents$jspb$internal_array_state_isRepeatedField(arr) {
  return !!((0,module$exports$jspb$internal_array_state.getArrayState)(arr) & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD);
}
function module$contents$jspb$internal_array_state_markRepeatedField(arr) {
  (0,module$exports$jspb$internal_array_state.addArrayStateFlags)(arr, module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD);
  return arr;
}
module$exports$jspb$internal_array_state.TypeSpecificApiFormat = {LEGACY:0, STRING:module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED, GBIGINT:module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED};
function module$contents$jspb$internal_array_state_getTypeSpecificApiFormat(state) {
  if (module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED & state) {
    return module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED & state ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.STRING : module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED & state ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.GBIGINT : module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY;
  }
}
function module$contents$jspb$internal_array_state_clearTypeSpecificFormattedFlagBits(state) {
  state &= ~module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED;
  return state &= ~module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED;
}
function module$contents$jspb$internal_array_state_isApiFormattedField(arr) {
  return !!((0,module$exports$jspb$internal_array_state.getArrayState)(arr) & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED);
}
function module$contents$jspb$internal_array_state_isImmutableArray(arr) {
  return !!((0,module$exports$jspb$internal_array_state.getArrayState)(arr) & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY);
}
function module$contents$jspb$internal_array_state_markArrayImmutable(arr) {
  (0,module$exports$jspb$internal_array_state.addArrayStateFlags)(arr, module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY | module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED);
  return arr;
}
function module$contents$jspb$internal_array_state_markMutableReferencesAreOwned(arr) {
  (0,module$exports$jspb$internal_array_state.addArrayStateFlags)(arr, module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED);
  return arr;
}
function module$contents$jspb$internal_array_state_markShared(arr) {
  (0,module$exports$jspb$internal_array_state.clearFlags)(arr, module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED);
  return arr;
}
function module$contents$jspb$internal_array_state_areMutableReferencesOwned(arr) {
  return !!((0,module$exports$jspb$internal_array_state.getArrayState)(arr) & module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED);
}
function module$contents$jspb$internal_array_state_isConstructed(arr) {
  return !!((0,module$exports$jspb$internal_array_state.getArrayState)(arr) & module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED);
}
function module$contents$jspb$internal_array_state_copyArrayBitsForClone(fromState, to) {
  (0,module$exports$jspb$internal_array_state.setArrayState)(to, (fromState | 0) & ~(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY | module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED | module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED | module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES | module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED | module$exports$jspb$internal_array_state.ArrayStateFlags.TRANSFERRED | 
  module$exports$jspb$internal_array_state.ArrayStateFlags.FROZEN_ARRAY | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.DESERIALIZED_FROM_BINARY));
}
function module$contents$jspb$internal_array_state_copyArrayBitsAndMaybeFreezeForCloneImmutable(fromState, to) {
  (0,module$exports$jspb$internal_array_state.setArrayState)(to, (fromState | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY | module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED) & ~(module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED | module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES | module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED | module$exports$jspb$internal_array_state.ArrayStateFlags.TRANSFERRED | 
  module$exports$jspb$internal_array_state.ArrayStateFlags.FROZEN_ARRAY | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.DESERIALIZED_FROM_BINARY));
}
function module$contents$jspb$internal_array_state_markArrayTransferred(array) {
  (0,module$exports$jspb$internal_array_state.addArrayStateFlags)(array, module$exports$jspb$internal_array_state.ArrayStateFlags.TRANSFERRED);
}
module$exports$jspb$internal_array_state.NO_PIVOT = 536870912;
function module$contents$jspb$internal_array_state_setPivot(arrayState, pivot) {
  goog.asserts.assertNumber(pivot);
  goog.asserts.assert(pivot > 0 && pivot <= module$contents$jspb$internal_array_state_PIVOT_MASK || module$exports$jspb$internal_array_state.NO_PIVOT === pivot);
  return arrayState & ~(module$contents$jspb$internal_array_state_PIVOT_MASK << 15) | (pivot & module$contents$jspb$internal_array_state_PIVOT_MASK) << 15;
}
function module$contents$jspb$internal_array_state_getPivot(arrayState) {
  return arrayState >> 15 & module$contents$jspb$internal_array_state_PIVOT_MASK || module$exports$jspb$internal_array_state.NO_PIVOT;
}
function module$contents$jspb$internal_array_state_getArrayIndexOffset(arrayState) {
  return +!!(arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_MESSAGE_ID) - 1;
}
module$exports$jspb$internal_array_state.getArrayIndexOffset = module$contents$jspb$internal_array_state_getArrayIndexOffset;
module$exports$jspb$internal_array_state.getPivot = module$contents$jspb$internal_array_state_getPivot;
module$exports$jspb$internal_array_state.setPivot = module$contents$jspb$internal_array_state_setPivot;
module$exports$jspb$internal_array_state.getPossiblyUnconstructedMessageArrayState = module$contents$jspb$internal_array_state_getPossiblyUnconstructedMessageArrayState;
module$exports$jspb$internal_array_state.checkMessageStateInvariants = module$contents$jspb$internal_array_state_checkMessageStateInvariants;
module$exports$jspb$internal_array_state.areMutableReferencesOwned = module$contents$jspb$internal_array_state_areMutableReferencesOwned;
module$exports$jspb$internal_array_state.clearFlagBit = function(stateValue, flag) {
  return stateValue & ~flag;
};
module$exports$jspb$internal_array_state.clearTypeSpecificFormattedFlagBits = module$contents$jspb$internal_array_state_clearTypeSpecificFormattedFlagBits;
module$exports$jspb$internal_array_state.copyArrayBitsAndMaybeFreezeForCloneImmutable = module$contents$jspb$internal_array_state_copyArrayBitsAndMaybeFreezeForCloneImmutable;
module$exports$jspb$internal_array_state.copyArrayBitsForClone = module$contents$jspb$internal_array_state_copyArrayBitsForClone;
module$exports$jspb$internal_array_state.addFlagsOnPossiblyFrozenArray = module$contents$jspb$internal_array_state_addFlagsOnPossiblyFrozenArray;
module$exports$jspb$internal_array_state.getTypeSpecificApiFormat = module$contents$jspb$internal_array_state_getTypeSpecificApiFormat;
module$exports$jspb$internal_array_state.hasFlagBit = function(stateValue, flag) {
  return !!(flag & stateValue);
};
module$exports$jspb$internal_array_state.hasOnlyMutableValues = function(arr) {
  return !!((0,module$exports$jspb$internal_array_state.getArrayState)(arr) & module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES);
};
module$exports$jspb$internal_array_state.isApiFormattedField = module$contents$jspb$internal_array_state_isApiFormattedField;
module$exports$jspb$internal_array_state.isConstructed = module$contents$jspb$internal_array_state_isConstructed;
module$exports$jspb$internal_array_state.isImmutableArray = module$contents$jspb$internal_array_state_isImmutableArray;
module$exports$jspb$internal_array_state.isRepeatedField = module$contents$jspb$internal_array_state_isRepeatedField;
module$exports$jspb$internal_array_state.isImmutableJsRepeatedFieldCoercedFromWire = function(arr) {
  return !!((0,module$exports$jspb$internal_array_state.getArrayState)(arr) & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_JS_REPEATED_FIELD_COERCED_FROM_WIRE);
};
module$exports$jspb$internal_array_state.markApiFormattedField = function(arr) {
  (0,module$exports$jspb$internal_array_state.addArrayStateFlags)(arr, module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD);
  return arr;
};
module$exports$jspb$internal_array_state.markArrayImmutable = module$contents$jspb$internal_array_state_markArrayImmutable;
module$exports$jspb$internal_array_state.markArrayTransferred = module$contents$jspb$internal_array_state_markArrayTransferred;
module$exports$jspb$internal_array_state.markConstructed = function(arr) {
  (0,module$exports$jspb$internal_array_state.addArrayStateFlags)(arr, module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED);
  return arr;
};
module$exports$jspb$internal_array_state.markMutableReferencesAreOwned = module$contents$jspb$internal_array_state_markMutableReferencesAreOwned;
module$exports$jspb$internal_array_state.markOnlyMutableValues = function(arr, hasOnlyMutableValues) {
  hasOnlyMutableValues ? (0,module$exports$jspb$internal_array_state.addArrayStateFlags)(arr, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES) : (0,module$exports$jspb$internal_array_state.clearFlags)(arr, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES);
  return arr;
};
module$exports$jspb$internal_array_state.markRepeatedField = module$contents$jspb$internal_array_state_markRepeatedField;
module$exports$jspb$internal_array_state.markImmutableJsRepeatedFieldCoercedFromWire = function(arr) {
  (0,module$exports$jspb$internal_array_state.addArrayStateFlags)(arr, module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_JS_REPEATED_FIELD_COERCED_FROM_WIRE);
  return arr;
};
module$exports$jspb$internal_array_state.markShared = module$contents$jspb$internal_array_state_markShared;
module$exports$jspb$internal_array_state.setFlagBit = function(stateValue, flag) {
  return stateValue | flag;
};
module$exports$jspb$internal_array_state.setFlagBitTo = module$contents$jspb$internal_array_state_setFlagBitTo;
module$exports$jspb$internal_array_state.setStateOnPossiblyFrozenArray = function(array, newState) {
  Object.isFrozen(array) && (array = module$contents$jspb$internal_operations_slice(array));
  (0,module$exports$jspb$internal_array_state.setArrayState)(array, newState);
  return array;
};
function module$contents$jspb$unsafe_bytestring_unsafeByteStringFromUint8Array(array) {
  (0,goog.asserts.assertInstanceof)(array, Uint8Array);
  return array.length == 0 ? module$exports$jspb$bytestring.ByteString.empty() : new module$exports$jspb$bytestring.ByteString(array, module$exports$jspb$internal_bytes.I_AM_INTERNAL);
}
function module$contents$jspb$unsafe_bytestring_unsafeUint8ArrayFromByteString(bytestring) {
  (0,goog.asserts.assertInstanceof)(bytestring, module$exports$jspb$bytestring.ByteString);
  return bytestring.internalBytesUnsafe(module$exports$jspb$internal_bytes.I_AM_INTERNAL) || new Uint8Array(0);
}
;var module$exports$jspb$internal = {InternalMessage:function() {
}};
module$exports$jspb$internal.InternalMessage.prototype.isImmutable = function() {
};
module$exports$jspb$internal.InternalMessage.prototype.toStructuredCloneableValue = function() {
};
module$exports$jspb$internal.InternalMessage.prototype.getJsPbMessageId = function() {
};
module$exports$jspb$internal.InternalMessage.prototype.getExtension = function() {
};
module$exports$jspb$internal.InternalMessage.prototype.hasExtension = function() {
};
module$exports$jspb$internal.InternalImmutableMessage = function() {
};
module$exports$jspb$internal.InternalImmutableMessage.prototype.toMutable = function() {
};
module$exports$jspb$internal.InternalExtensionFieldInfo = function() {
};
var module$contents$jspb$internal_messageCtor;
function module$contents$jspb$internal_setMessageCtorInDebug(ctor) {
  goog.DEBUG && (module$contents$jspb$internal_messageCtor = ctor);
}
module$exports$jspb$internal.MESSAGE_PROTOTYPE_MARKER_VALUE = {};
function module$contents$jspb$internal_isMessage(v) {
  var result = v.messagePrototypeMarker === module$exports$jspb$internal.MESSAGE_PROTOTYPE_MARKER_VALUE;
  (0,goog.asserts.assert)(!module$contents$jspb$internal_messageCtor || result === v instanceof module$contents$jspb$internal_messageCtor);
  return result;
}
module$exports$jspb$internal.ANY_PROTOTYPE_MARKER_VALUE = {};
module$exports$jspb$internal.InternalMap = function() {
};
module$exports$jspb$internal.SerializeBinaryFnHolder = function() {
};
module$exports$jspb$internal.MAP_PROTOTYPE_MARKER_VALUE = {};
function module$contents$jspb$internal_isMap(v) {
  var result = !(!v || typeof v !== "object" || v.mapPrototypeMarker !== module$exports$jspb$internal.MAP_PROTOTYPE_MARKER_VALUE);
  (0,goog.asserts.assert)(result === v instanceof Map);
  return result;
}
function module$contents$jspb$internal_isEmptyMap(v) {
  return module$contents$jspb$internal_isMap(v) && (0,goog.asserts.assertInstanceof)(v, Map).size === 0;
}
function module$contents$jspb$internal_indexFromFieldNumber(fieldNumber, arrayIndexOffset) {
  (0,goog.asserts.assertNumber)(fieldNumber);
  (0,goog.asserts.assert)(fieldNumber > 0);
  (0,goog.asserts.assert)(arrayIndexOffset === 0 || arrayIndexOffset === -1);
  return fieldNumber + arrayIndexOffset;
}
function module$contents$jspb$internal_fieldNumberFromIndex(index, arrayIndexOffset) {
  (0,goog.asserts.assertNumber)(index);
  (0,goog.asserts.assert)(index >= 0);
  (0,goog.asserts.assert)(arrayIndexOffset === 0 || arrayIndexOffset === -1);
  return index - arrayIndexOffset;
}
function module$contents$jspb$internal_isImmutableMessage(msg) {
  return module$contents$jspb$internal_array_state_isImmutableArray(msg.internalArray_);
}
function module$contents$jspb$internal_isSparseObject(o) {
  return o !== null && typeof o === "object" && !Array.isArray(o) && o.constructor === Object;
}
function module$contents$jspb$internal_hasOwnPropertyIfNotTrusted(obj, property) {
  return goog.TRUSTED_SITE || Object.prototype.hasOwnProperty.call(obj, property);
}
module$exports$jspb$internal.EXEMPTED_SUBCLASS_MARKER = module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS ? Symbol(goog.DEBUG ? "exempted jspb subclass" : void 0) : void 0;
module$exports$jspb$internal.GENERATED_SUBCLASS_MARKER = module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS ? Symbol(goog.DEBUG ? "generated by jspb" : void 0) : void 0;
function module$contents$jspb$internal_invalidBytes(value) {
  throw goog.DEBUG ? Error("cannot coerce " + value + " to a ByteString, expected a uint8Array, a base64 encoded string or a ByteString") : Error();
}
function module$contents$jspb$internal_bytesAsByteString(value, invalidIsMissing, allowNullishValues, allowZeroCopy) {
  return value == null ? allowNullishValues ? value : module$contents$jspb$internal_invalidBytes(value) : typeof value === "string" ? module$exports$jspb$bytestring.ByteString.fromBase64(value) : value.constructor === module$exports$jspb$bytestring.ByteString ? value : module$contents$jspb$internal_bytes_isU8(value) ? value.length ? new module$exports$jspb$bytestring.ByteString(allowZeroCopy ? value : new Uint8Array(value), module$exports$jspb$internal_bytes.I_AM_INTERNAL) : module$exports$jspb$bytestring.ByteString.empty() : 
  invalidIsMissing ? void 0 : module$contents$jspb$internal_invalidBytes(value);
}
function module$contents$jspb$internal_maybeUnsafeUnwrapByteString(field) {
  if (field instanceof module$exports$jspb$bytestring.ByteString) {
    (0,goog.asserts.assertInstanceof)(field, module$exports$jspb$bytestring.ByteString);
    var JSCompiler_temp = field.internalUnwrap(module$exports$jspb$internal_bytes.I_AM_INTERNAL);
  } else {
    JSCompiler_temp = field;
  }
  return JSCompiler_temp;
}
function module$contents$jspb$internal_isRepeatedFieldInSet(repeatedFields, fieldNumber) {
  return !!repeatedFields && (Array.isArray(repeatedFields) ? repeatedFields.includes(fieldNumber) : repeatedFields.has(fieldNumber));
}
function module$contents$jspb$internal_isEmptyRepeatedField(value, repeatedFields, fieldNumber) {
  if (!Array.isArray(value) || value.length) {
    return !1;
  }
  var arrayState = (0,module$exports$jspb$internal_array_state.getArrayState)(value);
  if (arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD) {
    return !0;
  }
  if (!module$contents$jspb$internal_isRepeatedFieldInSet(repeatedFields, fieldNumber)) {
    return !1;
  }
  (0,module$exports$jspb$internal_array_state.setArrayState)(value, arrayState | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD);
  return !0;
}
var JSCompiler_inline_result$jscomp$141, array$jscomp$inline_289 = [];
(0,module$exports$jspb$internal_array_state.setArrayState)(array$jscomp$inline_289, module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED | module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED);
JSCompiler_inline_result$jscomp$141 = Object.freeze(array$jscomp$inline_289);
module$exports$jspb$internal.EMPTY_LIST_SENTINEL = JSCompiler_inline_result$jscomp$141;
function module$contents$jspb$internal_checkNotImmutable(msg) {
  module$contents$jspb$internal_checkNotImmutableState((0,module$exports$jspb$internal_array_state.getMessageArrayState)(msg.internalArray_));
}
function module$contents$jspb$internal_checkNotImmutableState(state) {
  if (state & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY) {
    if (goog.DEBUG) {
      throw Error("Cannot mutate an immutable Message");
    }
    throw Error();
  }
}
function module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(array, index) {
  if (typeof index !== "number" || index < 0 || index >= array.length) {
    if (goog.DEBUG) {
      throw Error("Index " + index + " out of range for field of length " + array.length + ".");
    }
    throw Error();
  }
}
function module$contents$jspb$internal_checkRepeatedIndexInRangeForSet(array, index) {
  if (typeof index !== "number" || index < 0 || index > array.length) {
    if (goog.DEBUG) {
      throw Error("Index " + index + " out of range for field of length " + array.length + ".");
    }
    throw Error();
  }
}
module$exports$jspb$internal.SUPPORTS_HAS_INSTANCE = goog.FEATURESET_YEAR >= 2018 || typeof Symbol != "undefined" && typeof Symbol.hasInstance != "undefined";
function module$contents$jspb$internal_invisiblePropValue(value) {
  return {value:value, configurable:!1, writable:!1, enumerable:!1};
}
function module$contents$jspb$internal_disallowPassingToStructuredClone(obj) {
  goog.DEBUG && (obj.preventPassingToStructuredClone = module$contents$jspb$internal_dontPassJspbTypeToStructuredClone);
}
function module$contents$jspb$internal_dontPassJspbTypeToStructuredClone() {
}
var module$contents$jspb$internal_ArrayIteratorIterable = function(arr, mapper, thisArg) {
  this.idx_ = 0;
  this.arr_ = arr;
  this.mapper = mapper;
  this.thisArg = thisArg;
};
module$contents$jspb$internal_ArrayIteratorIterable.prototype.next = function() {
  if (this.idx_ < this.arr_.length) {
    var next = this.arr_[this.idx_++];
    return {done:!1, value:this.mapper ? this.mapper.call(this.thisArg, next) : next};
  }
  return {done:!0, value:void 0};
};
module$contents$jspb$internal_ArrayIteratorIterable.prototype[Symbol.iterator] = function() {
  return new module$contents$jspb$internal_ArrayIteratorIterable(this.arr_, this.mapper, this.thisArg);
};
function module$contents$jspb$internal_newArrayIteratorIterable(array) {
  return new module$contents$jspb$internal_ArrayIteratorIterable(array);
}
function module$contents$jspb$internal_newTransformingIteratorIterable(array, mapper, thisArg) {
  return new module$contents$jspb$internal_ArrayIteratorIterable(array, mapper, thisArg);
}
var module$contents$jspb$internal_unknownBinaryFields;
function module$contents$jspb$internal_getUnknownFields(messageArray) {
  return module$contents$jspb$internal_unknownBinaryFields ? (0,goog.asserts.assertArray)(messageArray)[module$contents$jspb$internal_unknownBinaryFields] : void 0;
}
function module$contents$jspb$internal_addUnknownField(messageArray, unknownField) {
  (0,goog.asserts.assertArray)(messageArray);
  if (unknownField) {
    module$contents$jspb$internal_unknownBinaryFields || (module$contents$jspb$internal_unknownBinaryFields = goog.DEBUG ? Symbol("unknownBinaryFields") : Symbol());
    var fields = messageArray[module$contents$jspb$internal_unknownBinaryFields];
    fields ? fields.push(unknownField) : messageArray[module$contents$jspb$internal_unknownBinaryFields] = [unknownField];
  }
}
function module$contents$jspb$internal_clearUnknownFields(messageArray) {
  (0,goog.asserts.assertArray)(messageArray);
  module$contents$jspb$internal_unknownBinaryFields && module$contents$jspb$internal_unknownBinaryFields in messageArray && (messageArray[module$contents$jspb$internal_unknownBinaryFields] = void 0);
}
function module$contents$jspb$internal_copyUnknownFields(to, from, alsoClear) {
  (0,goog.asserts.assertArray)(to);
  (0,goog.asserts.assertArray)(from);
  var sourceFields = module$contents$jspb$internal_getUnknownFields(from);
  sourceFields ? to[module$contents$jspb$internal_unknownBinaryFields] = module$contents$jspb$internal_operations_slice(sourceFields) : alsoClear && module$contents$jspb$internal_clearUnknownFields(to);
}
module$exports$jspb$internal.ComparisonTypeInfo = function() {
};
module$exports$jspb$internal.ComparisonTypeInfo.prototype.getFieldComparisonTypeInfo = function() {
};
module$exports$jspb$internal.ComparisonTypeInfo.prototype.getRepeatedFields = function() {
};
module$exports$jspb$internal.ComparisonTypeInfo.prototype.getMapFields = function() {
};
var module$contents$jspb$internal_comparisonTypeInfoSymbol;
function module$contents$jspb$internal_getComparisonTypeInfoArraySymbol() {
  return module$contents$jspb$internal_comparisonTypeInfoSymbol || (module$contents$jspb$internal_comparisonTypeInfoSymbol = goog.DEBUG ? Symbol("JSPB_COMPARISON_TYPE_INFO") : Symbol());
}
function module$contents$jspb$internal_assertArrayInvariants(arr, skipFrozennessCheck) {
  if (goog.DEBUG) {
    var state = (0,module$exports$jspb$internal_array_state.getArrayState)((0,goog.asserts.assertArray)(arr));
    skipFrozennessCheck || (0,goog.asserts.assert)(!(state & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY && state & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED || state & module$exports$jspb$internal_array_state.ArrayStateFlags.FROZEN_ARRAY) || Object.isFrozen(arr));
    var onlyMutableValues = !!(state & module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES), onlyImmutableValues = !!(state & module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED && state & module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED);
    if (onlyMutableValues || onlyImmutableValues) {
      var hasMutableMessage, hasImmutableMessage, hasInlineArray;
      arr.forEach(function(v) {
        Array.isArray(v) ? hasInlineArray = !0 : v && module$contents$jspb$internal_isMessage(v) && (module$contents$jspb$internal_isImmutableMessage(v) ? hasImmutableMessage = !0 : hasMutableMessage = !0);
      });
      hasInlineArray && (0,goog.asserts.assert)(!hasImmutableMessage && !hasMutableMessage);
      onlyImmutableValues && (0,goog.asserts.assert)(!hasInlineArray && !hasMutableMessage);
      onlyMutableValues && (0,goog.asserts.assert)(!hasInlineArray && !hasImmutableMessage);
    }
    module$contents$jspb$internal_assertRepeated64BitIntegerFieldApiFormattingInvariants(arr);
  }
}
function module$contents$jspb$internal_assertRepeated64BitIntegerFieldApiFormattingInvariants(arr) {
  if (module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS) {
    var state = (0,module$exports$jspb$internal_array_state.getArrayState)(arr), isApiFormatted = state & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED, typeFormattedSetCount = (module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED & state ? 1 : 0) + (module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED & state ? 1 : 0);
    (0,goog.asserts.assert)(isApiFormatted && typeFormattedSetCount <= 1 || !isApiFormatted && typeFormattedSetCount === 0, "Expected at most 1 type-specific formatting bit, but got " + typeFormattedSetCount + " with state: " + state);
    if (module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS) {
      var state$jscomp$0 = (0,module$exports$jspb$internal_array_state.getArrayState)(arr);
      if (module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED & state$jscomp$0) {
        for (var i = 0; i < arr.length; i++) {
          typeof arr[i] !== "string" && (0,goog.asserts.fail)("Unexpected element of type " + typeof arr[i] + " in string formatted repeated 64-bit int field");
        }
      }
    }
  }
}
module$exports$jspb$internal.DO_NOT_FREEZE__LEGACY_OPTION = Object.freeze({});
module$exports$jspb$internal.DESCRIPTOR_TYPE_REFERENCE_INTERNAL_ARG = {};
var module$contents$jspb$internal_DEBUG_EXTENSIONS = goog.DEBUG ? Symbol("debugExtensions") : void 0;
module$exports$jspb$internal.addUnknownField = module$contents$jspb$internal_addUnknownField;
module$exports$jspb$internal.assertArrayInvariants = module$contents$jspb$internal_assertArrayInvariants;
module$exports$jspb$internal.assertRepeated64BitIntegerFieldApiFormattingInvariants = module$contents$jspb$internal_assertRepeated64BitIntegerFieldApiFormattingInvariants;
module$exports$jspb$internal.bytesAsByteString = module$contents$jspb$internal_bytesAsByteString;
module$exports$jspb$internal.bytesAsU8 = function(value) {
  return module$contents$jspb$internal_bytes_dataAsU8(module$contents$jspb$internal_maybeUnsafeUnwrapByteString(value));
};
module$exports$jspb$internal.checkNotImmutable = module$contents$jspb$internal_checkNotImmutable;
module$exports$jspb$internal.checkNotImmutableState = module$contents$jspb$internal_checkNotImmutableState;
module$exports$jspb$internal.checkRepeatedIndexInRangeForGet = module$contents$jspb$internal_checkRepeatedIndexInRangeForGet;
module$exports$jspb$internal.checkRepeatedIndexInRangeForSet = module$contents$jspb$internal_checkRepeatedIndexInRangeForSet;
module$exports$jspb$internal.clearUnknownFields = module$contents$jspb$internal_clearUnknownFields;
module$exports$jspb$internal.copyUnknownFields = module$contents$jspb$internal_copyUnknownFields;
module$exports$jspb$internal.disallowPassingToStructuredClone = module$contents$jspb$internal_disallowPassingToStructuredClone;
module$exports$jspb$internal.endsWith = function(str, suffix) {
  return str.lastIndexOf(suffix) === Math.max(0, str.length - suffix.length);
};
module$exports$jspb$internal.fieldNumberFromIndex = module$contents$jspb$internal_fieldNumberFromIndex;
module$exports$jspb$internal.getComparisonTypeInfoArraySymbol = module$contents$jspb$internal_getComparisonTypeInfoArraySymbol;
module$exports$jspb$internal.getExtensionRegistryForDebugging = function(parentCtor) {
  return parentCtor[module$contents$jspb$internal_DEBUG_EXTENSIONS];
};
module$exports$jspb$internal.getUnknownFields = module$contents$jspb$internal_getUnknownFields;
module$exports$jspb$internal.hasOwnPropertyIfNotTrusted = module$contents$jspb$internal_hasOwnPropertyIfNotTrusted;
module$exports$jspb$internal.indexFromFieldNumber = module$contents$jspb$internal_indexFromFieldNumber;
module$exports$jspb$internal.internalMarkMessageImmutable = function(value) {
  module$contents$jspb$internal_array_state_markArrayImmutable(value.internalArray_);
};
module$exports$jspb$internal.invisiblePropValue = module$contents$jspb$internal_invisiblePropValue;
module$exports$jspb$internal.isAny = function(v) {
  var fn = v.jspbInternalDoNotUseAnyMarker;
  return typeof fn === "function" ? fn() === module$exports$jspb$internal.ANY_PROTOTYPE_MARKER_VALUE : !1;
};
module$exports$jspb$internal.isEmptyMap = module$contents$jspb$internal_isEmptyMap;
module$exports$jspb$internal.isEmptyRepeatedField = module$contents$jspb$internal_isEmptyRepeatedField;
module$exports$jspb$internal.isImmutableMessage = module$contents$jspb$internal_isImmutableMessage;
module$exports$jspb$internal.isMap = module$contents$jspb$internal_isMap;
module$exports$jspb$internal.isMessage = module$contents$jspb$internal_isMessage;
module$exports$jspb$internal.isRepeatedFieldInSet = module$contents$jspb$internal_isRepeatedFieldInSet;
module$exports$jspb$internal.isSparseObject = module$contents$jspb$internal_isSparseObject;
module$exports$jspb$internal.iterateFields = function(internalArray, messageArrayState, callback) {
  var arrayIndexOffset = module$contents$jspb$internal_array_state_getArrayIndexOffset(messageArrayState), arrayLength = internalArray.length, hasSparseObject = messageArrayState === 0 ? !!arrayLength && module$contents$jspb$internal_isSparseObject(internalArray[arrayLength - 1]) : messageArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT, end = arrayLength + (hasSparseObject ? -1 : 0);
  (0,goog.asserts.assert)(!!hasSparseObject === module$contents$jspb$internal_isSparseObject(internalArray[arrayLength - 1]));
  for (var i = 0; i < end; i++) {
    var value = internalArray[i];
    callback(module$contents$jspb$internal_fieldNumberFromIndex(i, arrayIndexOffset), value);
  }
  if (hasSparseObject) {
    var sparseObject = internalArray[arrayLength - 1], k;
    for (k in sparseObject) {
      module$contents$jspb$internal_hasOwnPropertyIfNotTrusted(sparseObject, k) && !isNaN(k) && callback(+k, sparseObject[k]);
    }
  }
};
module$exports$jspb$internal.maybeUnsafeUnwrapByteString = module$contents$jspb$internal_maybeUnsafeUnwrapByteString;
module$exports$jspb$internal.newArrayIteratorIterable = module$contents$jspb$internal_newArrayIteratorIterable;
module$exports$jspb$internal.newRepeatedField = function() {
  return module$contents$jspb$internal_array_state_markRepeatedField([]);
};
module$exports$jspb$internal.newTransformingIteratorIterable = module$contents$jspb$internal_newTransformingIteratorIterable;
module$exports$jspb$internal.registerExtensionsForDebugging = function(ctor, extensions) {
  ctor[module$contents$jspb$internal_DEBUG_EXTENSIONS] = extensions;
};
module$exports$jspb$internal.setMessageCtorInDebug = module$contents$jspb$internal_setMessageCtorInDebug;
module$exports$jspb$internal.startsWith = function(str, prefix) {
  return str.indexOf(prefix) === 0;
};
var module$exports$jspb$BinaryConstants = {FieldType:{INVALID:-1, DOUBLE:1, FLOAT:2, INT64:3, UINT64:4, INT32:5, FIXED64:6, FIXED32:7, BOOL:8, STRING:9, GROUP:10, MESSAGE:11, BYTES:12, UINT32:13, ENUM:14, SFIXED32:15, SFIXED64:16, SINT32:17, SINT64:18}, WireType:{INVALID:-1, VARINT:0, FIXED64:1, DELIMITED:2, START_GROUP:3, END_GROUP:4, FIXED32:5}};
function module$contents$jspb$BinaryConstants_isValidWireType(wireType) {
  return wireType >= 0 && wireType <= 5;
}
module$exports$jspb$BinaryConstants.INVALID_FIELD_NUMBER = -1;
module$exports$jspb$BinaryConstants.INVALID_TAG = -1;
module$exports$jspb$BinaryConstants.FLOAT32_EPS = 1.401298464324817E-45;
module$exports$jspb$BinaryConstants.FLOAT32_MIN = 1.1754943508222875E-38;
module$exports$jspb$BinaryConstants.FLOAT32_MAX = 3.4028234663852886E38;
module$exports$jspb$BinaryConstants.FLOAT64_EPS = 4.9E-324;
module$exports$jspb$BinaryConstants.FLOAT64_MIN = 2.2250738585072014E-308;
module$exports$jspb$BinaryConstants.FLOAT64_MAX = 1.7976931348623157E308;
module$exports$jspb$BinaryConstants.TWO_TO_20 = 1048576;
module$exports$jspb$BinaryConstants.TWO_TO_23 = 8388608;
module$exports$jspb$BinaryConstants.TWO_TO_31 = 2147483648;
module$exports$jspb$BinaryConstants.TWO_TO_32 = 4294967296;
module$exports$jspb$BinaryConstants.TWO_TO_52 = 4503599627370496;
module$exports$jspb$BinaryConstants.TWO_TO_63 = 0x7fffffffffffffff;
module$exports$jspb$BinaryConstants.TWO_TO_64 = 1.8446744073709552E19;
module$exports$jspb$BinaryConstants.ZERO_HASH = "\x00\x00\x00\x00\x00\x00\x00\x00";
module$exports$jspb$BinaryConstants.MESSAGE_SET_GROUP_NUMBER = 1;
module$exports$jspb$BinaryConstants.MESSAGE_SET_TYPE_ID_FIELD_NUMBER = 2;
module$exports$jspb$BinaryConstants.MESSAGE_SET_MESSAGE_FIELD_NUMBER = 3;
module$exports$jspb$BinaryConstants.MESSAGE_SET_MAX_TYPE_ID = 4294967294;
module$exports$jspb$BinaryConstants.FieldTypeToWireType = function(fieldType) {
  switch(fieldType) {
    case module$exports$jspb$BinaryConstants.FieldType.INT32:
    case module$exports$jspb$BinaryConstants.FieldType.INT64:
    case module$exports$jspb$BinaryConstants.FieldType.UINT32:
    case module$exports$jspb$BinaryConstants.FieldType.UINT64:
    case module$exports$jspb$BinaryConstants.FieldType.SINT32:
    case module$exports$jspb$BinaryConstants.FieldType.SINT64:
    case module$exports$jspb$BinaryConstants.FieldType.BOOL:
    case module$exports$jspb$BinaryConstants.FieldType.ENUM:
      return module$exports$jspb$BinaryConstants.WireType.VARINT;
    case module$exports$jspb$BinaryConstants.FieldType.DOUBLE:
    case module$exports$jspb$BinaryConstants.FieldType.FIXED64:
    case module$exports$jspb$BinaryConstants.FieldType.SFIXED64:
      return module$exports$jspb$BinaryConstants.WireType.FIXED64;
    case module$exports$jspb$BinaryConstants.FieldType.STRING:
    case module$exports$jspb$BinaryConstants.FieldType.MESSAGE:
    case module$exports$jspb$BinaryConstants.FieldType.BYTES:
      return module$exports$jspb$BinaryConstants.WireType.DELIMITED;
    case module$exports$jspb$BinaryConstants.FieldType.FLOAT:
    case module$exports$jspb$BinaryConstants.FieldType.FIXED32:
    case module$exports$jspb$BinaryConstants.FieldType.SFIXED32:
      return module$exports$jspb$BinaryConstants.WireType.FIXED32;
    default:
      return module$exports$jspb$BinaryConstants.WireType.INVALID;
  }
};
module$exports$jspb$BinaryConstants.isValidWireType = module$contents$jspb$BinaryConstants_isValidWireType;
var module$exports$google3$javascript$common$asserts$internal = {};
module$exports$google3$javascript$common$asserts$internal.ENABLE_ASSERTS = module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS;
module$exports$google3$javascript$common$asserts$internal.StateGuard = function() {
};
module$exports$google3$javascript$common$asserts$internal.TypeGuard = function() {
};
module$exports$google3$javascript$common$asserts$internal.Context = function() {
};
module$exports$google3$javascript$common$asserts$internal.DebugGuard = function() {
};
module$exports$google3$javascript$common$asserts$internal.BrandedGuard = function() {
};
function module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(arg, seenSet) {
  seenSet = seenSet === void 0 ? new Set() : seenSet;
  if (!goog.DEBUG) {
    throw Error("basicPrettyPrint should only be used in DEBUG mode");
  }
  if (seenSet.has(arg)) {
    return "(Recursive reference)";
  }
  switch(typeof arg) {
    case "object":
      if (arg) {
        var prototype = Object.getPrototypeOf(arg);
        switch(prototype) {
          case Map.prototype:
          case Set.prototype:
          case Array.prototype:
            seenSet.add(arg);
            var val = "[" + Array.from(arg, function(a) {
              return module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(a, seenSet);
            }).join(", ") + "]";
            seenSet.delete(arg);
            prototype !== Array.prototype && (val = module$contents$google3$javascript$common$asserts$internal_functionName(prototype.constructor) + "(" + val + ")");
            return val;
          case Object.prototype:
            seenSet.add(arg);
            var val$jscomp$0 = "{" + Object.entries(arg).map(function($jscomp$destructuring$var14) {
              var $jscomp$destructuring$var15 = (0,$jscomp.makeIterator)($jscomp$destructuring$var14);
              var key__tsickle_destructured_1 = $jscomp$destructuring$var15.next().value;
              var value__tsickle_destructured_2 = $jscomp$destructuring$var15.next().value;
              return key__tsickle_destructured_1 + ": " + module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(value__tsickle_destructured_2, seenSet);
            }).join(", ") + "}";
            seenSet.delete(arg);
            return val$jscomp$0;
          default:
            var name = "Object";
            prototype && prototype.constructor && (name = module$contents$google3$javascript$common$asserts$internal_functionName(prototype.constructor));
            return typeof arg.toString === "function" && arg.toString !== Object.prototype.toString ? name + "(" + String(arg) + ")" : "(object " + name + ")";
        }
      }
      break;
    case "function":
      return "function " + module$contents$google3$javascript$common$asserts$internal_functionName(arg);
    case "number":
      if (!Number.isFinite(arg)) {
        return String(arg);
      }
      break;
    case "bigint":
      return arg.toString(10) + "n";
    case "symbol":
      return arg.toString();
  }
  return JSON.stringify(arg);
}
module$exports$google3$javascript$common$asserts$internal.basicPrettyPrint = module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint;
function module$contents$google3$javascript$common$asserts$internal_functionName(f) {
  var displayName = f.displayName;
  if (displayName && typeof displayName === "string") {
    return displayName;
  }
  var fnName = f.name;
  if (fnName && typeof fnName === "string") {
    return fnName;
  }
  var nameMatch = /function\s+([^\(]+)/m.exec(String(f));
  return nameMatch ? nameMatch[1] : "(Anonymous)";
}
module$exports$google3$javascript$common$asserts$internal.functionName = module$contents$google3$javascript$common$asserts$internal_functionName;
module$exports$google3$javascript$common$asserts$internal.Result = function() {
};
function module$contents$google3$javascript$common$asserts$internal_isOptionalGuard(guard) {
  return guard.isOptionalGuard_doNotManuallySetPrettyPlease === !0;
}
module$exports$google3$javascript$common$asserts$internal.isOptionalGuard = module$contents$google3$javascript$common$asserts$internal_isOptionalGuard;
function module$contents$google3$javascript$common$asserts$asserts_assert(arg, guard, msg) {
  if (module$exports$google3$javascript$common$asserts$internal.ENABLE_ASSERTS) {
    a: {
      var keepInProdMsgFunc = module$contents$google3$javascript$common$asserts$asserts_keepInProdMsg;
      if (!goog.DEBUG) {
        if (guard(arg)) {
          break a;
        }
        var $jscomp$inline_299, $jscomp$inline_300, extraMsg = ($jscomp$inline_300 = ($jscomp$inline_299 = module$contents$google3$javascript$common$asserts$asserts_formatLazyMsg(keepInProdMsgFunc)) == null ? void 0 : $jscomp$inline_299.concat("\n")) != null ? $jscomp$inline_300 : "";
        throw Error(extraMsg + String(arg));
      }
      var context = [];
      module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(guard, arg, context) || module$contents$google3$javascript$common$asserts$asserts_throwGuardFailure.apply(null, [msg, keepInProdMsgFunc, "Guard " + module$contents$google3$javascript$common$asserts$asserts_guardName(guard) + " failed:"].concat((0,$jscomp.arrayFromIterable)(context.reverse())));
    }
  }
}
function module$contents$google3$javascript$common$asserts$asserts_cast(arg, guard, msg) {
  module$contents$google3$javascript$common$asserts$asserts_assert(arg, guard, msg);
  return arg;
}
function module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(stateGuardFn, guardName) {
  stateGuardFn.isGuard_doNotManuallySetPrettyPlease = !0;
  if (!goog.DEBUG) {
    return stateGuardFn;
  }
  stateGuardFn.guardName = typeof guardName === "function" ? guardName : function() {
    return guardName;
  };
  return stateGuardFn;
}
function module$contents$google3$javascript$common$asserts$asserts_guardName(guard) {
  return goog.DEBUG ? guard.guardName().trim() : "";
}
function module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(guard, arg, context, contextMsg) {
  if (!goog.DEBUG) {
    return guard(arg);
  }
  var guardPassed = guard(arg, context);
  guardPassed || module$contents$google3$javascript$common$asserts$asserts_addMessageToContext(context, function() {
    var additionalContext = contextMsg ? (typeof contextMsg === "function" ? contextMsg() : contextMsg).trim() : "";
    additionalContext.length > 0 && (additionalContext += ": ");
    return additionalContext + "Expected " + module$contents$google3$javascript$common$asserts$asserts_guardName(guard) + ", got " + module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(arg);
  });
  return guardPassed;
}
function module$contents$google3$javascript$common$asserts$asserts_addMessageToContext(context, contextMsg) {
  goog.DEBUG && (context == null || context.push((typeof contextMsg === "function" ? contextMsg() : contextMsg).trim()));
}
var module$contents$google3$javascript$common$asserts$asserts_keepInProdMsg = void 0;
function module$contents$google3$javascript$common$asserts$asserts_formatLazyMsg(msg) {
  return typeof msg === "function" ? msg() : msg;
}
function module$contents$google3$javascript$common$asserts$asserts_throwGuardFailure() {
  throw Error($jscomp.getRestArguments.apply(0, arguments).map(module$contents$google3$javascript$common$asserts$asserts_formatLazyMsg).filter(Boolean).join("\n").trim().replace(/:$/, ""));
}
;var module$exports$google3$javascript$common$asserts$guards = {};
module$exports$google3$javascript$common$asserts$guards.isNumber = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return typeof arg === "number";
}, "number");
module$exports$google3$javascript$common$asserts$guards.isZero = module$contents$google3$javascript$common$asserts$guards_isLiteral(0);
module$exports$google3$javascript$common$asserts$guards.isSafeInteger = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return Number.isSafeInteger(arg);
}, "isSafeInteger");
module$exports$google3$javascript$common$asserts$guards.isInteger = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return Number.isInteger(arg);
}, "isInteger");
module$exports$google3$javascript$common$asserts$guards.isFinite = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return Number.isFinite(arg);
}, "isFinite");
module$exports$google3$javascript$common$asserts$guards.isGreaterThan = function(min) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return arg > min;
  }, function() {
    return "isGreaterThan(" + module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(min) + ")";
  });
};
module$exports$google3$javascript$common$asserts$guards.isAtLeast = module$contents$google3$javascript$common$asserts$guards_isGte;
module$exports$google3$javascript$common$asserts$guards.isGreaterThanOrEqualTo = module$contents$google3$javascript$common$asserts$guards_isGte;
function module$contents$google3$javascript$common$asserts$guards_isGte(min) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return arg >= min;
  }, function() {
    return "isGreaterThanOrEqualTo(" + module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(min) + ")";
  });
}
module$exports$google3$javascript$common$asserts$guards.isLessThan = function(max) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return arg < max;
  }, function() {
    return "isLessThan(" + module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(max) + ")";
  });
};
module$exports$google3$javascript$common$asserts$guards.isLessThanOrEqualTo = module$contents$google3$javascript$common$asserts$guards_isLte;
module$exports$google3$javascript$common$asserts$guards.isAtMost = module$contents$google3$javascript$common$asserts$guards_isLte;
function module$contents$google3$javascript$common$asserts$guards_isLte(max) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return arg <= max;
  }, function() {
    return "isLessThanOrEqualTo(" + module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(max) + ")";
  });
}
module$exports$google3$javascript$common$asserts$guards.isString = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return typeof arg === "string";
}, "string");
module$exports$google3$javascript$common$asserts$guards.isEmptyString = module$contents$google3$javascript$common$asserts$guards_isLiteral("");
module$exports$google3$javascript$common$asserts$guards.isNotBlank = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return arg.trim() !== "";
}, "isNotBlank");
module$exports$google3$javascript$common$asserts$guards.isBlank = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return arg.trim() === "";
}, "isBlank");
module$exports$google3$javascript$common$asserts$guards.startsWith = function(prefix) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return arg.startsWith(prefix);
  }, function() {
    return "startsWith(" + module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(prefix) + ")";
  });
};
module$exports$google3$javascript$common$asserts$guards.endsWith = function(suffix) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return arg.endsWith(suffix);
  }, function() {
    return "endsWith(" + module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(suffix) + ")";
  });
};
module$exports$google3$javascript$common$asserts$guards.stringIncludes = function(subString) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return arg.includes(subString);
  }, function() {
    return "stringIncludes(" + module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(subString) + ")";
  });
};
module$exports$google3$javascript$common$asserts$guards.stringMatches = function(regExp) {
  module$contents$google3$javascript$common$asserts$asserts_assert(regExp, module$contents$google3$javascript$common$asserts$guards_isAllOf(module$contents$google3$javascript$common$asserts$guards_isNot(module$contents$google3$javascript$common$asserts$guards_isGlobalRegExp), module$contents$google3$javascript$common$asserts$guards_isNot(module$contents$google3$javascript$common$asserts$guards_isStickyRegExp)), "stringMatches does not support global nor sticky regular expressions as they can make the returned state guard behave inconsistently");
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return regExp.test(arg);
  }, function() {
    return "stringMatches(" + regExp + ")";
  });
};
module$exports$google3$javascript$common$asserts$guards.isBoolean = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return typeof arg === "boolean";
}, "boolean");
module$exports$google3$javascript$common$asserts$guards.isBigInt = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return typeof arg === "bigint";
}, "bigint");
module$exports$google3$javascript$common$asserts$guards.isNull = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return arg === null;
}, "null");
module$exports$google3$javascript$common$asserts$guards.isUndefined = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return arg === void 0;
}, "undefined");
module$exports$google3$javascript$common$asserts$guards.isNullish = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return arg == null;
}, "null | undefined");
function module$contents$google3$javascript$common$asserts$guards_isLiteral(literal) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return arg === literal;
  }, function() {
    return module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(literal);
  });
}
module$exports$google3$javascript$common$asserts$guards.isLiteral = module$contents$google3$javascript$common$asserts$guards_isLiteral;
module$exports$google3$javascript$common$asserts$guards.isAnyLiteralOf = function() {
  var literals = $jscomp.getRestArguments.apply(0, arguments), literalSet = new Set(literals);
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return literalSet.has(arg);
  }, function() {
    return literals.map(function(l) {
      return module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(l);
    }).join("|");
  });
};
module$exports$google3$javascript$common$asserts$guards.isEnumMemberOf = function(enumContainer, name) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    for (var key in enumContainer) {
      if (arg === enumContainer[key] && !/^[0-9]+$/.test(key)) {
        return !0;
      }
    }
    return !1;
  }, function() {
    return name != null ? name : "unknown enum";
  });
};
module$exports$google3$javascript$common$asserts$guards.isThenable = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return arg != null && typeof arg === "object" && typeof arg.then === "function";
}, "Thenable");
module$exports$google3$javascript$common$asserts$guards.isFunction = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return typeof arg === "function";
}, "Function");
module$exports$google3$javascript$common$asserts$guards.isGuard = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg, context) {
  return module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(module$exports$google3$javascript$common$asserts$guards.isFunction, arg, context) ? arg.isGuard_doNotManuallySetPrettyPlease === !0 : !1;
}, "isGuard");
module$exports$google3$javascript$common$asserts$guards.isDate = module$contents$google3$javascript$common$asserts$guards_isInstanceOf(Date);
module$exports$google3$javascript$common$asserts$guards.isValidDate = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return !isNaN(arg);
}, "isValidDate");
var module$contents$google3$javascript$common$asserts$guards_isGlobalRegExp = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return arg.global;
}, "isGlobalRegExp"), module$contents$google3$javascript$common$asserts$guards_isStickyRegExp = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return arg.sticky;
}, "isStickyRegExp");
module$exports$google3$javascript$common$asserts$guards.isObject = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return !!arg && (typeof arg === "object" || typeof arg === "function");
}, "object");
function module$contents$google3$javascript$common$asserts$guards_isInstanceOf(c) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return arg instanceof c;
  }, function() {
    return module$contents$google3$javascript$common$asserts$internal_functionName(c);
  });
}
module$exports$google3$javascript$common$asserts$guards.isInstanceOf = module$contents$google3$javascript$common$asserts$guards_isInstanceOf;
module$exports$google3$javascript$common$asserts$guards.isStruct = function(guardSpec, typeName) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg, context) {
    if (!(0,module$exports$google3$javascript$common$asserts$guards.isObject)(arg)) {
      return !1;
    }
    for (var $jscomp$iter$65 = (0,$jscomp.makeIterator)(Object.entries(guardSpec)), $jscomp$key$325667776$35$ = $jscomp$iter$65.next(); !$jscomp$key$325667776$35$.done; $jscomp$key$325667776$35$ = $jscomp$iter$65.next()) {
      var $jscomp$destructuring$var17 = (0,$jscomp.makeIterator)($jscomp$key$325667776$35$.value), key__tsickle_destructured_1 = $jscomp$destructuring$var17.next().value, guard__tsickle_destructured_2 = $jscomp$destructuring$var17.next().value, key = key__tsickle_destructured_1, guard = guard__tsickle_destructured_2;
      if (!(key in arg)) {
        if (module$contents$google3$javascript$common$asserts$internal_isOptionalGuard(guard)) {
          continue;
        }
        module$contents$google3$javascript$common$asserts$asserts_addMessageToContext(context, "Missing required property " + key);
        return !1;
      }
      if (!module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(guard, arg[key], context, "For property " + key)) {
        return !1;
      }
    }
    return !0;
  }, typeName);
};
module$exports$google3$javascript$common$asserts$guards.isOptional = function(innerGuard) {
  return module$contents$google3$javascript$common$asserts$guards_markOptional(module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg, context) {
    return arg === void 0 ? !0 : innerGuard(arg, context);
  }, function() {
    return "optional " + module$contents$google3$javascript$common$asserts$asserts_guardName(innerGuard);
  }));
};
function module$contents$google3$javascript$common$asserts$guards_markOptional(guard) {
  guard.isOptionalGuard_doNotManuallySetPrettyPlease = !0;
  return guard;
}
module$exports$google3$javascript$common$asserts$guards.isUnknown = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function() {
  return !0;
}, "unknown");
module$exports$google3$javascript$common$asserts$guards.isArray = module$contents$google3$javascript$common$asserts$guards_arrayGuardBase();
module$exports$google3$javascript$common$asserts$guards.isMutableArray = module$contents$google3$javascript$common$asserts$guards_arrayGuardBase();
function module$contents$google3$javascript$common$asserts$guards_arrayGuardBase() {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return Array.isArray(arg);
  }, "Array<unknown>");
}
module$exports$google3$javascript$common$asserts$guards.isArrayOf = function(itemGuard) {
  return module$contents$google3$javascript$common$asserts$guards_mutableArrayGuard(itemGuard);
};
module$exports$google3$javascript$common$asserts$guards.isMutableArrayOf = function(itemGuard) {
  return module$contents$google3$javascript$common$asserts$guards_mutableArrayGuard(itemGuard);
};
function module$contents$google3$javascript$common$asserts$guards_mutableArrayGuard(itemGuard) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg, context) {
    return module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(module$exports$google3$javascript$common$asserts$guards.isMutableArray, arg, context) ? arg.every(function(value, i) {
      return module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(itemGuard, value, context, "At index " + i);
    }) : !1;
  }, function() {
    return "Array<" + module$contents$google3$javascript$common$asserts$asserts_guardName(itemGuard) + ">";
  });
}
module$exports$google3$javascript$common$asserts$guards.isTupleOf = function() {
  return module$contents$google3$javascript$common$asserts$guards_mutableTupleGuard($jscomp.getRestArguments.apply(0, arguments));
};
module$exports$google3$javascript$common$asserts$guards.isMutableTupleOf = function() {
  return module$contents$google3$javascript$common$asserts$guards_mutableTupleGuard($jscomp.getRestArguments.apply(0, arguments));
};
function module$contents$google3$javascript$common$asserts$guards_mutableTupleGuard(guards) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg, context) {
    if (!module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(module$exports$google3$javascript$common$asserts$guards.isArray, arg, context)) {
      return !1;
    }
    if (arg.length !== guards.length) {
      return module$contents$google3$javascript$common$asserts$asserts_addMessageToContext(context, "Expected " + guards.length + " elements; got " + arg.length + " elements"), !1;
    }
    for (var i = 0; i < arg.length; ++i) {
      if (!module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(guards[i], arg[i], context, "At index " + i)) {
        return !1;
      }
    }
    return !0;
  }, function() {
    return "[" + guards.map(module$contents$google3$javascript$common$asserts$asserts_guardName).join(", ") + "]";
  });
}
module$exports$google3$javascript$common$asserts$guards.isSet = module$contents$google3$javascript$common$asserts$guards_setGuardBase();
module$exports$google3$javascript$common$asserts$guards.isMutableSet = module$contents$google3$javascript$common$asserts$guards_setGuardBase();
function module$contents$google3$javascript$common$asserts$guards_setGuardBase() {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return arg instanceof Set;
  }, "Set<unknown>");
}
module$exports$google3$javascript$common$asserts$guards.isSetOf = function(itemGuard) {
  return module$contents$google3$javascript$common$asserts$guards_mutableSetGuard(itemGuard);
};
module$exports$google3$javascript$common$asserts$guards.isMutableSetOf = function(itemGuard) {
  return module$contents$google3$javascript$common$asserts$guards_mutableSetGuard(itemGuard);
};
function module$contents$google3$javascript$common$asserts$guards_mutableSetGuard(itemGuard) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg, context) {
    if (!module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(module$exports$google3$javascript$common$asserts$guards.isMutableSet, arg, context)) {
      return !1;
    }
    for (var $jscomp$iter$66 = (0,$jscomp.makeIterator)(arg.entries()), $jscomp$key$325667776$36$kV = $jscomp$iter$66.next(); !$jscomp$key$325667776$36$kV.done; $jscomp$key$325667776$36$kV = $jscomp$iter$66.next()) {
      if (!module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(itemGuard, $jscomp$key$325667776$36$kV.value[1], context)) {
        return !1;
      }
    }
    return !0;
  }, function() {
    return "Set<" + module$contents$google3$javascript$common$asserts$asserts_guardName(itemGuard) + ">";
  });
}
module$exports$google3$javascript$common$asserts$guards.isMap = module$contents$google3$javascript$common$asserts$guards_mapGuardBase();
module$exports$google3$javascript$common$asserts$guards.isMutableMap = module$contents$google3$javascript$common$asserts$guards_mapGuardBase();
function module$contents$google3$javascript$common$asserts$guards_mapGuardBase() {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return arg instanceof Map;
  }, "Map<unknown, unknown>");
}
module$exports$google3$javascript$common$asserts$guards.isMapOf = function(keyGuard, valueGuard) {
  return module$contents$google3$javascript$common$asserts$guards_mutableMapGuard(keyGuard, valueGuard);
};
module$exports$google3$javascript$common$asserts$guards.isMutableMapOf = function(keyGuard, valueGuard) {
  return module$contents$google3$javascript$common$asserts$guards_mutableMapGuard(keyGuard, valueGuard);
};
function module$contents$google3$javascript$common$asserts$guards_mutableMapGuard(keyGuard, valueGuard) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg, context) {
    if (!module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(module$exports$google3$javascript$common$asserts$guards.isMutableMap, arg, context)) {
      return !1;
    }
    for (var $jscomp$iter$67 = (0,$jscomp.makeIterator)(arg.entries()), $jscomp$key$325667776$37$ = $jscomp$iter$67.next(), $jscomp$loop$325667776$38 = {}; !$jscomp$key$325667776$37$.done; $jscomp$loop$325667776$38 = {key$jscomp$82:void 0}, $jscomp$key$325667776$37$ = $jscomp$iter$67.next()) {
      var $jscomp$destructuring$var19 = (0,$jscomp.makeIterator)($jscomp$key$325667776$37$.value), key__tsickle_destructured_3 = $jscomp$destructuring$var19.next().value, val__tsickle_destructured_4 = $jscomp$destructuring$var19.next().value;
      $jscomp$loop$325667776$38.key$jscomp$82 = key__tsickle_destructured_3;
      var val = val__tsickle_destructured_4;
      if (!module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(keyGuard, $jscomp$loop$325667776$38.key$jscomp$82, context, function($jscomp$loop$325667776$38) {
        return function() {
          return "For key " + $jscomp$loop$325667776$38.key$jscomp$82;
        };
      }($jscomp$loop$325667776$38)) || !module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(valueGuard, val, context, function($jscomp$loop$325667776$38) {
        return function() {
          return "For key " + $jscomp$loop$325667776$38.key$jscomp$82 + ", checking value";
        };
      }($jscomp$loop$325667776$38))) {
        return !1;
      }
    }
    return !0;
  }, function() {
    return "Map<" + module$contents$google3$javascript$common$asserts$asserts_guardName(keyGuard) + ", " + module$contents$google3$javascript$common$asserts$asserts_guardName(valueGuard) + ">";
  });
}
function module$contents$google3$javascript$common$asserts$guards_isAnyOf() {
  var guards = $jscomp.getRestArguments.apply(0, arguments);
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return guards.some(function(guard) {
      return guard(arg);
    });
  }, function() {
    return "" + guards.map(function(guard) {
      return module$contents$google3$javascript$common$asserts$asserts_guardName(guard);
    }).join(" | ");
  });
}
module$exports$google3$javascript$common$asserts$guards.isAnyOf = module$contents$google3$javascript$common$asserts$guards_isAnyOf;
function module$contents$google3$javascript$common$asserts$guards_isAllOf() {
  var guards = $jscomp.getRestArguments.apply(0, arguments);
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg, context) {
    return guards.every(function(guard, i) {
      return module$contents$google3$javascript$common$asserts$asserts_executeNestedGuard(guard, arg, context, function() {
        return "At Guards index " + i;
      });
    });
  }, function() {
    return "" + guards.map(function(g) {
      return module$contents$google3$javascript$common$asserts$asserts_guardName(g);
    }).join(" & ");
  });
}
module$exports$google3$javascript$common$asserts$guards.isAllOf = module$contents$google3$javascript$common$asserts$guards_isAllOf;
function module$contents$google3$javascript$common$asserts$guards_isNot(innerGuard) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
    return !innerGuard(arg);
  }, "isNot(" + module$contents$google3$javascript$common$asserts$asserts_guardName(innerGuard) + ")");
}
module$exports$google3$javascript$common$asserts$guards.isNot = module$contents$google3$javascript$common$asserts$guards_isNot;
var module$exports$google3$javascript$common$bigint$platform = {};
module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE = goog.FEATURESET_YEAR >= 2021 || typeof goog.global.BigInt === "function" && typeof goog.global.BigInt(0) === "bigint";
module$exports$google3$javascript$common$bigint$platform.ODD_FORCED_STRING_IN_DEBUG = !1;
var module$exports$google3$third_party$javascript$jsbi$g3_wrapper$debug_boxed_bigint = {DebugBoxedBigInt:function(val) {
  this.val = val;
}};
module$exports$google3$third_party$javascript$jsbi$g3_wrapper$debug_boxed_bigint.DebugBoxedBigInt.prototype.toString = function(radix) {
  return this.val.toString(radix);
};
module$exports$google3$third_party$javascript$jsbi$g3_wrapper$debug_boxed_bigint.DebugBoxedBigInt.prototype.valueOf = function() {
  throw Error("Convert JSBI instances to native numbers using `toNumber`.");
};
module$exports$google3$third_party$javascript$jsbi$g3_wrapper$debug_boxed_bigint.DebugBoxedBigInt.prototype[Symbol.toPrimitive] = function() {
  return this.val;
};
/*

 Copyright 2018 Google Inc
 SPDX-License-Identifier: Apache-2.0
*/
var module$exports$google3$third_party$javascript$jsbi$lib$jsbi = {default:function(length, sign) {
  var $jscomp$super$this$m1658755558$0 = $jscomp.construct(Array, [length], this.constructor);
  $jscomp$super$this$m1658755558$0.sign = sign;
  Object.setPrototypeOf($jscomp$super$this$m1658755558$0, module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype);
  if (length > module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kMaxLength) {
    throw new RangeError("Maximum BigInt size exceeded");
  }
  return $jscomp$super$this$m1658755558$0;
}};
$jscomp.inherits(module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default, Array);
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.BigInt = function(arg) {
  if (typeof arg === "number") {
    if (arg === 0) {
      return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero();
    }
    if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isOneDigitInt(arg)) {
      return arg < 0 ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__oneDigit(-arg, !0) : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__oneDigit(arg, !1);
    }
    if (!Number.isFinite(arg) || Math.floor(arg) !== arg) {
      throw new RangeError("The number " + arg + " cannot be converted to BigInt because it is not an integer");
    }
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__fromDouble(arg);
  }
  if (typeof arg === "string") {
    var result = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__fromString(arg);
    if (result === null) {
      throw new SyntaxError("Cannot convert " + arg + " to a BigInt");
    }
    return result;
  }
  if (typeof arg === "boolean") {
    return arg === !0 ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__oneDigit(1, !1) : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero();
  }
  if (typeof arg === "object") {
    if (arg.constructor === module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default) {
      return arg;
    }
    var primitive = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toPrimitive(arg);
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.BigInt(primitive);
  }
  throw new TypeError("Cannot convert " + arg + " to a BigInt");
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.toString = function(radix) {
  radix = radix === void 0 ? 10 : radix;
  if (radix < 2 || radix > 36) {
    throw new RangeError("toString() radix argument must be between 2 and 36");
  }
  return this.length === 0 ? "0" : (radix & radix - 1) === 0 ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toStringBasePowerOfTwo(this, radix) : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toStringGeneric(this, radix, !1);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.valueOf = function() {
  throw Error("Convert JSBI instances to native numbers using `toNumber`.");
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.toNumber = function(x) {
  var xLength = x.length;
  if (xLength === 0) {
    return 0;
  }
  if (xLength === 1) {
    var value = x.__unsignedDigit(0);
    return x.sign ? -value : value;
  }
  var xMsd = x.__digit(xLength - 1), msdLeadingZeros = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__clz30(xMsd), xBitLength = xLength * 30 - msdLeadingZeros;
  if (xBitLength > 1024) {
    return x.sign ? -Infinity : Infinity;
  }
  var exponent = xBitLength - 1, currentDigit = xMsd, digitIndex = xLength - 1, shift = msdLeadingZeros + 3;
  var mantissaHigh = (shift === 32 ? 0 : currentDigit << shift) >>> 12;
  var mantissaHighBitsUnset = shift - 12, mantissaLow = shift >= 12 ? 0 : currentDigit << 20 + shift, mantissaLowBitsUnset = 20 + shift;
  mantissaHighBitsUnset > 0 && digitIndex > 0 && (digitIndex--, currentDigit = x.__digit(digitIndex), mantissaHigh |= currentDigit >>> 30 - mantissaHighBitsUnset, mantissaLow = currentDigit << mantissaHighBitsUnset + 2, mantissaLowBitsUnset = mantissaHighBitsUnset + 2);
  for (; mantissaLowBitsUnset > 0 && digitIndex > 0;) {
    digitIndex--, currentDigit = x.__digit(digitIndex), mantissaLow = mantissaLowBitsUnset >= 30 ? mantissaLow | currentDigit << mantissaLowBitsUnset - 30 : mantissaLow | currentDigit >>> 30 - mantissaLowBitsUnset, mantissaLowBitsUnset -= 30;
  }
  var rounding = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__decideRounding(x, mantissaLowBitsUnset, digitIndex, currentDigit);
  if (rounding === 1 || rounding === 0 && (mantissaLow & 1) === 1) {
    if (mantissaLow = mantissaLow + 1 >>> 0, mantissaLow === 0 && (mantissaHigh++, mantissaHigh >>> 20 !== 0 && (mantissaHigh = 0, exponent++, exponent > 1023))) {
      return x.sign ? -Infinity : Infinity;
    }
  }
  module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionInts[1] = (x.sign ? -2147483648 : 0) | exponent + 1023 << 20 | mantissaHigh;
  module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionInts[0] = mantissaLow;
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionDouble[0];
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.unaryMinus = function(x) {
  if (x.length === 0) {
    return x;
  }
  var result = x.__copy();
  result.sign = !x.sign;
  return result;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.bitwiseNot = function(x) {
  return x.sign ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSubOne(x).__trim() : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAddOne(x, !0);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.exponentiate = function(x, y) {
  if (y.sign) {
    throw new RangeError("Exponent must be positive");
  }
  if (y.length === 0) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__oneDigit(1, !1);
  }
  if (x.length === 0) {
    return x;
  }
  if (x.length === 1 && x.__digit(0) === 1) {
    return x.sign && (y.__digit(0) & 1) === 0 ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.unaryMinus(x) : x;
  }
  if (y.length > 1) {
    throw new RangeError("BigInt too big");
  }
  var expValue = y.__unsignedDigit(0);
  if (expValue === 1) {
    return x;
  }
  if (expValue >= module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kMaxLengthBits) {
    throw new RangeError("BigInt too big");
  }
  if (x.length === 1 && x.__digit(0) === 2) {
    var neededDigits = 1 + (expValue / 30 | 0), result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(neededDigits, x.sign && (expValue & 1) !== 0);
    result.__initializeDigits();
    result.__setDigit(neededDigits - 1, 1 << expValue % 30);
    return result;
  }
  var result$jscomp$0 = null, runningSquare = x;
  (expValue & 1) !== 0 && (result$jscomp$0 = x);
  for (expValue >>= 1; expValue !== 0; expValue >>= 1) {
    runningSquare = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.multiply(runningSquare, runningSquare), (expValue & 1) !== 0 && (result$jscomp$0 = result$jscomp$0 === null ? runningSquare : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.multiply(result$jscomp$0, runningSquare));
  }
  return result$jscomp$0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.multiply = function(x, y) {
  if (x.length === 0) {
    return x;
  }
  if (y.length === 0) {
    return y;
  }
  var resultLength = x.length + y.length;
  x.__clzmsd() + y.__clzmsd() >= 30 && resultLength--;
  var result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(resultLength, x.sign !== y.sign);
  result.__initializeDigits();
  for (var i = 0; i < x.length; i++) {
    module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__multiplyAccumulate(y, x.__digit(i), result, i);
  }
  return result.__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.divide = function(x, y) {
  if (y.length === 0) {
    throw new RangeError("Division by zero");
  }
  if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteCompare(x, y) < 0) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero();
  }
  var resultSign = x.sign !== y.sign, divisor = y.__unsignedDigit(0);
  if (y.length === 1 && divisor <= 32767) {
    if (divisor === 1) {
      return resultSign === x.sign ? x : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.unaryMinus(x);
    }
    var quotient = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteDivSmall(x, divisor, null);
  } else {
    quotient = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteDivLarge(x, y, !0, !1);
  }
  quotient.sign = resultSign;
  return quotient.__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.remainder = function(x, y) {
  if (y.length === 0) {
    throw new RangeError("Division by zero");
  }
  if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteCompare(x, y) < 0) {
    return x;
  }
  var divisor = y.__unsignedDigit(0);
  if (y.length === 1 && divisor <= 32767) {
    if (divisor === 1) {
      return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero();
    }
    var remainderDigit = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteModSmall(x, divisor);
    return remainderDigit === 0 ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero() : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__oneDigit(remainderDigit, x.sign);
  }
  var remainder = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteDivLarge(x, y, !1, !0);
  remainder.sign = x.sign;
  return remainder.__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.add = function(x, y) {
  var sign = x.sign;
  return sign === y.sign ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAdd(x, y, sign) : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteCompare(x, y) >= 0 ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSub(x, y, sign) : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSub(y, x, !sign);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.subtract = function(x, y) {
  var sign = x.sign;
  return sign !== y.sign ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAdd(x, y, sign) : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteCompare(x, y) >= 0 ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSub(x, y, sign) : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSub(y, x, !sign);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.leftShift = function(x, y) {
  return y.length === 0 || x.length === 0 ? x : y.sign ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__rightShiftByAbsolute(x, y) : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__leftShiftByAbsolute(x, y);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.signedRightShift = function(x, y) {
  return y.length === 0 || x.length === 0 ? x : y.sign ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__leftShiftByAbsolute(x, y) : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__rightShiftByAbsolute(x, y);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.unsignedRightShift = function() {
  throw new TypeError("BigInts have no unsigned right shift; use >> instead");
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.lessThan = function(x, y) {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToBigInt(x, y) < 0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.lessThanOrEqual = function(x, y) {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToBigInt(x, y) <= 0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.greaterThan = function(x, y) {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToBigInt(x, y) > 0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.greaterThanOrEqual = function(x, y) {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToBigInt(x, y) >= 0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.equal = function(x, y) {
  if (x.sign !== y.sign || x.length !== y.length) {
    return !1;
  }
  for (var i = 0; i < x.length; i++) {
    if (x.__digit(i) !== y.__digit(i)) {
      return !1;
    }
  }
  return !0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.notEqual = function(x, y) {
  return !module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.equal(x, y);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.bitwiseAnd = function(x, y) {
  if (!x.sign && !y.sign) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAnd(x, y).__trim();
  }
  if (x.sign && y.sign) {
    var result = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSubOne(x, Math.max(x.length, y.length) + 1), y1 = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSubOne(y);
    result = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteOr(result, y1, result);
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAddOne(result, !0, result).__trim();
  }
  if (x.sign) {
    var $jscomp$destructuring$var20 = (0,$jscomp.makeIterator)([y, x]);
    x = $jscomp$destructuring$var20.next().value;
    y = $jscomp$destructuring$var20.next().value;
  }
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAndNot(x, module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSubOne(y)).__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.bitwiseXor = function(x, y) {
  if (!x.sign && !y.sign) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteXor(x, y).__trim();
  }
  if (x.sign && y.sign) {
    var result = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSubOne(x, Math.max(x.length, y.length)), y1 = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSubOne(y);
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteXor(result, y1, result).__trim();
  }
  var resultLength = Math.max(x.length, y.length) + 1;
  if (x.sign) {
    var $jscomp$destructuring$var21 = (0,$jscomp.makeIterator)([y, x]);
    x = $jscomp$destructuring$var21.next().value;
    y = $jscomp$destructuring$var21.next().value;
  }
  var result$jscomp$0 = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSubOne(y, resultLength);
  result$jscomp$0 = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteXor(result$jscomp$0, x, result$jscomp$0);
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAddOne(result$jscomp$0, !0, result$jscomp$0).__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.bitwiseOr = function(x, y) {
  var resultLength = Math.max(x.length, y.length);
  if (!x.sign && !y.sign) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteOr(x, y).__trim();
  }
  if (x.sign && y.sign) {
    var result = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSubOne(x, resultLength), y1 = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSubOne(y);
    result = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAnd(result, y1, result);
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAddOne(result, !0, result).__trim();
  }
  if (x.sign) {
    var $jscomp$destructuring$var22 = (0,$jscomp.makeIterator)([y, x]);
    x = $jscomp$destructuring$var22.next().value;
    y = $jscomp$destructuring$var22.next().value;
  }
  var result$jscomp$0 = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSubOne(y, resultLength);
  result$jscomp$0 = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAndNot(result$jscomp$0, x, result$jscomp$0);
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAddOne(result$jscomp$0, !0, result$jscomp$0).__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.asIntN = function(n, x) {
  if (x.length === 0) {
    return x;
  }
  n = Math.floor(n);
  if (n < 0) {
    throw new RangeError("Invalid value: not (convertible to) a safe integer");
  }
  if (n === 0) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero();
  }
  if (n >= module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kMaxLengthBits) {
    return x;
  }
  var neededLength = (n + 29) / 30 | 0;
  if (x.length < neededLength) {
    return x;
  }
  var topDigit = x.__unsignedDigit(neededLength - 1), compareDigit = 1 << (n - 1) % 30;
  if (x.length === neededLength && topDigit < compareDigit) {
    return x;
  }
  if ((topDigit & compareDigit) !== compareDigit) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__truncateToNBits(n, x);
  }
  if (!x.sign) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__truncateAndSubFromPowerOfTwo(n, x, !0);
  }
  if ((topDigit & compareDigit - 1) === 0) {
    for (var i = neededLength - 2; i >= 0; i--) {
      if (x.__digit(i) !== 0) {
        return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__truncateAndSubFromPowerOfTwo(n, x, !1);
      }
    }
    return x.length === neededLength && topDigit === compareDigit ? x : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__truncateToNBits(n, x);
  }
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__truncateAndSubFromPowerOfTwo(n, x, !1);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.asUintN = function(n, x) {
  if (x.length === 0) {
    return x;
  }
  n = Math.floor(n);
  if (n < 0) {
    throw new RangeError("Invalid value: not (convertible to) a safe integer");
  }
  if (n === 0) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero();
  }
  if (x.sign) {
    if (n > module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kMaxLengthBits) {
      throw new RangeError("BigInt too big");
    }
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__truncateAndSubFromPowerOfTwo(n, x, !1);
  }
  if (n >= module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kMaxLengthBits) {
    return x;
  }
  var neededLength = (n + 29) / 30 | 0;
  if (x.length < neededLength) {
    return x;
  }
  var bitsInTopDigit = n % 30;
  return x.length != neededLength || bitsInTopDigit !== 0 && x.__digit(neededLength - 1) >>> bitsInTopDigit !== 0 ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__truncateToNBits(n, x) : x;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.ADD = function(x, y) {
  x = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toPrimitive(x);
  y = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toPrimitive(y);
  if (typeof x === "string") {
    return typeof y !== "string" && (y = y.toString()), x + y;
  }
  if (typeof y === "string") {
    return x.toString() + y;
  }
  x = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toNumeric(x);
  y = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toNumeric(y);
  if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(x) && module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(y)) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.add(x, y);
  }
  if (typeof x === "number" && typeof y === "number") {
    return x + y;
  }
  throw new TypeError("Cannot mix BigInt and other types, use explicit conversions");
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.LT = function(x, y) {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compare(x, y, 0);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.LE = function(x, y) {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compare(x, y, 1);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.GT = function(x, y) {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compare(x, y, 2);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.GE = function(x, y) {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compare(x, y, 3);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.EQ = function(x, y) {
  for (;;) {
    if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(x)) {
      return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(y) ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.equal(x, y) : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.EQ(y, x);
    }
    if (typeof x === "number") {
      if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(y)) {
        return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__equalToNumber(y, x);
      }
      if (typeof y !== "object") {
        return x == y;
      }
      y = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toPrimitive(y);
    } else if (typeof x === "string") {
      if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(y)) {
        return x = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__fromString(x), x === null ? !1 : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.equal(x, y);
      }
      if (typeof y !== "object") {
        return x == y;
      }
      y = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toPrimitive(y);
    } else if (typeof x === "boolean") {
      if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(y)) {
        return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__equalToNumber(y, +x);
      }
      if (typeof y !== "object") {
        return x == y;
      }
      y = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toPrimitive(y);
    } else if (typeof x === "symbol") {
      if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(y)) {
        return !1;
      }
      if (typeof y !== "object") {
        return x == y;
      }
      y = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toPrimitive(y);
    } else if (typeof x === "object") {
      if (typeof y === "object" && y.constructor !== module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default) {
        return x == y;
      }
      x = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toPrimitive(x);
    } else {
      return x == y;
    }
  }
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.NE = function(x, y) {
  return !module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.EQ(x, y);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.DataViewGetBigInt64 = function(dataview, byteOffset, littleEndian) {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.asIntN(64, module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.DataViewGetBigUint64(dataview, byteOffset, littleEndian === void 0 ? !1 : littleEndian));
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.DataViewGetBigUint64 = function(dataview, byteOffset, littleEndian) {
  littleEndian = littleEndian === void 0 ? !1 : littleEndian;
  var $jscomp$destructuring$var23 = (0,$jscomp.makeIterator)(littleEndian ? [4, 0] : [0, 4]), h__tsickle_destructured_1 = $jscomp$destructuring$var23.next().value, l__tsickle_destructured_2 = $jscomp$destructuring$var23.next().value, high = dataview.getUint32(byteOffset + h__tsickle_destructured_1, littleEndian), low = dataview.getUint32(byteOffset + l__tsickle_destructured_2, littleEndian), result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(3, !1);
  result.__setDigit(0, low & 1073741823);
  result.__setDigit(1, (high & 268435455) << 2 | low >>> 30);
  result.__setDigit(2, high >>> 28);
  return result.__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.DataViewSetBigInt64 = function(dataview, byteOffset, value, littleEndian) {
  module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.DataViewSetBigUint64(dataview, byteOffset, value, littleEndian === void 0 ? !1 : littleEndian);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.DataViewSetBigUint64 = function(dataview, byteOffset, value, littleEndian) {
  littleEndian = littleEndian === void 0 ? !1 : littleEndian;
  value = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.asUintN(64, value);
  var high = 0, low = 0;
  if (value.length > 0 && (low = value.__digit(0), value.length > 1)) {
    var d1 = value.__digit(1);
    low |= d1 << 30;
    high = d1 >>> 2;
    value.length > 2 && (high |= value.__digit(2) << 28);
  }
  var $jscomp$destructuring$var24 = (0,$jscomp.makeIterator)(littleEndian ? [4, 0] : [0, 4]), h__tsickle_destructured_3 = $jscomp$destructuring$var24.next().value, l__tsickle_destructured_4 = $jscomp$destructuring$var24.next().value;
  dataview.setUint32(byteOffset + h__tsickle_destructured_3, high, littleEndian);
  dataview.setUint32(byteOffset + l__tsickle_destructured_4, low, littleEndian);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero = function() {
  return new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(0, !1);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__oneDigit = function(value, sign) {
  var result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(1, sign);
  result.__setDigit(0, value);
  return result;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__copy = function() {
  for (var result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(this.length, this.sign), i = 0; i < this.length; i++) {
    result[i] = this[i];
  }
  return result;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__trim = function() {
  for (var newLength = this.length, last = this[newLength - 1]; last === 0;) {
    newLength--, last = this[newLength - 1], this.pop();
  }
  newLength === 0 && (this.sign = !1);
  return this;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__initializeDigits = function() {
  for (var i = 0; i < this.length; i++) {
    this[i] = 0;
  }
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__decideRounding = function(x, mantissaBitsUnset, digitIndex, currentDigit) {
  if (mantissaBitsUnset > 0) {
    return -1;
  }
  if (mantissaBitsUnset < 0) {
    var topUnconsumedBit = -mantissaBitsUnset - 1;
  } else {
    if (digitIndex === 0) {
      return -1;
    }
    digitIndex--;
    currentDigit = x.__digit(digitIndex);
    topUnconsumedBit = 29;
  }
  var mask = 1 << topUnconsumedBit;
  if ((currentDigit & mask) === 0) {
    return -1;
  }
  if ((currentDigit & mask - 1) !== 0) {
    return 1;
  }
  for (; digitIndex > 0;) {
    if (digitIndex--, x.__digit(digitIndex) !== 0) {
      return 1;
    }
  }
  return 0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__fromDouble = function(value) {
  module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionDouble[0] = value;
  var exponent = (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionInts[1] >>> 20 & 2047) - 1023, digits = (exponent / 30 | 0) + 1, result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(digits, value < 0), mantissaHigh = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionInts[1] & 1048575 | 1048576, mantissaLow = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionInts[0], 
  msdTopBit = exponent % 30;
  if (msdTopBit < 20) {
    var shift = 20 - msdTopBit;
    var remainingMantissaBits = shift + 32;
    var digit = mantissaHigh >>> shift;
    mantissaHigh = mantissaHigh << 32 - shift | mantissaLow >>> shift;
    mantissaLow <<= 32 - shift;
  } else {
    if (msdTopBit === 20) {
      remainingMantissaBits = 32, digit = mantissaHigh, mantissaHigh = mantissaLow;
    } else {
      var shift$jscomp$0 = msdTopBit - 20;
      remainingMantissaBits = 32 - shift$jscomp$0;
      digit = mantissaHigh << shift$jscomp$0 | mantissaLow >>> 32 - shift$jscomp$0;
      mantissaHigh = mantissaLow << shift$jscomp$0;
    }
    mantissaLow = 0;
  }
  result.__setDigit(digits - 1, digit);
  for (var digitIndex = digits - 2; digitIndex >= 0; digitIndex--) {
    remainingMantissaBits > 0 ? (remainingMantissaBits -= 30, digit = mantissaHigh >>> 2, mantissaHigh = mantissaHigh << 30 | mantissaLow >>> 2, mantissaLow <<= 30) : digit = 0, result.__setDigit(digitIndex, digit);
  }
  return result.__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isWhitespace = function(c) {
  return c <= 13 && c >= 9 ? !0 : c <= 159 ? c === 32 : c <= 131071 ? c === 160 || c === 5760 : c <= 196607 ? (c &= 131071, c <= 10 || c === 40 || c === 41 || c === 47 || c === 95 || c === 4096) : c === 65279;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__fromString = function(string, radix) {
  radix = radix === void 0 ? 0 : radix;
  var sign = 0, length = string.length, cursor = 0;
  if (cursor === length) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero();
  }
  for (var current = string.charCodeAt(cursor); module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isWhitespace(current);) {
    if (++cursor === length) {
      return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero();
    }
    current = string.charCodeAt(cursor);
  }
  if (current === 43) {
    if (++cursor === length) {
      return null;
    }
    current = string.charCodeAt(cursor);
    sign = 1;
  } else if (current === 45) {
    if (++cursor === length) {
      return null;
    }
    current = string.charCodeAt(cursor);
    sign = -1;
  }
  if (radix === 0) {
    if (radix = 10, current === 48) {
      if (++cursor === length) {
        return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero();
      }
      current = string.charCodeAt(cursor);
      if (current === 88 || current === 120) {
        radix = 16;
        if (++cursor === length) {
          return null;
        }
        current = string.charCodeAt(cursor);
      } else if (current === 79 || current === 111) {
        radix = 8;
        if (++cursor === length) {
          return null;
        }
        current = string.charCodeAt(cursor);
      } else if (current === 66 || current === 98) {
        radix = 2;
        if (++cursor === length) {
          return null;
        }
        current = string.charCodeAt(cursor);
      }
    }
  } else if (radix === 16 && current === 48) {
    if (++cursor === length) {
      return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero();
    }
    current = string.charCodeAt(cursor);
    if (current === 88 || current === 120) {
      if (++cursor === length) {
        return null;
      }
      current = string.charCodeAt(cursor);
    }
  }
  if (sign !== 0 && radix !== 10) {
    return null;
  }
  for (; current === 48;) {
    if (++cursor === length) {
      return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero();
    }
    current = string.charCodeAt(cursor);
  }
  var chars = length - cursor, bitsPerChar = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kMaxBitsPerChar[radix], roundup = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitsPerCharTableMultiplier - 1;
  if (chars > 1073741824 / bitsPerChar) {
    return null;
  }
  var result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(((bitsPerChar * chars + roundup >>> module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitsPerCharTableShift) + 29) / 30 | 0, !1), limDigit = radix < 10 ? radix : 10, limAlpha = radix > 10 ? radix - 10 : 0;
  if ((radix & radix - 1) === 0) {
    bitsPerChar >>= module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitsPerCharTableShift;
    var parts = [], partsBits = [], done = !1;
    do {
      for (var part = 0, bits = 0;;) {
        if (current - 48 >>> 0 < limDigit) {
          var d = current - 48;
        } else if ((current | 32) - 97 >>> 0 < limAlpha) {
          d = (current | 32) - 87;
        } else {
          done = !0;
          break;
        }
        bits += bitsPerChar;
        part = part << bitsPerChar | d;
        if (++cursor === length) {
          done = !0;
          break;
        }
        current = string.charCodeAt(cursor);
        if (bits + bitsPerChar > 30) {
          break;
        }
      }
      parts.push(part);
      partsBits.push(bits);
    } while (!done);
    module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__fillFromParts(result, parts, partsBits);
  } else {
    result.__initializeDigits();
    var done$jscomp$0 = !1, charsSoFar = 0;
    do {
      for (var part$jscomp$0 = 0, multiplier = 1;;) {
        if (current - 48 >>> 0 < limDigit) {
          var d$jscomp$0 = current - 48;
        } else if ((current | 32) - 97 >>> 0 < limAlpha) {
          d$jscomp$0 = (current | 32) - 87;
        } else {
          done$jscomp$0 = !0;
          break;
        }
        var m = multiplier * radix;
        if (m > 1073741823) {
          break;
        }
        multiplier = m;
        part$jscomp$0 = part$jscomp$0 * radix + d$jscomp$0;
        charsSoFar++;
        if (++cursor === length) {
          done$jscomp$0 = !0;
          break;
        }
        current = string.charCodeAt(cursor);
      }
      roundup = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitsPerCharTableMultiplier * 30 - 1;
      result.__inplaceMultiplyAdd(multiplier, part$jscomp$0, (bitsPerChar * charsSoFar + roundup >>> module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitsPerCharTableShift) / 30 | 0);
    } while (!done$jscomp$0);
  }
  if (cursor !== length) {
    if (!module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isWhitespace(current)) {
      return null;
    }
    for (cursor++; cursor < length; cursor++) {
      if (current = string.charCodeAt(cursor), !module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isWhitespace(current)) {
        return null;
      }
    }
  }
  result.sign = sign === -1;
  return result.__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__fillFromParts = function(result, parts, partsBits) {
  for (var digitIndex = 0, digit = 0, bitsInDigit = 0, i = parts.length - 1; i >= 0; i--) {
    var part = parts[i], partBits = partsBits[i];
    digit |= part << bitsInDigit;
    bitsInDigit += partBits;
    bitsInDigit === 30 ? (result.__setDigit(digitIndex++, digit), digit = bitsInDigit = 0) : bitsInDigit > 30 && (result.__setDigit(digitIndex++, digit & 1073741823), bitsInDigit -= 30, digit = part >>> partBits - bitsInDigit);
  }
  if (digit !== 0) {
    if (digitIndex >= result.length) {
      throw Error("implementation bug");
    }
    result.__setDigit(digitIndex++, digit);
  }
  for (; digitIndex < result.length; digitIndex++) {
    result.__setDigit(digitIndex, 0);
  }
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toStringBasePowerOfTwo = function(x, radix) {
  var length = x.length, bits = radix - 1;
  bits = (bits >>> 1 & 85) + (bits & 85);
  bits = (bits >>> 2 & 51) + (bits & 51);
  var bitsPerChar = (bits >>> 4 & 15) + (bits & 15), charMask = radix - 1, msd = x.__digit(length - 1), charsRequired = (length * 30 - module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__clz30(msd) + bitsPerChar - 1) / bitsPerChar | 0;
  x.sign && charsRequired++;
  if (charsRequired > 268435456) {
    throw Error("string too long");
  }
  for (var result = Array(charsRequired), pos = charsRequired - 1, digit = 0, availableBits = 0, i = 0; i < length - 1; i++) {
    var newDigit = x.__digit(i), current = (digit | newDigit << availableBits) & charMask;
    result[pos--] = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kConversionChars[current];
    var consumedBits = bitsPerChar - availableBits;
    digit = newDigit >>> consumedBits;
    for (availableBits = 30 - consumedBits; availableBits >= bitsPerChar;) {
      result[pos--] = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kConversionChars[digit & charMask], digit >>>= bitsPerChar, availableBits -= bitsPerChar;
    }
  }
  result[pos--] = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kConversionChars[(digit | msd << availableBits) & charMask];
  for (digit = msd >>> bitsPerChar - availableBits; digit !== 0;) {
    result[pos--] = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kConversionChars[digit & charMask], digit >>>= bitsPerChar;
  }
  x.sign && (result[pos--] = "-");
  if (pos !== -1) {
    throw Error("implementation bug");
  }
  return result.join("");
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toStringGeneric = function(x, radix, isRecursiveCall) {
  var length = x.length;
  if (length === 0) {
    return "";
  }
  if (length === 1) {
    var result = x.__unsignedDigit(0).toString(radix);
    isRecursiveCall === !1 && x.sign && (result = "-" + result);
    return result;
  }
  var minBitsPerChar = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kMaxBitsPerChar[radix] - 1, secondHalfChars = (((length * 30 - module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__clz30(x.__digit(length - 1))) * module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitsPerCharTableMultiplier + (minBitsPerChar - 1)) / minBitsPerChar | 0) + 1 >> 1, conqueror = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.exponentiate(module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__oneDigit(radix, 
  !1), module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__oneDigit(secondHalfChars, !1)), divisor = conqueror.__unsignedDigit(0);
  if (conqueror.length === 1 && divisor <= 32767) {
    var quotient = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(x.length, !1);
    quotient.__initializeDigits();
    for (var remainder = 0, i = x.length * 2 - 1; i >= 0; i--) {
      var input = remainder << 15 | x.__halfDigit(i);
      quotient.__setHalfDigit(i, input / divisor | 0);
      remainder = input % divisor | 0;
    }
    var secondHalf = remainder.toString(radix);
  } else {
    var divisionResult = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteDivLarge(x, conqueror, !0, !0);
    quotient = divisionResult.quotient;
    var remainder$jscomp$0 = divisionResult.remainder.__trim();
    secondHalf = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toStringGeneric(remainder$jscomp$0, radix, !0);
  }
  quotient.__trim();
  for (var firstHalf = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toStringGeneric(quotient, radix, !0); secondHalf.length < secondHalfChars;) {
    secondHalf = "0" + secondHalf;
  }
  isRecursiveCall === !1 && x.sign && (firstHalf = "-" + firstHalf);
  return firstHalf + secondHalf;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__unequalSign = function(leftNegative) {
  return leftNegative ? -1 : 1;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteGreater = function(bothNegative) {
  return bothNegative ? -1 : 1;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteLess = function(bothNegative) {
  return bothNegative ? 1 : -1;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToBigInt = function(x, y) {
  var xSign = x.sign;
  if (xSign !== y.sign) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__unequalSign(xSign);
  }
  var result = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteCompare(x, y);
  return result > 0 ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteGreater(xSign) : result < 0 ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteLess(xSign) : 0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToNumber = function(x, y) {
  if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isOneDigitInt(y)) {
    var xSign = x.sign, ySign = y < 0;
    if (xSign !== ySign) {
      return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__unequalSign(xSign);
    }
    if (x.length === 0) {
      if (ySign) {
        throw Error("implementation bug");
      }
      return y === 0 ? 0 : -1;
    }
    if (x.length > 1) {
      return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteGreater(xSign);
    }
    var yAbs = Math.abs(y), xDigit = x.__unsignedDigit(0);
    return xDigit > yAbs ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteGreater(xSign) : xDigit < yAbs ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteLess(xSign) : 0;
  }
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToDouble(x, y);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToDouble = function(x, y) {
  if (y !== y) {
    return y;
  }
  if (y === Infinity) {
    return -1;
  }
  if (y === -Infinity) {
    return 1;
  }
  var xSign = x.sign;
  if (xSign !== y < 0) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__unequalSign(xSign);
  }
  if (y === 0) {
    throw Error("implementation bug: should be handled elsewhere");
  }
  if (x.length === 0) {
    return -1;
  }
  module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionDouble[0] = y;
  var rawExponent = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionInts[1] >>> 20 & 2047;
  if (rawExponent === 2047) {
    throw Error("implementation bug: handled elsewhere");
  }
  var exponent = rawExponent - 1023;
  if (exponent < 0) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteGreater(xSign);
  }
  var xLength = x.length, xMsd = x.__digit(xLength - 1), msdLeadingZeros = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__clz30(xMsd), xBitLength = xLength * 30 - msdLeadingZeros, yBitLength = exponent + 1;
  if (xBitLength < yBitLength) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteLess(xSign);
  }
  if (xBitLength > yBitLength) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteGreater(xSign);
  }
  var mantissaHigh = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionInts[1] & 1048575 | 1048576, mantissaLow = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionInts[0], msdTopBit = 29 - msdLeadingZeros;
  if (msdTopBit !== ((xBitLength - 1) % 30 | 0)) {
    throw Error("implementation bug");
  }
  if (msdTopBit < 20) {
    var shift = 20 - msdTopBit;
    var remainingMantissaBits = shift + 32;
    var compareMantissa = mantissaHigh >>> shift;
    mantissaHigh = mantissaHigh << 32 - shift | mantissaLow >>> shift;
    mantissaLow <<= 32 - shift;
  } else {
    if (msdTopBit === 20) {
      remainingMantissaBits = 32, compareMantissa = mantissaHigh, mantissaHigh = mantissaLow;
    } else {
      var shift$jscomp$0 = msdTopBit - 20;
      remainingMantissaBits = 32 - shift$jscomp$0;
      compareMantissa = mantissaHigh << shift$jscomp$0 | mantissaLow >>> 32 - shift$jscomp$0;
      mantissaHigh = mantissaLow << shift$jscomp$0;
    }
    mantissaLow = 0;
  }
  xMsd >>>= 0;
  compareMantissa >>>= 0;
  if (xMsd > compareMantissa) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteGreater(xSign);
  }
  if (xMsd < compareMantissa) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteLess(xSign);
  }
  for (var digitIndex = xLength - 2; digitIndex >= 0; digitIndex--) {
    remainingMantissaBits > 0 ? (remainingMantissaBits -= 30, compareMantissa = mantissaHigh >>> 2, mantissaHigh = mantissaHigh << 30 | mantissaLow >>> 2, mantissaLow <<= 30) : compareMantissa = 0;
    var digit = x.__unsignedDigit(digitIndex);
    if (digit > compareMantissa) {
      return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteGreater(xSign);
    }
    if (digit < compareMantissa) {
      return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteLess(xSign);
    }
  }
  if (mantissaHigh !== 0 || mantissaLow !== 0) {
    if (remainingMantissaBits === 0) {
      throw Error("implementation bug");
    }
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteLess(xSign);
  }
  return 0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__equalToNumber = function(x, y) {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isOneDigitInt(y) ? y === 0 ? x.length === 0 : x.length === 1 && x.sign === y < 0 && x.__unsignedDigit(0) === Math.abs(y) : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToDouble(x, y) === 0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__comparisonResultToBool = function(result, op) {
  switch(op) {
    case 0:
      return result < 0;
    case 1:
      return result <= 0;
    case 2:
      return result > 0;
    case 3:
      return result >= 0;
  }
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compare = function(x, y, op) {
  x = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toPrimitive(x);
  y = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toPrimitive(y);
  if (typeof x === "string" && typeof y === "string") {
    switch(op) {
      case 0:
        return x < y;
      case 1:
        return x <= y;
      case 2:
        return x > y;
      case 3:
        return x >= y;
    }
  }
  if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(x) && typeof y === "string") {
    return y = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__fromString(y), y === null ? !1 : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__comparisonResultToBool(module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToBigInt(x, y), op);
  }
  if (typeof x === "string" && module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(y)) {
    return x = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__fromString(x), x === null ? !1 : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__comparisonResultToBool(module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToBigInt(x, y), op);
  }
  x = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toNumeric(x);
  y = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toNumeric(y);
  if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(x)) {
    if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(y)) {
      return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__comparisonResultToBool(module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToBigInt(x, y), op);
    }
    if (typeof y !== "number") {
      throw Error("implementation bug");
    }
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__comparisonResultToBool(module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToNumber(x, y), op);
  }
  if (typeof x !== "number") {
    throw Error("implementation bug");
  }
  if (module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(y)) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__comparisonResultToBool(module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__compareToNumber(y, x), op ^ 2);
  }
  if (typeof y !== "number") {
    throw Error("implementation bug");
  }
  switch(op) {
    case 0:
      return x < y;
    case 1:
      return x <= y;
    case 2:
      return x > y;
    case 3:
      return x >= y;
  }
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__clzmsd = function() {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__clz30(this.__digit(this.length - 1));
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAdd = function(x, y, resultSign) {
  if (x.length < y.length) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAdd(y, x, resultSign);
  }
  if (x.length === 0) {
    return x;
  }
  if (y.length === 0) {
    return x.sign === resultSign ? x : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.unaryMinus(x);
  }
  var resultLength = x.length;
  (x.__clzmsd() === 0 || y.length === x.length && y.__clzmsd() === 0) && resultLength++;
  for (var result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(resultLength, resultSign), carry = 0, i = 0; i < y.length; i++) {
    var r = x.__digit(i) + y.__digit(i) + carry;
    carry = r >>> 30;
    result.__setDigit(i, r & 1073741823);
  }
  for (; i < x.length; i++) {
    var r$jscomp$0 = x.__digit(i) + carry;
    carry = r$jscomp$0 >>> 30;
    result.__setDigit(i, r$jscomp$0 & 1073741823);
  }
  i < result.length && result.__setDigit(i, carry);
  return result.__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSub = function(x, y, resultSign) {
  if (x.length === 0) {
    return x;
  }
  if (y.length === 0) {
    return x.sign === resultSign ? x : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.unaryMinus(x);
  }
  for (var result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(x.length, resultSign), borrow = 0, i = 0; i < y.length; i++) {
    var r = x.__digit(i) - y.__digit(i) - borrow;
    borrow = r >>> 30 & 1;
    result.__setDigit(i, r & 1073741823);
  }
  for (; i < x.length; i++) {
    var r$jscomp$0 = x.__digit(i) - borrow;
    borrow = r$jscomp$0 >>> 30 & 1;
    result.__setDigit(i, r$jscomp$0 & 1073741823);
  }
  return result.__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAddOne = function(x, sign, result) {
  result = result === void 0 ? null : result;
  var inputLength = x.length;
  result === null ? result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(inputLength, sign) : result.sign = sign;
  for (var carry = 1, i = 0; i < inputLength; i++) {
    var r = x.__digit(i) + carry;
    carry = r >>> 30;
    result.__setDigit(i, r & 1073741823);
  }
  carry !== 0 && result.__setDigitGrow(inputLength, 1);
  return result;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteSubOne = function(x, resultLength) {
  var length = x.length;
  resultLength = resultLength || length;
  for (var result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(resultLength, !1), borrow = 1, i = 0; i < length; i++) {
    var r = x.__digit(i) - borrow;
    borrow = r >>> 30 & 1;
    result.__setDigit(i, r & 1073741823);
  }
  if (borrow !== 0) {
    throw Error("implementation bug");
  }
  for (var i$jscomp$0 = length; i$jscomp$0 < resultLength; i$jscomp$0++) {
    result.__setDigit(i$jscomp$0, 0);
  }
  return result;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAnd = function(x, y, result) {
  result = result === void 0 ? null : result;
  var xLength = x.length, yLength = y.length, numPairs = yLength;
  if (xLength < yLength) {
    numPairs = xLength;
    var tmp = x;
    x = y;
    y = tmp;
  }
  var resultLength = numPairs;
  result === null ? result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(resultLength, !1) : resultLength = result.length;
  for (var i = 0; i < numPairs; i++) {
    result.__setDigit(i, x.__digit(i) & y.__digit(i));
  }
  for (; i < resultLength; i++) {
    result.__setDigit(i, 0);
  }
  return result;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAndNot = function(x, y, result) {
  result = result === void 0 ? null : result;
  var xLength = x.length, yLength = y.length, numPairs = yLength;
  xLength < yLength && (numPairs = xLength);
  var resultLength = xLength;
  result === null ? result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(resultLength, !1) : resultLength = result.length;
  for (var i = 0; i < numPairs; i++) {
    result.__setDigit(i, x.__digit(i) & ~y.__digit(i));
  }
  for (; i < xLength; i++) {
    result.__setDigit(i, x.__digit(i));
  }
  for (; i < resultLength; i++) {
    result.__setDigit(i, 0);
  }
  return result;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteOr = function(x, y, result) {
  result = result === void 0 ? null : result;
  var xLength = x.length, yLength = y.length, numPairs = yLength;
  if (xLength < yLength) {
    numPairs = xLength;
    var tmp = x;
    x = y;
    xLength = yLength;
    y = tmp;
  }
  var resultLength = xLength;
  result === null ? result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(resultLength, !1) : resultLength = result.length;
  for (var i = 0; i < numPairs; i++) {
    result.__setDigit(i, x.__digit(i) | y.__digit(i));
  }
  for (; i < xLength; i++) {
    result.__setDigit(i, x.__digit(i));
  }
  for (; i < resultLength; i++) {
    result.__setDigit(i, 0);
  }
  return result;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteXor = function(x, y, result) {
  result = result === void 0 ? null : result;
  var xLength = x.length, yLength = y.length, numPairs = yLength;
  if (xLength < yLength) {
    numPairs = xLength;
    var tmp = x;
    x = y;
    xLength = yLength;
    y = tmp;
  }
  var resultLength = xLength;
  result === null ? result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(resultLength, !1) : resultLength = result.length;
  for (var i = 0; i < numPairs; i++) {
    result.__setDigit(i, x.__digit(i) ^ y.__digit(i));
  }
  for (; i < xLength; i++) {
    result.__setDigit(i, x.__digit(i));
  }
  for (; i < resultLength; i++) {
    result.__setDigit(i, 0);
  }
  return result;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteCompare = function(x, y) {
  var diff = x.length - y.length;
  if (diff !== 0) {
    return diff;
  }
  for (var i = x.length - 1; i >= 0 && x.__digit(i) === y.__digit(i);) {
    i--;
  }
  return i < 0 ? 0 : x.__unsignedDigit(i) > y.__unsignedDigit(i) ? 1 : -1;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__multiplyAccumulate = function(multiplicand, multiplier, accumulator, accumulatorIndex) {
  if (multiplier !== 0) {
    for (var m2Low = multiplier & 32767, m2High = multiplier >>> 15, carry = 0, high = 0, i = 0; i < multiplicand.length; i++, accumulatorIndex++) {
      var acc = accumulator.__digit(accumulatorIndex), m1 = multiplicand.__digit(i), m1Low = m1 & 32767, m1High = m1 >>> 15, rMid1 = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__imul(m1Low, m2High), rMid2 = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__imul(m1High, m2Low), rHigh = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__imul(m1High, m2High);
      acc += high + module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__imul(m1Low, m2Low) + carry;
      carry = acc >>> 30;
      acc &= 1073741823;
      acc += ((rMid1 & 32767) << 15) + ((rMid2 & 32767) << 15);
      carry += acc >>> 30;
      high = rHigh + (rMid1 >>> 15) + (rMid2 >>> 15);
      accumulator.__setDigit(accumulatorIndex, acc & 1073741823);
    }
    for (; carry !== 0 || high !== 0; accumulatorIndex++) {
      var acc$jscomp$0 = accumulator.__digit(accumulatorIndex);
      acc$jscomp$0 += carry + high;
      high = 0;
      carry = acc$jscomp$0 >>> 30;
      accumulator.__setDigit(accumulatorIndex, acc$jscomp$0 & 1073741823);
    }
  }
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__internalMultiplyAdd = function(source, factor, summand, n, result) {
  for (var carry = summand, high = 0, i = 0; i < n; i++) {
    var digit = source.__digit(i), ry = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__imul(digit >>> 15, factor), r = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__imul(digit & 32767, factor) + ((ry & 32767) << 15) + high + carry;
    carry = r >>> 30;
    high = ry >>> 15;
    result.__setDigit(i, r & 1073741823);
  }
  if (result.length > n) {
    for (result.__setDigit(n++, carry + high); n < result.length;) {
      result.__setDigit(n++, 0);
    }
  } else {
    if (carry + high !== 0) {
      throw Error("implementation bug");
    }
  }
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__inplaceMultiplyAdd = function(multiplier, summand, length) {
  length > this.length && (length = this.length);
  for (var mLow = multiplier & 32767, mHigh = multiplier >>> 15, carry = 0, high = summand, i = 0; i < length; i++) {
    var d = this.__digit(i), dLow = d & 32767, dHigh = d >>> 15, pMid1 = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__imul(dLow, mHigh), pMid2 = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__imul(dHigh, mLow), pHigh = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__imul(dHigh, mHigh), result = high + module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__imul(dLow, mLow) + carry;
    carry = result >>> 30;
    result &= 1073741823;
    result += ((pMid1 & 32767) << 15) + ((pMid2 & 32767) << 15);
    carry += result >>> 30;
    high = pHigh + (pMid1 >>> 15) + (pMid2 >>> 15);
    this.__setDigit(i, result & 1073741823);
  }
  if (carry !== 0 || high !== 0) {
    throw Error("implementation bug");
  }
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteDivSmall = function(x, divisor, quotient) {
  quotient = quotient === void 0 ? null : quotient;
  quotient === null && (quotient = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(x.length, !1));
  for (var remainder = 0, i = x.length * 2 - 1; i >= 0; i -= 2) {
    var input = (remainder << 15 | x.__halfDigit(i)) >>> 0, upperHalf = input / divisor | 0;
    remainder = input % divisor | 0;
    input = (remainder << 15 | x.__halfDigit(i - 1)) >>> 0;
    var lowerHalf = input / divisor | 0;
    remainder = input % divisor | 0;
    quotient.__setDigit(i >>> 1, upperHalf << 15 | lowerHalf);
  }
  return quotient;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteModSmall = function(x, divisor) {
  for (var remainder = 0, i = x.length * 2 - 1; i >= 0; i--) {
    remainder = ((remainder << 15 | x.__halfDigit(i)) >>> 0) % divisor | 0;
  }
  return remainder;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteDivLarge = function(dividend, divisor, wantQuotient, wantRemainder) {
  var n = divisor.__halfDigitLength(), n2 = divisor.length, m = dividend.__halfDigitLength() - n, q = null;
  wantQuotient && (q = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(m + 2 >>> 1, !1), q.__initializeDigits());
  var qhatv = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(n + 2 >>> 1, !1);
  qhatv.__initializeDigits();
  var shift = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__clz15(divisor.__halfDigit(n - 1));
  shift > 0 && (divisor = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__specialLeftShift(divisor, shift, 0));
  for (var u = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__specialLeftShift(dividend, shift, 1), vn1 = divisor.__halfDigit(n - 1), halfDigitBuffer = 0, j = m; j >= 0; j--) {
    var qhat = 32767, ujn = u.__halfDigit(j + n);
    if (ujn !== vn1) {
      var input = (ujn << 15 | u.__halfDigit(j + n - 1)) >>> 0;
      qhat = input / vn1 | 0;
      for (var rhat = input % vn1 | 0, vn2 = divisor.__halfDigit(n - 2), ujn2 = u.__halfDigit(j + n - 2); module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__imul(qhat, vn2) >>> 0 > (rhat << 16 | ujn2) >>> 0 && !(qhat--, rhat += vn1, rhat > 32767);) {
      }
    }
    module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__internalMultiplyAdd(divisor, qhat, 0, n2, qhatv);
    var c = u.__inplaceSub(qhatv, j, n + 1);
    c !== 0 && (c = u.__inplaceAdd(divisor, j, n), u.__setHalfDigit(j + n, u.__halfDigit(j + n) + c & 32767), qhat--);
    wantQuotient && (j & 1 ? halfDigitBuffer = qhat << 15 : q.__setDigit(j >>> 1, halfDigitBuffer | qhat));
  }
  if (wantRemainder) {
    return u.__inplaceRightShift(shift), wantQuotient ? {quotient:q, remainder:u} : u;
  }
  if (wantQuotient) {
    return q;
  }
  throw Error("unreachable");
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__clz15 = function(value) {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__clz30(value) - 15;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__inplaceAdd = function(summand, startIndex, halfDigits) {
  for (var carry = 0, i = 0; i < halfDigits; i++) {
    var sum = this.__halfDigit(startIndex + i) + summand.__halfDigit(i) + carry;
    carry = sum >>> 15;
    this.__setHalfDigit(startIndex + i, sum & 32767);
  }
  return carry;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__inplaceSub = function(subtrahend, startIndex, halfDigits) {
  var fullSteps = halfDigits - 1 >>> 1, borrow = 0;
  if (startIndex & 1) {
    startIndex >>= 1;
    for (var current = this.__digit(startIndex), r0 = current & 32767, i = 0; i < fullSteps; i++) {
      var sub = subtrahend.__digit(i), r15$jscomp$0 = (current >>> 15) - (sub & 32767) - borrow;
      borrow = r15$jscomp$0 >>> 15 & 1;
      this.__setDigit(startIndex + i, (r15$jscomp$0 & 32767) << 15 | r0 & 32767);
      current = this.__digit(startIndex + i + 1);
      r0 = (current & 32767) - (sub >>> 15) - borrow;
      borrow = r0 >>> 15 & 1;
    }
    var sub$jscomp$0 = subtrahend.__digit(i), r15 = (current >>> 15) - (sub$jscomp$0 & 32767) - borrow;
    borrow = r15 >>> 15 & 1;
    this.__setDigit(startIndex + i, (r15 & 32767) << 15 | r0 & 32767);
    if (startIndex + i + 1 >= this.length) {
      throw new RangeError("out of bounds");
    }
    (halfDigits & 1) === 0 && (current = this.__digit(startIndex + i + 1), r0 = (current & 32767) - (sub$jscomp$0 >>> 15) - borrow, borrow = r0 >>> 15 & 1, this.__setDigit(startIndex + subtrahend.length, current & 1073709056 | r0 & 32767));
  } else {
    startIndex >>= 1;
    for (var i$jscomp$0 = 0; i$jscomp$0 < subtrahend.length - 1; i$jscomp$0++) {
      var current$jscomp$0 = this.__digit(startIndex + i$jscomp$0), sub$jscomp$1 = subtrahend.__digit(i$jscomp$0), r0$jscomp$0 = (current$jscomp$0 & 32767) - (sub$jscomp$1 & 32767) - borrow;
      borrow = r0$jscomp$0 >>> 15 & 1;
      var r15$jscomp$1 = (current$jscomp$0 >>> 15) - (sub$jscomp$1 >>> 15) - borrow;
      borrow = r15$jscomp$1 >>> 15 & 1;
      this.__setDigit(startIndex + i$jscomp$0, (r15$jscomp$1 & 32767) << 15 | r0$jscomp$0 & 32767);
    }
    var current$jscomp$1 = this.__digit(startIndex + i$jscomp$0), sub$jscomp$2 = subtrahend.__digit(i$jscomp$0), r0$jscomp$1 = (current$jscomp$1 & 32767) - (sub$jscomp$2 & 32767) - borrow;
    borrow = r0$jscomp$1 >>> 15 & 1;
    var r15$jscomp$2 = 0;
    (halfDigits & 1) === 0 && (r15$jscomp$2 = (current$jscomp$1 >>> 15) - (sub$jscomp$2 >>> 15) - borrow, borrow = r15$jscomp$2 >>> 15 & 1);
    this.__setDigit(startIndex + i$jscomp$0, (r15$jscomp$2 & 32767) << 15 | r0$jscomp$1 & 32767);
  }
  return borrow;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__inplaceRightShift = function(shift) {
  if (shift !== 0) {
    for (var carry = this.__digit(0) >>> shift, last = this.length - 1, i = 0; i < last; i++) {
      var d = this.__digit(i + 1);
      this.__setDigit(i, d << 30 - shift & 1073741823 | carry);
      carry = d >>> shift;
    }
    this.__setDigit(last, carry);
  }
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__specialLeftShift = function(x, shift, addDigit) {
  var n = x.length, result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(n + addDigit, !1);
  if (shift === 0) {
    for (var i = 0; i < n; i++) {
      result.__setDigit(i, x.__digit(i));
    }
    addDigit > 0 && result.__setDigit(n, 0);
    return result;
  }
  for (var carry = 0, i$jscomp$0 = 0; i$jscomp$0 < n; i$jscomp$0++) {
    var d = x.__digit(i$jscomp$0);
    result.__setDigit(i$jscomp$0, d << shift & 1073741823 | carry);
    carry = d >>> 30 - shift;
  }
  addDigit > 0 && result.__setDigit(n, carry);
  return result;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__leftShiftByAbsolute = function(x, y) {
  var shift = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toShiftAmount(y);
  if (shift < 0) {
    throw new RangeError("BigInt too big");
  }
  var digitShift = shift / 30 | 0, bitsShift = shift % 30, length = x.length, grow = bitsShift !== 0 && x.__digit(length - 1) >>> 30 - bitsShift !== 0, resultLength = length + digitShift + (grow ? 1 : 0), result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(resultLength, x.sign);
  if (bitsShift === 0) {
    for (var i = 0; i < digitShift; i++) {
      result.__setDigit(i, 0);
    }
    for (; i < resultLength; i++) {
      result.__setDigit(i, x.__digit(i - digitShift));
    }
  } else {
    for (var carry = 0, i$jscomp$0 = 0; i$jscomp$0 < digitShift; i$jscomp$0++) {
      result.__setDigit(i$jscomp$0, 0);
    }
    for (var i$jscomp$1 = 0; i$jscomp$1 < length; i$jscomp$1++) {
      var d = x.__digit(i$jscomp$1);
      result.__setDigit(i$jscomp$1 + digitShift, d << bitsShift & 1073741823 | carry);
      carry = d >>> 30 - bitsShift;
    }
    if (grow) {
      result.__setDigit(length + digitShift, carry);
    } else {
      if (carry !== 0) {
        throw Error("implementation bug");
      }
    }
  }
  return result.__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__rightShiftByAbsolute = function(x, y) {
  var length = x.length, sign = x.sign, shift = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toShiftAmount(y);
  if (shift < 0) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__rightShiftByMaximum(sign);
  }
  var digitShift = shift / 30 | 0, bitsShift = shift % 30, resultLength = length - digitShift;
  if (resultLength <= 0) {
    return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__rightShiftByMaximum(sign);
  }
  var mustRoundDown = !1;
  if (sign) {
    if ((x.__digit(digitShift) & (1 << bitsShift) - 1) !== 0) {
      mustRoundDown = !0;
    } else {
      for (var i = 0; i < digitShift; i++) {
        if (x.__digit(i) !== 0) {
          mustRoundDown = !0;
          break;
        }
      }
    }
  }
  mustRoundDown && bitsShift === 0 && ~x.__digit(length - 1) === 0 && resultLength++;
  var result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(resultLength, sign);
  if (bitsShift === 0) {
    result.__setDigit(resultLength - 1, 0);
    for (var i$jscomp$0 = digitShift; i$jscomp$0 < length; i$jscomp$0++) {
      result.__setDigit(i$jscomp$0 - digitShift, x.__digit(i$jscomp$0));
    }
  } else {
    for (var carry = x.__digit(digitShift) >>> bitsShift, last = length - digitShift - 1, i$jscomp$1 = 0; i$jscomp$1 < last; i$jscomp$1++) {
      var d = x.__digit(i$jscomp$1 + digitShift + 1);
      result.__setDigit(i$jscomp$1, d << 30 - bitsShift & 1073741823 | carry);
      carry = d >>> bitsShift;
    }
    result.__setDigit(last, carry);
  }
  mustRoundDown && (result = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__absoluteAddOne(result, !0, result));
  return result.__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__rightShiftByMaximum = function(sign) {
  return sign ? module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__oneDigit(1, !0) : module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__zero();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toShiftAmount = function(x) {
  if (x.length > 1) {
    return -1;
  }
  var value = x.__unsignedDigit(0);
  return value > module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kMaxLengthBits ? -1 : value;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toPrimitive = function(obj, hint) {
  hint = hint === void 0 ? "default" : hint;
  if (typeof obj !== "object" || obj.constructor === module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default) {
    return obj;
  }
  if (typeof Symbol !== "undefined" && typeof Symbol.toPrimitive === "symbol") {
    var exoticToPrim = obj[Symbol.toPrimitive];
    if (exoticToPrim) {
      var primitive = exoticToPrim(hint);
      if (typeof primitive !== "object") {
        return primitive;
      }
      throw new TypeError("Cannot convert object to primitive value");
    }
  }
  var valueOf = obj.valueOf;
  if (valueOf) {
    var primitive$jscomp$0 = valueOf.call(obj);
    if (typeof primitive$jscomp$0 !== "object") {
      return primitive$jscomp$0;
    }
  }
  var toString = obj.toString;
  if (toString) {
    var primitive$jscomp$1 = toString.call(obj);
    if (typeof primitive$jscomp$1 !== "object") {
      return primitive$jscomp$1;
    }
  }
  throw new TypeError("Cannot convert object to primitive value");
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__toNumeric = function(value) {
  return module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt(value) ? value : +value;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isBigInt = function(value) {
  return typeof value === "object" && value !== null && value.constructor === module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__truncateToNBits = function(n, x) {
  for (var neededDigits = (n + 29) / 30 | 0, result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(neededDigits, x.sign), last = neededDigits - 1, i = 0; i < last; i++) {
    result.__setDigit(i, x.__digit(i));
  }
  var msd = x.__digit(last);
  if (n % 30 !== 0) {
    var drop = 32 - n % 30;
    msd = msd << drop >>> drop;
  }
  result.__setDigit(last, msd);
  return result.__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__truncateAndSubFromPowerOfTwo = function(n, x, resultSign) {
  for (var neededDigits = (n + 29) / 30 | 0, result = new module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default(neededDigits, resultSign), i = 0, last = neededDigits - 1, borrow = 0, limit = Math.min(last, x.length); i < limit; i++) {
    var r = 0 - x.__digit(i) - borrow;
    borrow = r >>> 30 & 1;
    result.__setDigit(i, r & 1073741823);
  }
  for (; i < last; i++) {
    result.__setDigit(i, -borrow & 1073741823 | 0);
  }
  var msd = last < x.length ? x.__digit(last) : 0, msdBitsConsumed = n % 30;
  if (msdBitsConsumed === 0) {
    var resultMsd = 0 - msd - borrow & 1073741823;
  } else {
    var drop = 32 - msdBitsConsumed, minuendMsd = 1 << 32 - drop;
    resultMsd = minuendMsd - (msd << drop >>> drop) - borrow & minuendMsd - 1;
  }
  result.__setDigit(last, resultMsd);
  return result.__trim();
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__digit = function(i) {
  return this[i];
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__unsignedDigit = function(i) {
  return this[i] >>> 0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__setDigit = function(i, digit) {
  this[i] = digit | 0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__setDigitGrow = function(i, digit) {
  this[i] = digit | 0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__halfDigitLength = function() {
  var len = this.length;
  return this.__unsignedDigit(len - 1) <= 32767 ? len * 2 - 1 : len * 2;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__halfDigit = function(i) {
  return this[i >>> 1] >>> (i & 1) * 15 & 32767;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.prototype.__setHalfDigit = function(i, value) {
  var digitIndex = i >>> 1, previous = this.__digit(digitIndex);
  this.__setDigit(digitIndex, i & 1 ? previous & 32767 | value << 15 : previous & 1073709056 | value & 32767);
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__digitPow = function(base, exponent) {
  for (var result = 1; exponent > 0;) {
    exponent & 1 && (result *= base), exponent >>>= 1, base *= base;
  }
  return result;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__isOneDigitInt = function(x) {
  return (x & 1073741823) === x;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kMaxLength = 33554432;
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kMaxLengthBits = module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kMaxLength << 5;
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kMaxBitsPerChar = [0, 0, 32, 51, 64, 75, 83, 90, 96, 102, 107, 111, 115, 119, 122, 126, 128, 131, 134, 136, 139, 141, 143, 145, 147, 149, 151, 153, 154, 156, 158, 159, 160, 162, 163, 165, 166];
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitsPerCharTableShift = 5;
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitsPerCharTableMultiplier = 1 << module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitsPerCharTableShift;
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kConversionChars = "0123456789abcdefghijklmnopqrstuvwxyz".split("");
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionBuffer = new ArrayBuffer(8);
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionDouble = new Float64Array(module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionBuffer);
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionInts = new Int32Array(module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__kBitConversionBuffer);
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__clz30 = Math.clz32 ? function(x) {
  return Math.clz32(x) - 2;
} : function(x) {
  return x === 0 ? 30 : 29 - (Math.log(x >>> 0) / Math.LN2 | 0) | 0;
};
module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default.__imul = Math.imul || function(a, b) {
  return a * b | 0;
};
var module$exports$google3$third_party$javascript$jsbi$g3_wrapper$guards = {};
module$exports$google3$third_party$javascript$jsbi$g3_wrapper$guards.isNativeBigInt = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(x) {
  return typeof x === "bigint";
}, "bigint");
module$exports$google3$third_party$javascript$jsbi$g3_wrapper$guards.isJsbiOss = module$contents$google3$javascript$common$asserts$guards_isInstanceOf(module$exports$google3$third_party$javascript$jsbi$lib$jsbi.default);
module$exports$google3$third_party$javascript$jsbi$g3_wrapper$guards.isDebugBoxedBigInt = module$contents$google3$javascript$common$asserts$guards_isInstanceOf(module$exports$google3$third_party$javascript$jsbi$g3_wrapper$debug_boxed_bigint.DebugBoxedBigInt);
var module$exports$google3$third_party$javascript$jsbi$g3_wrapper$bigint_helpers = {};
function module$contents$google3$third_party$javascript$jsbi$g3_wrapper$bigint_helpers_unwrapJSBI(x) {
  if (!module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE) {
    throw Error("This platform does not use BigInt.");
  }
  return goog.DEBUG ? module$contents$google3$javascript$common$asserts$asserts_cast(x, module$exports$google3$third_party$javascript$jsbi$g3_wrapper$guards.isDebugBoxedBigInt).val : module$contents$google3$javascript$common$asserts$asserts_cast(x, module$exports$google3$third_party$javascript$jsbi$g3_wrapper$guards.isNativeBigInt);
}
module$exports$google3$third_party$javascript$jsbi$g3_wrapper$bigint_helpers.unwrapJSBI = module$contents$google3$third_party$javascript$jsbi$g3_wrapper$bigint_helpers_unwrapJSBI;
module$exports$google3$third_party$javascript$jsbi$g3_wrapper$bigint_helpers.isJSBI = module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE ? goog.DEBUG ? module$exports$google3$third_party$javascript$jsbi$g3_wrapper$guards.isDebugBoxedBigInt : module$exports$google3$third_party$javascript$jsbi$g3_wrapper$guards.isNativeBigInt : module$exports$google3$third_party$javascript$jsbi$g3_wrapper$guards.isJsbiOss;
var module$exports$google3$javascript$common$bigint$index = {};
function module$contents$google3$javascript$common$bigint$index_toGbigint(value$jscomp$1) {
  var value = value$jscomp$1;
  if ((0,module$exports$google3$javascript$common$asserts$guards.isString)(value)) {
    if (!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(value)) {
      throw Error(goog.DEBUG ? "Invalid string for toGbigint: " + value : String(value));
    }
  } else if ((0,module$exports$google3$javascript$common$asserts$guards.isNumber)(value) && !Number.isSafeInteger(value)) {
    throw Error(goog.DEBUG ? "Invalid number for toGbigint: " + value : String(value));
  }
  if (module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE) {
    if (goog.DEBUG) {
      var value$jscomp$0 = value$jscomp$1;
      if ((0,module$exports$google3$third_party$javascript$jsbi$g3_wrapper$bigint_helpers.isJSBI)(value$jscomp$0)) {
        var valueAsBigInt = module$contents$google3$third_party$javascript$jsbi$g3_wrapper$bigint_helpers_unwrapJSBI(value$jscomp$0);
      } else {
        (0,module$exports$google3$javascript$common$asserts$guards.isBigInt)(value$jscomp$0) ? valueAsBigInt = value$jscomp$0 : (module$contents$google3$javascript$common$asserts$asserts_assert(value$jscomp$0, module$contents$google3$javascript$common$asserts$guards_isAnyOf(module$exports$google3$javascript$common$asserts$guards.isString, module$exports$google3$javascript$common$asserts$guards.isBoolean, module$exports$google3$javascript$common$asserts$guards.isNumber)), valueAsBigInt = BigInt(value$jscomp$0));
      }
      var JSCompiler_temp = valueAsBigInt % BigInt(2) === BigInt(module$contents$google3$javascript$common$bigint$index_getGBigIntUseStrInDebugToggleVal()) ? valueAsBigInt.toString() : valueAsBigInt;
    } else {
      JSCompiler_temp = BigInt(value$jscomp$1);
    }
    return JSCompiler_temp;
  }
  return value$jscomp$1 = (0,module$exports$google3$javascript$common$asserts$guards.isBoolean)(value$jscomp$1) ? value$jscomp$1 ? "1" : "0" : (0,module$exports$google3$javascript$common$asserts$guards.isString)(value$jscomp$1) ? value$jscomp$1.trim() || "0" : String(value$jscomp$1);
}
module$exports$google3$javascript$common$bigint$index.toGbigint = module$contents$google3$javascript$common$bigint$index_toGbigint;
module$exports$google3$javascript$common$bigint$index.isGbigint = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(arg) {
  return module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE ? goog.DEBUG ? module$contents$google3$javascript$common$bigint$index_isGbigintForcedAsStringHalfTheTime(arg) : (0,module$exports$google3$javascript$common$asserts$guards.isBigInt)(arg) : (0,module$exports$google3$javascript$common$asserts$guards.isString)(arg) && /^(?:-?[1-9]\d*|0)$/.test(arg);
}, "gbigint");
module$exports$google3$javascript$common$bigint$index.isSafeInt52 = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(value) {
  if (module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE) {
    module$contents$google3$javascript$common$asserts$asserts_assert(module$contents$google3$javascript$common$bigint$index_MIN_SAFE_INT52_BIGINT, module$exports$google3$javascript$common$asserts$guards.isBigInt);
    module$contents$google3$javascript$common$asserts$asserts_assert(module$contents$google3$javascript$common$bigint$index_MAX_SAFE_INT52_BIGINT, module$exports$google3$javascript$common$asserts$guards.isBigInt);
    var valueAsBigInt = goog.DEBUG ? BigInt(value) : module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isBigInt);
    return valueAsBigInt >= module$contents$google3$javascript$common$bigint$index_MIN_SAFE_INT52_BIGINT && valueAsBigInt <= module$contents$google3$javascript$common$bigint$index_MAX_SAFE_INT52_BIGINT;
  }
  var valueAsString = module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isString);
  return valueAsString[0] === "-" ? module$contents$google3$javascript$common$bigint$index_isInRange(valueAsString, module$contents$google3$javascript$common$bigint$index_MIN_SAFE_INT52_STR) : module$contents$google3$javascript$common$bigint$index_isInRange(valueAsString, module$contents$google3$javascript$common$bigint$index_MAX_SAFE_INT52_STR);
}, "isSafeInt52");
var module$contents$google3$javascript$common$bigint$index_MIN_SAFE_INT52_STR = Number.MIN_SAFE_INTEGER.toString(), module$contents$google3$javascript$common$bigint$index_MIN_SAFE_INT52_BIGINT = module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE ? BigInt(Number.MIN_SAFE_INTEGER) : void 0, module$contents$google3$javascript$common$bigint$index_MAX_SAFE_INT52_STR = Number.MAX_SAFE_INTEGER.toString(), module$contents$google3$javascript$common$bigint$index_MAX_SAFE_INT52_BIGINT = 
module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE ? BigInt(Number.MAX_SAFE_INTEGER) : void 0;
module$exports$google3$javascript$common$bigint$index.isValidSignedInt64 = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(value) {
  if (module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE) {
    module$contents$google3$javascript$common$asserts$asserts_assert(module$contents$google3$javascript$common$bigint$index_MIN_SIGNED_INT64_BIGINT, module$exports$google3$javascript$common$asserts$guards.isBigInt);
    module$contents$google3$javascript$common$asserts$asserts_assert(module$contents$google3$javascript$common$bigint$index_MAX_SIGNED_INT64_BIGINT, module$exports$google3$javascript$common$asserts$guards.isBigInt);
    var valueAsBigInt = goog.DEBUG ? BigInt(value) : module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isBigInt);
    return valueAsBigInt >= module$contents$google3$javascript$common$bigint$index_MIN_SIGNED_INT64_BIGINT && valueAsBigInt <= module$contents$google3$javascript$common$bigint$index_MAX_SIGNED_INT64_BIGINT;
  }
  var valueAsString = module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isString);
  return valueAsString[0] === "-" ? module$contents$google3$javascript$common$bigint$index_isInRange(valueAsString, "-9223372036854775808") : module$contents$google3$javascript$common$bigint$index_isInRange(valueAsString, "9223372036854775807");
}, "isValidSignedInt64");
var module$contents$google3$javascript$common$bigint$index_MIN_SIGNED_INT64_BIGINT = module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE ? BigInt("-9223372036854775808") : void 0, module$contents$google3$javascript$common$bigint$index_MAX_SIGNED_INT64_BIGINT = module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE ? BigInt("9223372036854775807") : void 0;
module$exports$google3$javascript$common$bigint$index.isValidUnsignedInt64 = module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(value) {
  if (module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE) {
    module$contents$google3$javascript$common$asserts$asserts_assert(module$contents$google3$javascript$common$bigint$index_MIN_UNSIGNED_INT64_BIGINT, module$exports$google3$javascript$common$asserts$guards.isBigInt);
    module$contents$google3$javascript$common$asserts$asserts_assert(module$contents$google3$javascript$common$bigint$index_MAX_UNSIGNED_INT64_BIGINT, module$exports$google3$javascript$common$asserts$guards.isBigInt);
    var valueAsBigInt = goog.DEBUG ? BigInt(value) : module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isBigInt);
    return valueAsBigInt >= module$contents$google3$javascript$common$bigint$index_MIN_UNSIGNED_INT64_BIGINT && valueAsBigInt <= module$contents$google3$javascript$common$bigint$index_MAX_UNSIGNED_INT64_BIGINT;
  }
  var valueAsString = module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isString);
  if (valueAsString[0] === "-") {
    return !1;
  }
  module$contents$google3$javascript$common$asserts$asserts_assert("18446744073709551615", module$exports$google3$javascript$common$asserts$guards.isString);
  return module$contents$google3$javascript$common$bigint$index_isInRange(valueAsString, "18446744073709551615");
}, "isValidUnsignedInt64");
var module$contents$google3$javascript$common$bigint$index_MIN_UNSIGNED_INT64_BIGINT = module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE ? BigInt(0) : void 0, module$contents$google3$javascript$common$bigint$index_MAX_UNSIGNED_INT64_BIGINT = module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE ? BigInt("18446744073709551615") : void 0;
module$exports$google3$javascript$common$bigint$index.gbigintToBoolean = function(value) {
  return module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE ? (module$contents$google3$javascript$common$asserts$asserts_assert(module$contents$google3$javascript$common$bigint$index_ZERO_BIGINT, module$exports$google3$javascript$common$asserts$guards.isBigInt), (goog.DEBUG ? BigInt(value) : module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isBigInt)) !== module$contents$google3$javascript$common$bigint$index_ZERO_BIGINT) : 
  module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isString) !== "0";
};
module$exports$google3$javascript$common$bigint$index.compareBigInt = function(a, b) {
  if (module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE) {
    var aAsBigInt = goog.DEBUG ? BigInt(a) : module$contents$google3$javascript$common$asserts$asserts_cast(a, module$exports$google3$javascript$common$asserts$guards.isBigInt), bAsBigInt = goog.DEBUG ? BigInt(b) : module$contents$google3$javascript$common$asserts$asserts_cast(b, module$exports$google3$javascript$common$asserts$guards.isBigInt);
    return aAsBigInt > bAsBigInt ? 1 : aAsBigInt === bAsBigInt ? 0 : -1;
  }
  var aAsString = module$contents$google3$javascript$common$asserts$asserts_cast(a, module$exports$google3$javascript$common$asserts$guards.isString), bAsString = module$contents$google3$javascript$common$asserts$asserts_cast(b, module$exports$google3$javascript$common$asserts$guards.isString), aIsNegative = aAsString.length && aAsString[0] === "-", aSign = aIsNegative ? -1 : 1;
  return aIsNegative !== (bAsString.length && bAsString[0] === "-") ? aSign : aAsString.length !== bAsString.length ? aAsString.length > bAsString.length ? aSign : -aSign : aSign * aAsString.localeCompare(bAsString);
};
function module$contents$google3$javascript$common$bigint$index_isInRange(value, boundary) {
  if (value.length > boundary.length) {
    return !1;
  }
  if (value.length < boundary.length || value === boundary) {
    return !0;
  }
  for (var i = 0; i < value.length; i++) {
    var valueChar = value[i], boundaryChar = boundary[i];
    if (valueChar > boundaryChar) {
      return !1;
    }
    if (valueChar < boundaryChar) {
      return !0;
    }
  }
  if (module$exports$google3$javascript$common$asserts$internal.ENABLE_ASSERTS) {
    var msg = "isInRange weird case. Value was: " + value + ". Boundary was: " + boundary + ".", keepInProdMsgFunc = module$contents$google3$javascript$common$asserts$asserts_keepInProdMsg;
    if (!goog.DEBUG) {
      throw Error(module$contents$google3$javascript$common$asserts$asserts_formatLazyMsg(keepInProdMsgFunc));
    }
    module$contents$google3$javascript$common$asserts$asserts_throwGuardFailure("Assertion fail:", msg || keepInProdMsgFunc);
  }
}
var module$contents$google3$javascript$common$bigint$index_ZERO_BIGINT = module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE ? BigInt(0) : void 0;
function module$contents$google3$javascript$common$bigint$index_isGbigintForcedAsStringHalfTheTime(arg) {
  if (typeof arg === "bigint") {
    return arg % BigInt(2) === BigInt(module$contents$google3$javascript$common$bigint$index_getGBigIntUseStrInDebugToggleVal()) ? (console.error("isGbigint: got a `bigint` when we were expecting a `string`. Make sure to call `toGbigint()` when creating `gbigint` instances!"), !1) : !0;
  }
  if ((0,module$exports$google3$javascript$common$asserts$guards.isString)(arg)) {
    if (!/^(?:-?[1-9]\d*|0)$/.test(arg)) {
      return !1;
    }
    if (Number(arg[arg.length - 1]) % 2 === module$contents$google3$javascript$common$bigint$index_getGBigIntUseStrInDebugToggleVal()) {
      return !0;
    }
    console.error("isGbigint: got a `string` when we were expecting a `bigint`. Make sure to call `toGbigint()` when creating `gbigint` instances!");
  }
  return !1;
}
function module$contents$google3$javascript$common$bigint$index_getGBigIntUseStrInDebugToggleVal() {
  if (goog.DEBUG && module$exports$google3$javascript$common$bigint$platform.NATIVE_BIGINT_AVAILABLE && !module$exports$google3$javascript$common$bigint$platform.ODD_FORCED_STRING_IN_DEBUG) {
    var container = typeof Window === "function" && globalThis.top instanceof Window ? globalThis.top : globalThis;
    container.gbigintUseStrInDebugToggleVal !== 0 && container.gbigintUseStrInDebugToggleVal !== 1 && (container.gbigintUseStrInDebugToggleVal = Math.round(Math.random()));
    var JSCompiler_temp = container.gbigintUseStrInDebugToggleVal;
  } else {
    JSCompiler_temp = 1;
  }
  return JSCompiler_temp;
}
;var module$contents$jspb$utils_SUPPORTS_UINT8ARRAY_SLICING = goog.FEATURESET_YEAR >= 2018 || typeof Uint8Array.prototype.slice === "function", module$contents$jspb$utils_split64Low = 0, module$contents$jspb$utils_split64High = 0, module$contents$jspb$utils_scratchpad;
function module$contents$jspb$utils_splitUint64(value) {
  var lowBits = value >>> 0, highBits = (value - lowBits) / module$exports$jspb$BinaryConstants.TWO_TO_32 >>> 0;
  module$contents$jspb$utils_split64Low = lowBits;
  module$contents$jspb$utils_split64High = highBits;
}
function module$contents$jspb$utils_splitInt64(value) {
  if (value < 0) {
    module$contents$jspb$utils_splitUint64(0 - value);
    var $jscomp$destructuring$var25 = (0,$jscomp.makeIterator)(module$contents$jspb$utils_negate(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High)), negLow = $jscomp$destructuring$var25.next().value, negHigh = $jscomp$destructuring$var25.next().value;
    module$contents$jspb$utils_split64Low = negLow >>> 0;
    module$contents$jspb$utils_split64High = negHigh >>> 0;
  } else {
    module$contents$jspb$utils_splitUint64(value);
  }
}
function module$contents$jspb$utils_getScratchpad(numBytes) {
  (0,goog.asserts.assert)(numBytes <= 8);
  return module$contents$jspb$utils_scratchpad || (module$contents$jspb$utils_scratchpad = new DataView(new ArrayBuffer(8)));
}
function module$contents$jspb$utils_joinUint64(bitsLow, bitsHigh) {
  var maybeUnsafeValue = bitsHigh * module$exports$jspb$BinaryConstants.TWO_TO_32 + (bitsLow >>> 0);
  return Number.isSafeInteger(maybeUnsafeValue) ? maybeUnsafeValue : module$contents$jspb$utils_joinUnsignedDecimalString(bitsLow, bitsHigh);
}
function module$contents$jspb$utils_joinUint64Gbigint(bitsLow, bitsHigh) {
  return module$contents$google3$javascript$common$bigint$index_toGbigint(module$contents$jspb$internal_options_isBigIntAvailable() ? BigInt.asUintN(64, (BigInt(bitsHigh >>> 0) << BigInt(32)) + BigInt(bitsLow >>> 0)) : module$contents$jspb$utils_joinUnsignedDecimalString(bitsLow, bitsHigh));
}
function module$contents$jspb$utils_joinInt64(bitsLow, bitsHigh) {
  var sign = bitsHigh & 2147483648;
  sign && (bitsLow = ~bitsLow + 1 >>> 0, bitsHigh = ~bitsHigh >>> 0, bitsLow == 0 && (bitsHigh = bitsHigh + 1 >>> 0));
  var result = module$contents$jspb$utils_joinUint64(bitsLow, bitsHigh);
  return typeof result === "number" ? sign ? -result : result : sign ? "-" + result : result;
}
function module$contents$jspb$utils_joinInt64Gbigint(bitsLow, bitsHigh) {
  return module$contents$jspb$internal_options_isBigIntAvailable() ? module$contents$google3$javascript$common$bigint$index_toGbigint(BigInt.asIntN(64, (BigInt.asUintN(32, BigInt(bitsHigh)) << BigInt(32)) + BigInt.asUintN(32, BigInt(bitsLow)))) : module$contents$google3$javascript$common$bigint$index_toGbigint(module$contents$jspb$utils_joinSignedDecimalString(bitsLow, bitsHigh));
}
function module$contents$jspb$utils_toZigzag64(bitsLow, bitsHigh, convert) {
  var signFlipMask = bitsHigh >> 31;
  bitsHigh = (bitsHigh << 1 | bitsLow >>> 31) ^ signFlipMask;
  bitsLow = bitsLow << 1 ^ signFlipMask;
  return convert(bitsLow, bitsHigh);
}
function module$contents$jspb$utils_joinZigzag64(bitsLow, bitsHigh) {
  return module$contents$jspb$utils_fromZigzag64(bitsLow, bitsHigh, module$contents$jspb$utils_joinInt64);
}
function module$contents$jspb$utils_fromZigzag64(bitsLow, bitsHigh, convert) {
  var signFlipMask = -(bitsLow & 1);
  bitsLow = (bitsLow >>> 1 | bitsHigh << 31) ^ signFlipMask;
  bitsHigh = bitsHigh >>> 1 ^ signFlipMask;
  return convert(bitsLow, bitsHigh);
}
function module$contents$jspb$utils_joinUnsignedDecimalString(bitsLow, bitsHigh) {
  bitsHigh >>>= 0;
  bitsLow >>>= 0;
  if (bitsHigh <= 2097151) {
    var JSCompiler_temp = "" + (module$exports$jspb$BinaryConstants.TWO_TO_32 * bitsHigh + bitsLow);
  } else {
    if (module$contents$jspb$internal_options_isBigIntAvailable()) {
      var JSCompiler_temp$jscomp$0 = "" + (BigInt(bitsHigh) << BigInt(32) | BigInt(bitsLow));
    } else {
      var mid = (bitsLow >>> 24 | bitsHigh << 8) & 16777215, high = bitsHigh >> 16 & 65535, digitA = (bitsLow & 16777215) + mid * 6777216 + high * 6710656, digitB = mid + high * 8147497, digitC = high * 2;
      digitA >= 1E7 && (digitB += digitA / 1E7 >>> 0, digitA %= 1E7);
      digitB >= 1E7 && (digitC += digitB / 1E7 >>> 0, digitB %= 1E7);
      (0,goog.asserts.assert)(digitC);
      JSCompiler_temp$jscomp$0 = digitC + module$contents$jspb$utils_decimalFrom1e7WithLeadingZeros(digitB) + module$contents$jspb$utils_decimalFrom1e7WithLeadingZeros(digitA);
    }
    JSCompiler_temp = JSCompiler_temp$jscomp$0;
  }
  return JSCompiler_temp;
}
function module$contents$jspb$utils_decimalFrom1e7WithLeadingZeros(digit1e7) {
  var partial = String(digit1e7);
  return "0000000".slice(partial.length) + partial;
}
function module$contents$jspb$utils_joinSignedDecimalString(bitsLow, bitsHigh) {
  if (bitsHigh & 2147483648) {
    if (module$contents$jspb$internal_options_isBigIntAvailable()) {
      var JSCompiler_temp = "" + (BigInt(bitsHigh | 0) << BigInt(32) | BigInt(bitsLow >>> 0));
    } else {
      var $jscomp$inline_323 = (0,$jscomp.makeIterator)(module$contents$jspb$utils_negate(bitsLow, bitsHigh)), negLow = $jscomp$inline_323.next().value, negHigh = $jscomp$inline_323.next().value;
      JSCompiler_temp = "-" + module$contents$jspb$utils_joinUnsignedDecimalString(negLow, negHigh);
    }
    var JSCompiler_temp$jscomp$0 = JSCompiler_temp;
  } else {
    JSCompiler_temp$jscomp$0 = module$contents$jspb$utils_joinUnsignedDecimalString(bitsLow, bitsHigh);
  }
  return JSCompiler_temp$jscomp$0;
}
function module$contents$jspb$utils_joinSignedNumberOrDecimalString(bitsLow, bitsHigh) {
  var possiblyUnsafe = module$contents$jspb$utils_joinInt64(bitsLow, bitsHigh);
  return Number.isSafeInteger(possiblyUnsafe) ? possiblyUnsafe : module$contents$jspb$utils_joinSignedDecimalString(bitsLow, bitsHigh);
}
function module$contents$jspb$utils_joinUnsignedNumberOrDecimalString(bitsLow, bitsHigh) {
  bitsHigh >>>= 0;
  var possiblyUnsafe = module$contents$jspb$utils_joinUint64(bitsLow, bitsHigh);
  return Number.isSafeInteger(possiblyUnsafe) ? possiblyUnsafe : module$contents$jspb$utils_joinUnsignedDecimalString(bitsLow, bitsHigh);
}
function module$contents$jspb$utils_splitDecimalString(value) {
  (0,goog.asserts.assert)(value.length > 0);
  if (value.length < 16) {
    module$contents$jspb$utils_splitInt64(Number(value));
  } else {
    if (module$contents$jspb$internal_options_isBigIntAvailable()) {
      var bigInt = BigInt(value);
      module$contents$jspb$utils_split64Low = Number(bigInt & BigInt(4294967295)) >>> 0;
      module$contents$jspb$utils_split64High = Number(bigInt >> BigInt(32) & BigInt(4294967295));
    } else {
      (0,goog.asserts.assert)(value.length > 0);
      var firstDigitIndex = +(value[0] === "-");
      module$contents$jspb$utils_split64High = module$contents$jspb$utils_split64Low = 0;
      for (var end = value.length, sliceStart = 0 + firstDigitIndex, sliceEnd = (end - firstDigitIndex) % 6 + firstDigitIndex; sliceEnd <= end; sliceStart = sliceEnd, sliceEnd += 6) {
        var digit1e6 = Number(value.slice(sliceStart, sliceEnd));
        module$contents$jspb$utils_split64High *= 1E6;
        module$contents$jspb$utils_split64Low = module$contents$jspb$utils_split64Low * 1E6 + digit1e6;
        module$contents$jspb$utils_split64Low >= module$exports$jspb$BinaryConstants.TWO_TO_32 && (module$contents$jspb$utils_split64High += Math.trunc(module$contents$jspb$utils_split64Low / module$exports$jspb$BinaryConstants.TWO_TO_32), module$contents$jspb$utils_split64High >>>= 0, module$contents$jspb$utils_split64Low >>>= 0);
      }
      if (firstDigitIndex) {
        var $jscomp$inline_333 = (0,$jscomp.makeIterator)(module$contents$jspb$utils_negate(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High)), negLow = $jscomp$inline_333.next().value, negHigh = $jscomp$inline_333.next().value;
        module$contents$jspb$utils_split64Low = negLow;
        module$contents$jspb$utils_split64High = negHigh;
      }
    }
  }
}
function module$contents$jspb$utils_negate(lowBits, highBits) {
  highBits = ~highBits;
  lowBits ? lowBits = ~lowBits + 1 : highBits += 1;
  return [lowBits, highBits];
}
;function module$contents$google3$javascript$typescript$contrib$check_checkExhaustiveAllowing(value, msg) {
  throw Error(msg === void 0 ? "unexpected value " + value + "!" : msg);
}
;function module$contents$jspb$internal_accessor_helpers_checkFloatingPoint(value) {
  if (typeof value !== "number") {
    throw Error("Value of float/double field must be a number, found " + typeof value + ": " + value);
  }
  return value;
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint(value) {
  if (value == null || typeof value === "number") {
    return value;
  }
  if (value === "NaN" || value === "Infinity" || value === "-Infinity") {
    return Number(value);
  }
}
function module$contents$jspb$internal_accessor_helpers_ctorName(ctor) {
  return ctor.displayName || ctor.name || "unknown type name";
}
function module$contents$jspb$internal_accessor_helpers_checkBoolean(value) {
  if (typeof value !== "boolean") {
    throw Error("Expected boolean but got " + goog.typeOf(value) + ": " + value);
  }
  return value;
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishBoolean(value) {
  if (value == null || typeof value === "boolean") {
    return value;
  }
  if (typeof value === "number") {
    return !!value;
  }
}
var module$contents$jspb$internal_accessor_helpers_NUMBER_SHAPED_CHECK = /^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;
function module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, forceTypeChecking) {
  var valueType = typeof value;
  switch(valueType) {
    case "bigint":
      return !0;
    case "number":
      return Number.isFinite(value);
  }
  return valueType !== "string" ? !1 : forceTypeChecking || module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange ? module$contents$jspb$internal_accessor_helpers_NUMBER_SHAPED_CHECK.test(value) : !!value && isFinite(value);
}
function module$contents$jspb$internal_accessor_helpers_getEnumErrorMessage(value) {
  return goog.DEBUG ? "Expected enum as finite number but got " + goog.typeOf(value) + ": " + value : "enum";
}
function module$contents$jspb$internal_accessor_helpers_checkEnum(value) {
  if (!Number.isFinite(value)) {
    switch(module$contents$jspb$internal_options_typeCheckEnumFields) {
      case module$exports$jspb$internal_options.CheckLevel.THROW:
        throw module$contents$jspb$exceptions_makeTypeError(module$contents$jspb$internal_accessor_helpers_getEnumErrorMessage(value));
      case module$exports$jspb$internal_options.CheckLevel.ASYNC_THROW:
        module$contents$jspb$exceptions_asyncThrowWarning(module$contents$jspb$internal_accessor_helpers_getEnumErrorMessage(value));
    }
  }
  return module$contents$jspb$internal_options_typeCheckEnumFields === module$exports$jspb$internal_options.CheckLevel.THROW ? value | 0 : value;
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishEnum(value) {
  return value == null ? value : module$contents$jspb$internal_options_typeCheckEnumFields === module$exports$jspb$internal_options.CheckLevel.THROW ? Number.isFinite(value) ? value | 0 : void 0 : value;
}
function module$contents$jspb$internal_accessor_helpers_getInt32ErrorMessage(value) {
  return goog.DEBUG ? "Expected int32 as finite number but got " + goog.typeOf(value) + ": " + value : "int32";
}
function module$contents$jspb$internal_accessor_helpers_checkInt32(value) {
  if (typeof value !== "number") {
    throw module$contents$jspb$exceptions_makeTypeError(module$contents$jspb$internal_accessor_helpers_getInt32ErrorMessage(value));
  }
  if (!Number.isFinite(value)) {
    switch(module$contents$jspb$internal_options_typeCheck32BitIntFields) {
      case module$exports$jspb$internal_options.CheckLevel.THROW:
        throw module$contents$jspb$exceptions_makeTypeError(module$contents$jspb$internal_accessor_helpers_getInt32ErrorMessage(value));
      case module$exports$jspb$internal_options.CheckLevel.ASYNC_THROW:
        module$contents$jspb$exceptions_asyncThrowWarning(module$contents$jspb$internal_accessor_helpers_getInt32ErrorMessage(value));
    }
  }
  return module$contents$jspb$internal_options_typeCheck32BitIntFields === module$exports$jspb$internal_options.CheckLevel.THROW ? value | 0 : value;
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32(value) {
  if (value == null) {
    return value;
  }
  if (typeof value === "string") {
    if (!value) {
      return;
    }
    value = +value;
  }
  if (typeof value === "number") {
    return module$contents$jspb$internal_options_typeCheck32BitIntFields === module$exports$jspb$internal_options.CheckLevel.THROW ? Number.isFinite(value) ? value | 0 : void 0 : value;
  }
}
function module$contents$jspb$internal_accessor_helpers_getUint32ErrorMessage(value) {
  return goog.DEBUG ? "Expected uint32 as finite number but got " + goog.typeOf(value) + ": " + value : "uint32";
}
function module$contents$jspb$internal_accessor_helpers_checkUint32(value) {
  if (typeof value !== "number") {
    throw module$contents$jspb$exceptions_makeTypeError(module$contents$jspb$internal_accessor_helpers_getUint32ErrorMessage(value));
  }
  if (!Number.isFinite(value)) {
    switch(module$contents$jspb$internal_options_typeCheck32BitIntFields) {
      case module$exports$jspb$internal_options.CheckLevel.THROW:
        throw module$contents$jspb$exceptions_makeTypeError(module$contents$jspb$internal_accessor_helpers_getUint32ErrorMessage(value));
      case module$exports$jspb$internal_options.CheckLevel.ASYNC_THROW:
        module$contents$jspb$exceptions_asyncThrowWarning(module$contents$jspb$internal_accessor_helpers_getUint32ErrorMessage(value));
    }
  }
  return module$contents$jspb$internal_options_typeCheck32BitIntFields === module$exports$jspb$internal_options.CheckLevel.THROW ? value >>> 0 : value;
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32(value) {
  if (value == null) {
    return value;
  }
  if (typeof value === "string") {
    if (!value) {
      return;
    }
    value = +value;
  }
  if (typeof value === "number") {
    return module$contents$jspb$internal_options_typeCheck32BitIntFields === module$exports$jspb$internal_options.CheckLevel.THROW ? Number.isFinite(value) ? value >>> 0 : void 0 : value;
  }
}
function module$contents$jspb$internal_accessor_helpers_checkInt64(value, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  var shouldForceTypeChecking = requestedFormat !== module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY;
  if (!shouldForceTypeChecking && !module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange) {
    return value;
  }
  if (!module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, shouldForceTypeChecking)) {
    var JSCompiler_inline_result = goog.DEBUG ? "Expected an int64 value encoded as a number or a string but got " + goog.typeOf(value) + ": " + value : "int64";
    throw module$contents$jspb$exceptions_makeTypeError(JSCompiler_inline_result);
  }
  var valueType = typeof value;
  switch(requestedFormat) {
    case module$exports$jspb$internal_array_state.TypeSpecificApiFormat.STRING:
      switch(valueType) {
        case "string":
          return module$contents$jspb$internal_accessor_helpers_convertStringToInt64String(value, !0);
        case "bigint":
          return String(BigInt.asIntN(64, value));
        default:
          return module$contents$jspb$internal_accessor_helpers_convertNumberToInt64String(module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isNumber), !0);
      }case module$exports$jspb$internal_array_state.TypeSpecificApiFormat.GBIGINT:
      switch(valueType) {
        case "string":
          return module$contents$jspb$internal_accessor_helpers_convertStringToInt64Gbigint(value);
        case "bigint":
          return module$contents$jspb$internal_accessor_helpers_convertBigintToInt64Gbigint(value);
        default:
          return module$contents$jspb$internal_accessor_helpers_convertNumberToInt64Gbigint(module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isNumber));
      }case module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY:
      switch(valueType) {
        case "string":
          return module$contents$jspb$internal_accessor_helpers_convertStringToInt64String(value, !1);
        case "bigint":
          return module$contents$jspb$internal_accessor_helpers_convertBigintToInt64Gbigint(value);
        default:
          return module$contents$jspb$internal_accessor_helpers_convertNumberToInt64Number(module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isNumber), !1);
      }default:
      return module$contents$google3$javascript$typescript$contrib$check_checkExhaustiveAllowing(requestedFormat, "Unknown format requested type for int64");
  }
}
function module$contents$jspb$internal_accessor_helpers_checkNullishInt64(value, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return value == null ? value : module$contents$jspb$internal_accessor_helpers_checkInt64(value, requestedFormat);
}
function module$contents$jspb$internal_accessor_helpers_onFastPathToTruncateUint64RangeString(value) {
  return value[0] === "-" ? !1 : value.length < 20 ? !0 : value.length === 20 && Number(value.substring(0, 6)) < 184467;
}
function module$contents$jspb$internal_accessor_helpers_onFastPathToTruncateInt64RangeString(value) {
  return value[0] === "-" ? value.length < 20 ? !0 : value.length === 20 && Number(value.substring(0, 7)) > -922337 : value.length < 19 ? !0 : value.length === 19 && Number(value.substring(0, 6)) < 922337;
}
function module$contents$jspb$internal_accessor_helpers_truncateNumberToUint64RangeNumber(value) {
  goog.asserts.assert(value < 0 || !(0 < value && value < Number.MAX_SAFE_INTEGER));
  goog.asserts.assert(Number.isInteger(value));
  if (value < 0) {
    module$contents$jspb$utils_splitInt64(value);
    var result = module$contents$jspb$utils_joinUnsignedDecimalString(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High);
    value = Number(result);
    return Number.isSafeInteger(value) ? value : result;
  }
  var valueStr = String(value);
  if (module$contents$jspb$internal_accessor_helpers_onFastPathToTruncateUint64RangeString(valueStr)) {
    return valueStr;
  }
  module$contents$jspb$utils_splitInt64(value);
  return module$contents$jspb$utils_joinUint64(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High);
}
function module$contents$jspb$internal_accessor_helpers_truncateStringToInt64RangeString(value) {
  goog.asserts.assert(value.indexOf(".") === -1);
  if (module$contents$jspb$internal_accessor_helpers_onFastPathToTruncateInt64RangeString(value)) {
    return value;
  }
  module$contents$jspb$utils_splitDecimalString(value);
  return module$contents$jspb$utils_joinSignedDecimalString(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High);
}
function module$contents$jspb$internal_accessor_helpers_truncateStringToUint64RangeString(value) {
  goog.asserts.assert(value.indexOf(".") === -1);
  if (module$contents$jspb$internal_accessor_helpers_onFastPathToTruncateUint64RangeString(value)) {
    return value;
  }
  module$contents$jspb$utils_splitDecimalString(value);
  return module$contents$jspb$utils_joinUnsignedDecimalString(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High);
}
function module$contents$jspb$internal_accessor_helpers_convertNumberToInt64Number(value$jscomp$0, forceTypeChecking) {
  goog.asserts.assert(module$contents$jspb$internal_accessor_helpers_isNumberShaped(value$jscomp$0, forceTypeChecking));
  goog.asserts.assert(forceTypeChecking || module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange);
  value$jscomp$0 = Math.trunc(value$jscomp$0);
  if (!forceTypeChecking && !module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange || Number.isSafeInteger(value$jscomp$0)) {
    var JSCompiler_temp = value$jscomp$0;
  } else {
    var value = value$jscomp$0;
    goog.asserts.assert(!Number.isSafeInteger(value));
    goog.asserts.assert(Number.isInteger(value));
    module$contents$jspb$utils_splitInt64(value);
    JSCompiler_temp = module$contents$jspb$utils_joinInt64(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High);
  }
  return JSCompiler_temp;
}
function module$contents$jspb$internal_accessor_helpers_convertNumberToUint64Number(value, forceTypeChecking) {
  goog.asserts.assert(module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, forceTypeChecking));
  goog.asserts.assert(forceTypeChecking || module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange);
  value = Math.trunc(value);
  return !forceTypeChecking && !module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange || value >= 0 && Number.isSafeInteger(value) ? value : module$contents$jspb$internal_accessor_helpers_truncateNumberToUint64RangeNumber(value);
}
function module$contents$jspb$internal_accessor_helpers_convertNumberToInt64String(value$jscomp$0, forceTypeChecking) {
  goog.asserts.assert(module$contents$jspb$internal_accessor_helpers_isNumberShaped(value$jscomp$0, forceTypeChecking));
  goog.asserts.assert(forceTypeChecking || module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange);
  value$jscomp$0 = Math.trunc(value$jscomp$0);
  if (!forceTypeChecking && !module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange || Number.isSafeInteger(value$jscomp$0)) {
    var JSCompiler_temp = String(value$jscomp$0);
  } else {
    var value = value$jscomp$0;
    goog.asserts.assert(!Number.isSafeInteger(value));
    goog.asserts.assert(Number.isInteger(value));
    var valueStr = String(value);
    module$contents$jspb$internal_accessor_helpers_onFastPathToTruncateInt64RangeString(valueStr) ? JSCompiler_temp = valueStr : (module$contents$jspb$utils_splitInt64(value), JSCompiler_temp = module$contents$jspb$utils_joinSignedDecimalString(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High));
  }
  return JSCompiler_temp;
}
function module$contents$jspb$internal_accessor_helpers_convertNumberToUint64String(value$jscomp$0, forceTypeChecking) {
  goog.asserts.assert(module$contents$jspb$internal_accessor_helpers_isNumberShaped(value$jscomp$0, forceTypeChecking));
  goog.asserts.assert(forceTypeChecking || module$contents$jspb$internal_options_typeCheck64BitIntFields);
  value$jscomp$0 = Math.trunc(value$jscomp$0);
  if (!forceTypeChecking && !module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange || value$jscomp$0 >= 0 && Number.isSafeInteger(value$jscomp$0)) {
    var JSCompiler_temp = String(value$jscomp$0);
  } else {
    var value = value$jscomp$0;
    goog.asserts.assert(value < 0 || !(0 < value && value < Number.MAX_SAFE_INTEGER));
    goog.asserts.assert(Number.isInteger(value));
    var valueStr = String(value);
    module$contents$jspb$internal_accessor_helpers_onFastPathToTruncateUint64RangeString(valueStr) ? JSCompiler_temp = valueStr : (module$contents$jspb$utils_splitInt64(value), JSCompiler_temp = module$contents$jspb$utils_joinUnsignedDecimalString(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High));
  }
  return JSCompiler_temp;
}
function module$contents$jspb$internal_accessor_helpers_convertStringToInt64String(value, forceTypeChecking) {
  goog.asserts.assert(module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, forceTypeChecking));
  goog.asserts.assert(forceTypeChecking || module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange);
  var coerced = Math.trunc(Number(value));
  if (Number.isSafeInteger(coerced)) {
    return String(coerced);
  }
  var decimalIdx = value.indexOf(".");
  decimalIdx !== -1 && (value = value.substring(0, decimalIdx));
  return forceTypeChecking || module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange ? module$contents$jspb$internal_accessor_helpers_truncateStringToInt64RangeString(value) : value;
}
function module$contents$jspb$internal_accessor_helpers_convertStringToInt64Gbigint(value) {
  var coerced = Math.trunc(Number(value));
  if (Number.isSafeInteger(coerced)) {
    return module$contents$google3$javascript$common$bigint$index_toGbigint(coerced);
  }
  var decimalIdx = value.indexOf(".");
  decimalIdx !== -1 && (value = value.substring(0, decimalIdx));
  return module$contents$jspb$internal_options_isBigIntAvailable() ? module$contents$jspb$internal_accessor_helpers_convertBigintToInt64Gbigint(BigInt(value)) : module$contents$google3$javascript$common$bigint$index_toGbigint(module$contents$jspb$internal_accessor_helpers_truncateStringToInt64RangeString(value));
}
function module$contents$jspb$internal_accessor_helpers_convertNumberToInt64Gbigint(value) {
  return Number.isSafeInteger(value) ? module$contents$google3$javascript$common$bigint$index_toGbigint(module$contents$jspb$internal_accessor_helpers_convertNumberToInt64Number(value, !0)) : module$contents$google3$javascript$common$bigint$index_toGbigint(module$contents$jspb$internal_accessor_helpers_convertNumberToInt64String(value, !0));
}
function module$contents$jspb$internal_accessor_helpers_convertNumberToUint64Gbigint(value) {
  return Number.isSafeInteger(value) ? module$contents$google3$javascript$common$bigint$index_toGbigint(module$contents$jspb$internal_accessor_helpers_convertNumberToUint64Number(value, !0)) : module$contents$google3$javascript$common$bigint$index_toGbigint(module$contents$jspb$internal_accessor_helpers_convertNumberToUint64String(value, !0));
}
function module$contents$jspb$internal_accessor_helpers_convertStringToUint64String(value, forceTypeChecking) {
  goog.asserts.assert(module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, forceTypeChecking));
  goog.asserts.assert(forceTypeChecking || module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange);
  var coerced = Math.trunc(Number(value));
  if (Number.isSafeInteger(coerced) && (!forceTypeChecking && !module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange || coerced >= 0)) {
    return String(coerced);
  }
  var decimalIdx = value.indexOf(".");
  decimalIdx !== -1 && (value = value.substring(0, decimalIdx));
  return module$contents$jspb$internal_accessor_helpers_truncateStringToUint64RangeString(value);
}
function module$contents$jspb$internal_accessor_helpers_convertStringToUint64Gbigint(value) {
  var coerced = Math.trunc(Number(value));
  if (Number.isSafeInteger(coerced) && coerced >= 0) {
    return module$contents$google3$javascript$common$bigint$index_toGbigint(coerced);
  }
  var decimalIdx = value.indexOf(".");
  decimalIdx !== -1 && (value = value.substring(0, decimalIdx));
  return module$contents$jspb$internal_options_isBigIntAvailable() ? module$contents$jspb$internal_accessor_helpers_convertBigintToUint64Gbigint(BigInt(value)) : module$contents$google3$javascript$common$bigint$index_toGbigint(module$contents$jspb$internal_accessor_helpers_truncateStringToUint64RangeString(value));
}
function module$contents$jspb$internal_accessor_helpers_convertBigintToInt64Gbigint(value) {
  goog.asserts.assert(typeof value === "bigint");
  return module$contents$google3$javascript$common$bigint$index_toGbigint(BigInt.asIntN(64, value));
}
function module$contents$jspb$internal_accessor_helpers_convertBigintToUint64Gbigint(value) {
  goog.asserts.assert(typeof value === "bigint");
  return module$contents$google3$javascript$common$bigint$index_toGbigint(BigInt.asUintN(64, value));
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64(value) {
  if (value == null) {
    return value;
  }
  if (typeof value === "bigint") {
    if ((0,module$exports$google3$javascript$common$bigint$index.isSafeInt52)(value)) {
      var JSCompiler_inline_result = Number(value);
    } else {
      var value64 = BigInt.asIntN(64, value);
      JSCompiler_inline_result = (0,module$exports$google3$javascript$common$bigint$index.isSafeInt52)(value64) ? Number(value64) : String(value64);
    }
    return JSCompiler_inline_result;
  }
  if (!module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange) {
    return value;
  }
  if (module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, !1)) {
    if (typeof value === "number") {
      return module$contents$jspb$internal_accessor_helpers_convertNumberToInt64Number(value, !1);
    }
    var strValue = module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isString);
    if (module$contents$jspb$internal_options_typeCheck64BitIntFields) {
      goog.asserts.assert(module$contents$jspb$internal_accessor_helpers_isNumberShaped(strValue, !1));
      goog.asserts.assert(module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange);
      goog.asserts.assert(module$contents$jspb$internal_options_typeCheck64BitIntFields);
      var numTrunc = Math.trunc(Number(strValue));
      if (Number.isSafeInteger(numTrunc)) {
        var JSCompiler_temp = numTrunc;
      } else {
        var int64Str = module$contents$jspb$internal_accessor_helpers_convertStringToInt64String(strValue, !1), int64Num = Number(int64Str);
        JSCompiler_temp = Number.isSafeInteger(int64Num) ? int64Num : int64Str;
      }
    } else {
      JSCompiler_temp = module$contents$jspb$internal_accessor_helpers_convertStringToInt64String(strValue, !1);
    }
    return JSCompiler_temp;
  }
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64String(value, forceTypeChecking) {
  forceTypeChecking = forceTypeChecking === void 0 ? !1 : forceTypeChecking;
  var valueType = typeof value;
  if (value == null) {
    return value;
  }
  if (valueType === "bigint") {
    return String(BigInt.asIntN(64, value));
  }
  if (!forceTypeChecking && !module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange) {
    return value;
  }
  if (module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, forceTypeChecking)) {
    if (valueType === "string") {
      return module$contents$jspb$internal_accessor_helpers_convertStringToInt64String(value, forceTypeChecking);
    }
    var numValue = module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isNumber);
    return forceTypeChecking || module$contents$jspb$internal_options_typeCheck64BitIntFields ? module$contents$jspb$internal_accessor_helpers_convertNumberToInt64String(numValue, forceTypeChecking) : module$contents$jspb$internal_accessor_helpers_convertNumberToInt64Number(numValue, forceTypeChecking);
  }
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64Gbigint(value) {
  var valueType = typeof value;
  if (value == null) {
    return value;
  }
  if (valueType === "bigint") {
    return module$contents$jspb$internal_accessor_helpers_convertBigintToInt64Gbigint(value);
  }
  if (module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, !0)) {
    if (valueType === "string") {
      return module$contents$jspb$internal_accessor_helpers_convertStringToInt64Gbigint(value);
    }
    var numValue = module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isNumber);
    return module$contents$jspb$internal_accessor_helpers_convertNumberToInt64Gbigint(numValue);
  }
}
function module$contents$jspb$internal_accessor_helpers_checkUint64(value, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  var shouldForceTypeChecking = requestedFormat !== module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY;
  if (!shouldForceTypeChecking && !module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange) {
    return value;
  }
  if (!module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, shouldForceTypeChecking)) {
    var JSCompiler_inline_result = goog.DEBUG ? "Expected an uint64 value encoded as a number or a string but got " + goog.typeOf(value) + ": " + value : "uint64";
    throw module$contents$jspb$exceptions_makeTypeError(JSCompiler_inline_result);
  }
  var valueType = typeof value;
  switch(requestedFormat) {
    case module$exports$jspb$internal_array_state.TypeSpecificApiFormat.STRING:
      switch(valueType) {
        case "string":
          return module$contents$jspb$internal_accessor_helpers_convertStringToUint64String(value, !0);
        case "bigint":
          return String(BigInt.asUintN(64, value));
        default:
          return module$contents$jspb$internal_accessor_helpers_convertNumberToUint64String(module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isNumber), !0);
      }case module$exports$jspb$internal_array_state.TypeSpecificApiFormat.GBIGINT:
      switch(valueType) {
        case "string":
          return module$contents$jspb$internal_accessor_helpers_convertStringToUint64Gbigint(value);
        case "bigint":
          return module$contents$jspb$internal_accessor_helpers_convertBigintToUint64Gbigint(value);
        default:
          return module$contents$jspb$internal_accessor_helpers_convertNumberToUint64Gbigint(module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isNumber));
      }case module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY:
      switch(valueType) {
        case "string":
          return module$contents$jspb$internal_accessor_helpers_convertStringToUint64String(value, !1);
        case "bigint":
          return module$contents$jspb$internal_accessor_helpers_convertBigintToUint64Gbigint(value);
        default:
          return module$contents$jspb$internal_accessor_helpers_convertNumberToUint64Number(module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isNumber), !1);
      }default:
      return module$contents$google3$javascript$typescript$contrib$check_checkExhaustiveAllowing(requestedFormat, "Unknown format requested type for int64");
  }
}
function module$contents$jspb$internal_accessor_helpers_checkNullishUint64(value, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return value == null ? value : module$contents$jspb$internal_accessor_helpers_checkUint64(value, requestedFormat);
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64(value) {
  if (value == null) {
    return value;
  }
  if (typeof value === "bigint") {
    if (value >= 0 && (0,module$exports$google3$javascript$common$bigint$index.isSafeInt52)(value)) {
      var JSCompiler_inline_result = Number(value);
    } else {
      var value64 = BigInt.asUintN(64, value);
      JSCompiler_inline_result = (0,module$exports$google3$javascript$common$bigint$index.isSafeInt52)(value64) ? Number(value64) : String(value64);
    }
    return JSCompiler_inline_result;
  }
  if (!module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange) {
    return value;
  }
  if (module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, !1)) {
    if (typeof value === "number") {
      return module$contents$jspb$internal_accessor_helpers_convertNumberToUint64Number(value, !1);
    }
    var strValue = module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isString);
    if (module$contents$jspb$internal_options_typeCheck64BitIntFields) {
      goog.asserts.assert(module$contents$jspb$internal_accessor_helpers_isNumberShaped(strValue, !1));
      goog.asserts.assert(module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange);
      goog.asserts.assert(module$contents$jspb$internal_options_typeCheck64BitIntFields);
      var numTrunc = Math.trunc(Number(strValue));
      if (module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange) {
        if (0 <= numTrunc && numTrunc <= Number.MAX_SAFE_INTEGER) {
          var JSCompiler_temp = numTrunc;
        } else {
          var uint64Str = module$contents$jspb$internal_accessor_helpers_convertStringToUint64String(strValue, !1), uint64Num = Number(uint64Str);
          JSCompiler_temp = Number.isSafeInteger(uint64Num) ? uint64Num : uint64Str;
        }
      } else {
        JSCompiler_temp = Number.isSafeInteger(numTrunc) ? numTrunc : module$contents$jspb$internal_accessor_helpers_convertStringToUint64String(strValue, !1);
      }
    } else {
      JSCompiler_temp = module$contents$jspb$internal_accessor_helpers_convertStringToUint64String(strValue, !1);
    }
    return JSCompiler_temp;
  }
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64String(value, forceTypeChecking) {
  forceTypeChecking = forceTypeChecking === void 0 ? !1 : forceTypeChecking;
  var valueType = typeof value;
  if (value == null) {
    return value;
  }
  if (valueType === "bigint") {
    return String(BigInt.asUintN(64, value));
  }
  if (!forceTypeChecking && !module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange) {
    return value;
  }
  if (module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, forceTypeChecking)) {
    if (valueType === "string") {
      return module$contents$jspb$internal_accessor_helpers_convertStringToUint64String(value, forceTypeChecking);
    }
    var numValue = module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isNumber);
    return forceTypeChecking || module$contents$jspb$internal_options_typeCheck64BitIntFields ? module$contents$jspb$internal_accessor_helpers_convertNumberToUint64String(numValue, forceTypeChecking) : module$contents$jspb$internal_accessor_helpers_convertNumberToUint64Number(numValue, forceTypeChecking);
  }
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64Gbigint(value) {
  var valueType = typeof value;
  if (value == null) {
    return value;
  }
  if (valueType === "bigint") {
    return module$contents$jspb$internal_accessor_helpers_convertBigintToUint64Gbigint(value);
  }
  if (module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, !0)) {
    if (valueType === "string") {
      return module$contents$jspb$internal_accessor_helpers_convertStringToUint64Gbigint(value);
    }
    var numValue = module$contents$google3$javascript$common$asserts$asserts_cast(value, module$exports$google3$javascript$common$asserts$guards.isNumber);
    return module$contents$jspb$internal_accessor_helpers_convertNumberToUint64Gbigint(numValue);
  }
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64StringOrNumber(value) {
  if (value == null) {
    return value;
  }
  var valueType = typeof value;
  if (valueType === "bigint") {
    return String(BigInt.asIntN(64, value));
  }
  if (!module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange) {
    return value;
  }
  if (module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, !1)) {
    if (valueType === "string") {
      return module$contents$jspb$internal_accessor_helpers_convertStringToInt64String(value, !1);
    }
    if (valueType === "number") {
      return module$contents$jspb$internal_accessor_helpers_convertNumberToInt64Number(value, !1);
    }
  }
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber(value) {
  if (value == null) {
    return value;
  }
  var valueType = typeof value;
  if (valueType === "bigint") {
    return String(BigInt.asUintN(64, value));
  }
  if (!module$contents$jspb$internal_options_typeCheck64BitIntFieldsAreInRange) {
    return value;
  }
  if (module$contents$jspb$internal_accessor_helpers_isNumberShaped(value, !1)) {
    if (valueType === "string") {
      return module$contents$jspb$internal_accessor_helpers_convertStringToUint64String(value, !1);
    }
    if (valueType === "number") {
      return module$contents$jspb$internal_accessor_helpers_convertNumberToUint64Number(value, !1);
    }
  }
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishBytesAsStringByteStringOrUint8Array(v) {
  if (v == null || typeof v == "string" || module$contents$jspb$internal_bytes_isU8(v) || v instanceof module$exports$jspb$bytestring.ByteString) {
    return v;
  }
}
function module$contents$jspb$internal_accessor_helpers_checkString(value) {
  if (module$contents$jspb$internal_options_typeCheckStringFields && typeof value !== "string") {
    throw goog.DEBUG ? Error("Expected a string but got " + value + " a " + goog.typeOf(value)) : Error();
  }
  return value;
}
function module$contents$jspb$internal_accessor_helpers_checkNullishString(value) {
  if (module$contents$jspb$internal_options_typeCheckStringFields && value != null && typeof value !== "string") {
    throw goog.DEBUG ? Error("Expected a string or null or undefined but got " + value + " a " + goog.typeOf(value)) : Error();
  }
  return value;
}
function module$contents$jspb$internal_accessor_helpers_coerceToNullishString(value) {
  return module$contents$jspb$internal_options_typeCheckStringFields ? value == null || typeof value === "string" ? value : void 0 : value;
}
function module$contents$jspb$internal_accessor_helpers_checkMessageType(value, ctor) {
  if (!(value instanceof ctor)) {
    throw Error("Expected instanceof " + module$contents$jspb$internal_accessor_helpers_ctorName(ctor) + " but got " + (value && module$contents$jspb$internal_accessor_helpers_ctorName(value.constructor)));
  }
  return value;
}
function module$contents$jspb$internal_accessor_helpers_messageFromInlineStorage(value, ctor, constructMissing, parentArrayState) {
  if (value != null && typeof value === "object" && module$contents$jspb$internal_isMessage(value)) {
    return value;
  }
  if (!Array.isArray(value)) {
    return constructMissing ? parentArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY ? module$contents$jspb$internal_accessor_helpers_getDefaultImmutableInstance(ctor) : new ctor() : void 0;
  }
  var originalArrState = (0,module$exports$jspb$internal_array_state.getArrayState)(value), arrState = originalArrState;
  arrState === 0 && (arrState |= parentArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED);
  arrState |= parentArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY;
  arrState !== originalArrState && (0,module$exports$jspb$internal_array_state.setArrayState)(value, arrState);
  return new ctor(value);
}
function module$contents$jspb$internal_accessor_helpers_getArrayErrorMessage(value) {
  return goog.DEBUG ? "Expected array but got " + goog.typeOf(value) + ": " + value : void 0;
}
function module$contents$jspb$internal_accessor_helpers_checkRepeatedFieldIsArray(value) {
  if (!Array.isArray(value)) {
    switch(module$contents$jspb$internal_options_arrayCheckRepeatedFields) {
      case module$exports$jspb$internal_options.CheckLevel.THROW:
        throw module$contents$jspb$exceptions_makeTypeError(module$contents$jspb$internal_accessor_helpers_getArrayErrorMessage(value));
      case module$exports$jspb$internal_options.CheckLevel.ASYNC_THROW:
        module$contents$jspb$exceptions_asyncThrowWarning(module$contents$jspb$internal_accessor_helpers_getArrayErrorMessage(value));
    }
  }
  return value;
}
function module$contents$jspb$internal_accessor_helpers_getDefaultImmutableInstance(ctor) {
  return module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS ? module$contents$jspb$internal_operations_withoutLogging(function() {
    return module$contents$jspb$internal_accessor_helpers_getDefaultImmutableInstanceInternal(ctor);
  }) : module$contents$jspb$internal_accessor_helpers_getDefaultImmutableInstanceInternal(ctor);
}
function module$contents$jspb$internal_accessor_helpers_getDefaultImmutableInstanceInternal(ctor) {
  var value = ctor[module$exports$jspb$internal_symbols.DEFAULT_IMMUTABLE_INSTANCE_SYMBOL];
  if (value) {
    return value;
  }
  var newMsg = new ctor();
  module$contents$jspb$internal_array_state_markArrayImmutable(newMsg.internalArray_);
  return ctor[module$exports$jspb$internal_symbols.DEFAULT_IMMUTABLE_INSTANCE_SYMBOL] = newMsg;
}
function module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  if (assertCorrectTypeForSetters) {
    return module$contents$jspb$internal_accessor_helpers_checkBoolean(value);
  }
  var $jscomp$nullish$tmp3;
  return ($jscomp$nullish$tmp3 = module$contents$jspb$internal_accessor_helpers_coerceToNullishBoolean(value)) != null ? $jscomp$nullish$tmp3 : constructMissing ? !1 : void 0;
}
function module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  value = assertCorrectTypeForSetters ? module$contents$jspb$internal_accessor_helpers_checkInt32(value) : module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32(value);
  return value == null ? constructMissing ? 0 : void 0 : value | 0;
}
function module$contents$jspb$internal_accessor_helpers_uint32ToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  value = assertCorrectTypeForSetters ? module$contents$jspb$internal_accessor_helpers_checkUint32(value) : module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32(value);
  return value == null ? constructMissing ? 0 : void 0 : value >>> 0;
}
function module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  var coerced = module$contents$jspb$internal_accessor_helpers_uint32ToApiForMaps(value, assertCorrectTypeForSetters, constructMissing);
  return typeof coerced === "number" ? coerced >>> 0 : coerced;
}
function module$contents$jspb$internal_accessor_helpers_int64ToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  value = assertCorrectTypeForSetters ? module$contents$jspb$internal_accessor_helpers_checkInt64(value) : module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64(value);
  return value == null ? constructMissing ? 0 : void 0 : value;
}
function module$contents$jspb$internal_accessor_helpers_int64KeyToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  var coerced = module$contents$jspb$internal_accessor_helpers_int64ToApiForMaps(value, assertCorrectTypeForSetters, constructMissing);
  if (typeof coerced === "string") {
    var num = +coerced;
    if (Number.isSafeInteger(num)) {
      return num;
    }
  }
  return coerced;
}
function module$contents$jspb$internal_accessor_helpers_int64GbigintToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  value = assertCorrectTypeForSetters ? module$contents$jspb$internal_accessor_helpers_checkInt64(value, module$exports$jspb$internal_array_state.TypeSpecificApiFormat.GBIGINT) : module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64Gbigint(value);
  return value == null ? constructMissing ? module$contents$google3$javascript$common$bigint$index_toGbigint(0) : void 0 : value;
}
function module$contents$jspb$internal_accessor_helpers_int64GbigintKeyToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  return module$contents$jspb$internal_accessor_helpers_int64GbigintToApiForMaps(value, assertCorrectTypeForSetters, constructMissing);
}
function module$contents$jspb$internal_accessor_helpers_uint64ToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  value = assertCorrectTypeForSetters ? module$contents$jspb$internal_accessor_helpers_checkUint64(value) : module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64(value);
  return value == null ? constructMissing ? 0 : void 0 : value;
}
function module$contents$jspb$internal_accessor_helpers_uint64KeyToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  var coerced = module$contents$jspb$internal_accessor_helpers_uint64ToApiForMaps(value, assertCorrectTypeForSetters, constructMissing);
  if (typeof coerced === "string") {
    var num = +coerced;
    if (Number.isSafeInteger(num)) {
      return num;
    }
  }
  return coerced;
}
function module$contents$jspb$internal_accessor_helpers_uint64GbigintToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  value = assertCorrectTypeForSetters ? module$contents$jspb$internal_accessor_helpers_checkUint64(value, module$exports$jspb$internal_array_state.TypeSpecificApiFormat.GBIGINT) : module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64Gbigint(value);
  return value == null ? constructMissing ? module$contents$google3$javascript$common$bigint$index_toGbigint(0) : void 0 : value;
}
function module$contents$jspb$internal_accessor_helpers_uint64GbigintKeyToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  return module$contents$jspb$internal_accessor_helpers_uint64GbigintToApiForMaps(value, assertCorrectTypeForSetters, constructMissing);
}
function module$contents$jspb$internal_accessor_helpers_floatToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  if (assertCorrectTypeForSetters) {
    return module$contents$jspb$internal_accessor_helpers_checkFloatingPoint(value);
  }
  var $jscomp$nullish$tmp4;
  return ($jscomp$nullish$tmp4 = module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint(value)) != null ? $jscomp$nullish$tmp4 : constructMissing ? 0 : void 0;
}
function module$contents$jspb$internal_accessor_helpers_stringToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  if (assertCorrectTypeForSetters) {
    return module$contents$jspb$internal_accessor_helpers_checkString(value);
  }
  var $jscomp$nullish$tmp5;
  return ($jscomp$nullish$tmp5 = module$contents$jspb$internal_accessor_helpers_coerceToNullishString(value)) != null ? $jscomp$nullish$tmp5 : constructMissing ? "" : void 0;
}
function module$contents$jspb$internal_accessor_helpers_bytesToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  if (assertCorrectTypeForSetters) {
    if (!(value instanceof module$exports$jspb$bytestring.ByteString)) {
      throw goog.DEBUG ? Error("Expected ByteString but got " + goog.typeOf(value) + ": " + value) : Error();
    }
    return value;
  }
  var JSCompiler_inline_result = value == null || value instanceof module$exports$jspb$bytestring.ByteString ? value : typeof value === "string" ? module$exports$jspb$bytestring.ByteString.fromBase64(value) : module$contents$jspb$internal_bytes_isU8(value) ? module$exports$jspb$bytestring.ByteString.fromUint8Array(value) : void 0;
  return JSCompiler_inline_result != null ? JSCompiler_inline_result : constructMissing ? module$exports$jspb$bytestring.ByteString.empty() : void 0;
}
function module$contents$jspb$internal_accessor_helpers_enumToApiForMaps(value, assertCorrectTypeForSetters, constructMissing) {
  value = assertCorrectTypeForSetters ? module$contents$jspb$internal_accessor_helpers_checkEnum(value) : module$contents$jspb$internal_accessor_helpers_coerceToNullishEnum(value);
  return value == null ? constructMissing ? 0 : void 0 : value;
}
;var module$exports$jspb$internal_array_proxy = {setupAsyncThrowingArray:function(array) {
  module$contents$jspb$internal_array_proxy_nativeProxy === void 0 && (module$contents$jspb$internal_array_proxy_nativeProxy = typeof Proxy === "function" ? module$contents$jspb$internal_array_proxy_nativeFunction(Proxy) : null);
  var JSCompiler_temp;
  (JSCompiler_temp = !module$contents$jspb$internal_array_proxy_nativeProxy) || (module$contents$jspb$internal_array_proxy_nativeWeakMap === void 0 && (module$contents$jspb$internal_array_proxy_nativeWeakMap = typeof WeakMap === "function" ? module$contents$jspb$internal_array_proxy_nativeFunction(WeakMap) : null), JSCompiler_temp = !module$contents$jspb$internal_array_proxy_nativeWeakMap);
  if (JSCompiler_temp) {
    return array;
  }
  var proxy = module$exports$jspb$internal_array_proxy.getArrayProxy(array);
  if (proxy) {
    return proxy;
  }
  if (!goog.DEBUG && Math.random() > .01) {
    return array;
  }
  var originSite = goog.DEBUG && Error().stack;
  module$contents$jspb$internal_array_proxy_maybeFixConcat(array);
  proxy = new module$contents$jspb$internal_array_proxy_nativeProxy(array, {set:function(target, key, value) {
    module$contents$jspb$internal_array_proxy_arrayMutationWarning(originSite);
    target[key] = value;
    return !0;
  }});
  module$contents$jspb$internal_array_proxy_registerArrayProxy(array, proxy);
  return proxy;
}};
function module$contents$jspb$internal_array_proxy_arrayMutationWarning(originSite) {
  module$contents$jspb$exceptions_asyncThrowWarning(goog.DEBUG ? "Warning: Forbidden array mutation. This will be a hard error in the future, please fix. See go/jspb-api-gotchas#readonly-repeated-fields.\nArray origin at " + originSite + "\nMutation at " + Error().stack + "\n..." : "fm");
}
var module$contents$jspb$internal_array_proxy_arrayToProxyMap = void 0, module$contents$jspb$internal_array_proxy_proxyToArrayMap = void 0;
module$exports$jspb$internal_array_proxy.getArrayProxy = function(array) {
  var $jscomp$optchain$tmp5076728$1;
  return ($jscomp$optchain$tmp5076728$1 = module$contents$jspb$internal_array_proxy_arrayToProxyMap) == null ? void 0 : $jscomp$optchain$tmp5076728$1.get(array);
};
module$exports$jspb$internal_array_proxy.getTargetArray = function(array) {
  var $jscomp$optchain$tmp5076728$2;
  return (($jscomp$optchain$tmp5076728$2 = module$contents$jspb$internal_array_proxy_proxyToArrayMap) == null ? void 0 : $jscomp$optchain$tmp5076728$2.get(array)) || array;
};
function module$contents$jspb$internal_array_proxy_registerArrayProxy(array, proxy) {
  (module$contents$jspb$internal_array_proxy_arrayToProxyMap || (module$contents$jspb$internal_array_proxy_arrayToProxyMap = new module$contents$jspb$internal_array_proxy_nativeWeakMap())).set(array, proxy);
  (module$contents$jspb$internal_array_proxy_proxyToArrayMap || (module$contents$jspb$internal_array_proxy_proxyToArrayMap = new module$contents$jspb$internal_array_proxy_nativeWeakMap())).set(proxy, array);
}
module$exports$jspb$internal_array_proxy.clearArrayProxy = function(array) {
  var $jscomp$optchain$tmp5076728$3;
  ($jscomp$optchain$tmp5076728$3 = module$contents$jspb$internal_array_proxy_arrayToProxyMap) == null || $jscomp$optchain$tmp5076728$3.delete(array);
};
var module$contents$jspb$internal_array_proxy_nativeProxy = void 0, module$contents$jspb$internal_array_proxy_nativeWeakMap = void 0;
function module$contents$jspb$internal_array_proxy_nativeFunction(func) {
  try {
    return func.toString().indexOf("[native code]") !== -1 ? func : null;
  } catch ($jscomp$unused$catch$5076728$0) {
    return null;
  }
}
var module$contents$jspb$internal_array_proxy_needConcatFix = void 0;
function module$contents$jspb$internal_array_proxy_maybeFixConcat(array) {
  if (module$contents$jspb$internal_array_proxy_needConcatFix === void 0) {
    var proxy = new module$contents$jspb$internal_array_proxy_nativeProxy([], {});
    module$contents$jspb$internal_array_proxy_needConcatFix = Array.prototype.concat.call([], proxy).length === 1;
  }
  module$contents$jspb$internal_array_proxy_needConcatFix && typeof Symbol === "function" && Symbol.isConcatSpreadable && (array[Symbol.isConcatSpreadable] = !0);
}
;var module$exports$jspb$internal_construct = {}, module$contents$jspb$internal_construct_alternateDataPayload;
function module$contents$jspb$internal_construct_internalConstructFromOwnedArray(ctor, array) {
  (0,goog.asserts.assert)(module$contents$jspb$internal_array_state_areMutableReferencesOwned(array));
  module$contents$jspb$internal_construct_alternateDataPayload = array;
  var msg = new ctor(array);
  module$contents$jspb$internal_construct_alternateDataPayload = void 0;
  return msg;
}
module$exports$jspb$internal_construct.ENCODED_MAP_META = !0;
var module$contents$jspb$internal_construct_mapEntryMessageMeta, module$contents$jspb$internal_construct_noPivotNoMessageIdMessageMeta;
function module$contents$jspb$internal_construct_tryParseMessageMeta(value) {
  switch(typeof value) {
    case "boolean":
      return module$contents$jspb$internal_construct_mapEntryMessageMeta || (module$contents$jspb$internal_construct_mapEntryMessageMeta = [0, void 0, !0]);
    case "number":
      return value > 0 ? void 0 : value === 0 ? module$contents$jspb$internal_construct_noPivotNoMessageIdMessageMeta || (module$contents$jspb$internal_construct_noPivotNoMessageIdMessageMeta = [0, void 0]) : [-value, void 0];
    case "string":
      return [0, value];
    case "object":
      return (0,goog.asserts.assertArray)(value), (0,goog.asserts.assert)(value.length === 2 || value.length === 3 && value[2] === !0), (0,goog.asserts.assert)(value[0] == null || typeof value[0] === "number" && value[0] >= 0), (0,goog.asserts.assert)(value[1] == null || typeof value[1] === "string"), value;
  }
}
function module$contents$jspb$internal_construct_constructMessageArrayFromMetaForBinary(data, metadata, inDeserialize) {
  (0,goog.asserts.assertArray)(metadata);
  data = module$contents$jspb$internal_construct_constructMessageArray(data, metadata[0], metadata[1], inDeserialize ? module$contents$jspb$internal_construct_ArrayConstructionMode.BINARY_DESERIALIZATION : module$contents$jspb$internal_construct_ArrayConstructionMode.BINARY_SERIALIZATION);
  !module$contents$jspb$internal_construct_isMapEntryMessageMeta(metadata) && inDeserialize && (0,module$exports$jspb$internal_array_state.addArrayStateFlags)(data, module$exports$jspb$internal_array_state.ArrayStateFlags.DESERIALIZED_FROM_BINARY);
  return data;
}
function module$contents$jspb$internal_construct_arrayIndexOffsetForMeta(metadata) {
  (0,goog.asserts.assertArray)(metadata);
  return metadata[1] ? 0 : -1;
}
var module$contents$jspb$internal_construct_ArrayConstructionMode = {NORMAL:0, BINARY_DESERIALIZATION:1, BINARY_SERIALIZATION:2};
function module$contents$jspb$internal_construct_constructMessageArray(data$jscomp$0, suggestedPivot, messageId, arrayConstructionMode) {
  var $jscomp$nullish$tmp7;
  arrayConstructionMode = ($jscomp$nullish$tmp7 = arrayConstructionMode) != null ? $jscomp$nullish$tmp7 : module$contents$jspb$internal_construct_ArrayConstructionMode.NORMAL;
  data$jscomp$0 == null && (data$jscomp$0 = module$contents$jspb$internal_construct_alternateDataPayload);
  module$contents$jspb$internal_construct_alternateDataPayload = void 0;
  if (goog.DEBUG && module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && data$jscomp$0 != null) {
    for (var i = 0; i < data$jscomp$0.length; i++) {
      var value = data$jscomp$0[i];
      Array.isArray(value) && module$contents$jspb$internal_assertArrayInvariants(value);
    }
  }
  if (data$jscomp$0 == null) {
    var arrayState = module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED | module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED;
    messageId ? (data$jscomp$0 = module$contents$jspb$internal_operations_logNewArray([messageId]), arrayState |= module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_MESSAGE_ID) : data$jscomp$0 = module$contents$jspb$internal_operations_logNewArray([]);
    suggestedPivot && (arrayState = module$contents$jspb$internal_array_state_setPivot(arrayState, suggestedPivot));
  } else {
    if (!Array.isArray(data$jscomp$0)) {
      if (goog.DEBUG) {
        throw Error("data passed to JSPB constructors must be an Array, got '" + JSON.stringify(data$jscomp$0) + "' a " + goog.typeOf(data$jscomp$0));
      }
      throw Error("narr");
    }
    arrayState = (0,module$exports$jspb$internal_array_state.getArrayState)(data$jscomp$0);
    if (goog.DEBUG && (Object.isFrozen(data$jscomp$0) || !Object.isExtensible(data$jscomp$0) || Object.isSealed(data$jscomp$0))) {
      throw Error("data passed to JSPB constructors must be mutable");
    }
    if (arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.FROZEN_ARRAY) {
      throw Error("farr");
    }
    if (arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED) {
      return module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && (module$contents$jspb$internal_array_state_checkMessageStateInvariants(data$jscomp$0, arrayState), arrayConstructionMode !== module$contents$jspb$internal_construct_ArrayConstructionMode.BINARY_DESERIALIZATION && arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.DESERIALIZED_FROM_BINARY && (0,goog.asserts.assert)(arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY, 
      "state from binary must be immutable")), data$jscomp$0;
    }
    arrayConstructionMode === module$contents$jspb$internal_construct_ArrayConstructionMode.BINARY_DESERIALIZATION || arrayConstructionMode === module$contents$jspb$internal_construct_ArrayConstructionMode.BINARY_SERIALIZATION || (arrayState |= module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED);
    if (messageId && (arrayState |= module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_MESSAGE_ID, messageId !== data$jscomp$0[0])) {
      if (goog.DEBUG) {
        throw Error('Expected message to have a message id: "' + messageId + '" in the array, got: ' + JSON.stringify(data$jscomp$0[0]) + " a " + goog.typeOf(data$jscomp$0[0]) + ", are you parsing with the wrong proto?");
      }
      throw Error("mid");
    }
    a: {
      var data = data$jscomp$0, arrayState$jscomp$0 = arrayState, msgLength = data.length;
      if (msgLength) {
        var lastIndex = msgLength - 1;
        if (module$contents$jspb$internal_isSparseObject(data[lastIndex])) {
          arrayState$jscomp$0 |= module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT;
          var pivot = module$contents$jspb$internal_fieldNumberFromIndex(lastIndex, module$contents$jspb$internal_array_state_getArrayIndexOffset(arrayState$jscomp$0));
          if (pivot >= module$exports$jspb$internal_array_state.PIVOT_LIMIT) {
            if (goog.DEBUG) {
              throw Error("Found a message with a sparse object at fieldNumber " + pivot + " is >= the limit " + module$exports$jspb$internal_array_state.PIVOT_LIMIT);
            }
            throw Error("pvtlmt");
          }
          arrayState = module$contents$jspb$internal_array_state_setPivot(arrayState$jscomp$0, pivot);
          break a;
        }
      }
      if (suggestedPivot) {
        var pivot$jscomp$0 = Math.max(suggestedPivot, module$contents$jspb$internal_fieldNumberFromIndex(msgLength, module$contents$jspb$internal_array_state_getArrayIndexOffset(arrayState$jscomp$0)));
        if (pivot$jscomp$0 > module$exports$jspb$internal_array_state.PIVOT_LIMIT) {
          if (goog.DEBUG) {
            throw Error("a message was constructed with an array of length " + msgLength + " which is longer than " + module$exports$jspb$internal_array_state.PIVOT_LIMIT + ", are you using a supported serializer?");
          }
          throw Error("spvt");
        }
        arrayState = module$contents$jspb$internal_array_state_setPivot(arrayState$jscomp$0, pivot$jscomp$0);
      } else {
        arrayState = arrayState$jscomp$0;
      }
    }
  }
  (0,module$exports$jspb$internal_array_state.setArrayState)(data$jscomp$0, arrayState);
  arrayConstructionMode === module$contents$jspb$internal_construct_ArrayConstructionMode.BINARY_DESERIALIZATION || arrayConstructionMode === module$contents$jspb$internal_construct_ArrayConstructionMode.BINARY_SERIALIZATION || (0,goog.asserts.assert)(arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED);
  return data$jscomp$0;
}
function module$contents$jspb$internal_construct_isMapEntryMessageMeta(messageMeta) {
  return messageMeta === module$contents$jspb$internal_construct_mapEntryMessageMeta;
}
module$exports$jspb$internal_construct.arrayIndexOffsetForMeta = module$contents$jspb$internal_construct_arrayIndexOffsetForMeta;
module$exports$jspb$internal_construct.constructMessageArray = module$contents$jspb$internal_construct_constructMessageArray;
module$exports$jspb$internal_construct.constructMessageArrayFromMetaForBinary = module$contents$jspb$internal_construct_constructMessageArrayFromMetaForBinary;
module$exports$jspb$internal_construct.internalConstructFromOwnedArray = module$contents$jspb$internal_construct_internalConstructFromOwnedArray;
module$exports$jspb$internal_construct.internalConstructFromSharedArray = function(ctor, array) {
  module$contents$jspb$internal_construct_alternateDataPayload = array;
  var msg = new ctor(array);
  module$contents$jspb$internal_construct_alternateDataPayload = void 0;
  return msg;
};
module$exports$jspb$internal_construct.isMapEntryMessageMeta = module$contents$jspb$internal_construct_isMapEntryMessageMeta;
module$exports$jspb$internal_construct.tryParseMessageMeta = module$contents$jspb$internal_construct_tryParseMessageMeta;
function module$contents$jspb$internal_compare_maybeCompareUint8Arrays(a, b) {
  if (typeof b === "string") {
    try {
      b = module$contents$jspb$internal_bytes_decodeByteArray(b);
    } catch (e) {
      return !1;
    }
  }
  return module$contents$jspb$internal_bytes_isU8(b) && module$contents$jspb$internal_bytes_uint8ArrayEquals(a, b);
}
function module$contents$jspb$internal_compare_bigintOrStringOrNumber(typeofValue) {
  switch(typeofValue) {
    case "bigint":
    case "string":
    case "number":
      return !0;
    default:
      return !1;
  }
}
var module$contents$jspb$internal_compare_ValueType = {UNKNOWN:0, REPEATED_ARRAY:1, MESSAGE_ARRAY:2};
function module$contents$jspb$internal_compare_compareMessages(a, b) {
  var comparisonTypeInfoSymbol = module$contents$jspb$internal_getComparisonTypeInfoArraySymbol(), comparisonTypeInfo;
  if (module$contents$jspb$internal_isMessage(a)) {
    var aArr = a.internalArray_;
    comparisonTypeInfo != null || (comparisonTypeInfo = aArr[comparisonTypeInfoSymbol]);
  } else if (Array.isArray(a)) {
    aArr = a;
  } else {
    return !1;
  }
  if (module$contents$jspb$internal_isMessage(b)) {
    var bArr = b.internalArray_;
    comparisonTypeInfo != null || (comparisonTypeInfo = bArr[comparisonTypeInfoSymbol]);
  } else if (Array.isArray(b)) {
    bArr = b;
  } else {
    return !1;
  }
  return module$contents$jspb$internal_compare_compareFieldsInternal(aArr, bArr, comparisonTypeInfo, module$contents$jspb$internal_compare_ValueType.MESSAGE_ARRAY);
}
function module$contents$jspb$internal_compare_compareFields(field1, field2, comparisonTypeInfo) {
  return module$contents$jspb$internal_compare_compareFieldsInternal(field1, field2, comparisonTypeInfo, module$contents$jspb$internal_compare_ValueType.UNKNOWN);
}
function module$contents$jspb$internal_compare_compareFieldsInternal(field1, field2, comparisonTypeInfo, valueType) {
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && module$contents$jspb$internal_operations_logOperation({internalCompareFields:1});
  if (field1 === field2 || field1 == null && field2 == null) {
    return !0;
  }
  if (field1 instanceof Map) {
    return field1.internalMapComparator(field2, comparisonTypeInfo);
  }
  if (field2 instanceof Map) {
    return field2.internalMapComparator(field1, comparisonTypeInfo);
  }
  if (field1 == null || field2 == null) {
    return !1;
  }
  if (field1 instanceof module$exports$jspb$bytestring.ByteString) {
    return field1.internalCompareEqualsDoNotUse(field2);
  }
  if (field2 instanceof module$exports$jspb$bytestring.ByteString) {
    return field2.internalCompareEqualsDoNotUse(field1);
  }
  if (module$contents$jspb$internal_bytes_isU8(field1)) {
    return module$contents$jspb$internal_compare_maybeCompareUint8Arrays(field1, field2);
  }
  if (module$contents$jspb$internal_bytes_isU8(field2)) {
    return module$contents$jspb$internal_compare_maybeCompareUint8Arrays(field2, field1);
  }
  var typeofField1 = typeof field1, typeofField2 = typeof field2;
  if (typeofField1 !== "object" || typeofField2 !== "object") {
    return Number.isNaN(field1) || Number.isNaN(field2) ? String(field1) === String(field2) : module$contents$jspb$internal_compare_bigintOrStringOrNumber(typeofField1) && module$contents$jspb$internal_compare_bigintOrStringOrNumber(typeofField2) ? "" + field1 === "" + field2 : typeofField1 === "boolean" && typeofField2 === "number" || typeofField1 === "number" && typeofField2 === "boolean" ? !field1 === !field2 : !1;
  }
  if (module$contents$jspb$internal_isMessage(field1) || module$contents$jspb$internal_isMessage(field2)) {
    return module$contents$jspb$internal_compare_compareMessages(field1, field2);
  }
  if (field1.constructor != field2.constructor) {
    return !1;
  }
  if (field1.constructor === Array) {
    var arrayState1 = (0,module$exports$jspb$internal_array_state.getArrayState)(field1), arrayState2 = (0,module$exports$jspb$internal_array_state.getArrayState)(field2), length1 = field1.length, length2 = field2.length, maxLength = Math.max(length1, length2), offset = module$contents$jspb$internal_array_state_getArrayIndexOffset(arrayState1 | arrayState2), fieldIsRepeated = valueType === module$contents$jspb$internal_compare_ValueType.REPEATED_ARRAY || !!((arrayState1 | arrayState2) & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD);
    fieldIsRepeated && ((0,goog.asserts.assert)(valueType !== module$contents$jspb$internal_compare_ValueType.MESSAGE_ARRAY), valueType = module$contents$jspb$internal_compare_ValueType.REPEATED_ARRAY);
    if (!fieldIsRepeated) {
      var comparisonTypeInfoSymbol = module$contents$jspb$internal_getComparisonTypeInfoArraySymbol(), $jscomp$nullish$tmp10;
      comparisonTypeInfo != null || (comparisonTypeInfo = ($jscomp$nullish$tmp10 = field1[comparisonTypeInfoSymbol]) != null ? $jscomp$nullish$tmp10 : field2[comparisonTypeInfoSymbol]);
      if (comparisonTypeInfo != null) {
        var repeatedFields = comparisonTypeInfo.getRepeatedFields();
        var mapFields = comparisonTypeInfo.getMapFields();
      }
    }
    var sparse1 = length1 && field1[length1 - 1], sparse2 = length2 && field2[length2 - 1];
    module$contents$jspb$internal_isSparseObject(sparse1) || (sparse1 = null);
    module$contents$jspb$internal_isSparseObject(sparse2) || (sparse2 = null);
    for (var pivot1 = length1 - offset - +!!sparse1, pivot2 = length2 - offset - +!!sparse2, i = 0; i < maxLength; i++) {
      if (!module$contents$jspb$internal_compare_compareFieldsInternalIter(module$contents$jspb$internal_fieldNumberFromIndex(i, offset), field1, sparse1, pivot1, field2, sparse2, pivot2, offset, repeatedFields, mapFields, comparisonTypeInfo, valueType)) {
        return !1;
      }
    }
    if (sparse1) {
      for (var name in sparse1) {
        if (!module$contents$jspb$internal_compare_compareFieldsInternalObjIter(sparse1, name, field1, sparse1, pivot1, field2, sparse2, pivot2, offset, repeatedFields, mapFields, comparisonTypeInfo)) {
          return !1;
        }
      }
    }
    if (sparse2) {
      for (var name$jscomp$0 in sparse2) {
        if (!(sparse1 && name$jscomp$0 in sparse1 || module$contents$jspb$internal_compare_compareFieldsInternalObjIter(sparse2, name$jscomp$0, field1, sparse1, pivot1, field2, sparse2, pivot2, offset, repeatedFields, mapFields, comparisonTypeInfo))) {
          return !1;
        }
      }
    }
    return !0;
  }
  if (field1.constructor === Object) {
    if (module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS) {
      throw Error("bad object comparison");
    }
    return module$contents$jspb$internal_compare_compareFields([field1], [field2]);
  }
  if (goog.DEBUG) {
    throw Error("Invalid type in JSPB array: " + JSON.stringify(field1) + " vs " + JSON.stringify(field2));
  }
  throw Error();
}
function module$contents$jspb$internal_compare_compareFieldsInternalObjIter(obj, name, arr1, sparse1, pivot1, arr2, sparse2, pivot2, offset, repeatedFields, mapFields, comparisonTypeInfo) {
  if (!module$contents$jspb$internal_hasOwnPropertyIfNotTrusted(obj, name)) {
    return !0;
  }
  var n = +name;
  return !Number.isFinite(n) || n < pivot1 || n < pivot2 ? !0 : module$contents$jspb$internal_compare_compareFieldsInternalIter(n, arr1, sparse1, pivot1, arr2, sparse2, pivot2, offset, repeatedFields, mapFields, comparisonTypeInfo, module$contents$jspb$internal_compare_ValueType.MESSAGE_ARRAY);
}
function module$contents$jspb$internal_compare_compareFieldsInternalIter(n, arr1, sparse1, pivot1, arr2, sparse2, pivot2, offset, repeatedFields, mapFields, comparisonTypeInfo, valueType) {
  var val1 = module$contents$jspb$internal_compare_getField(n, arr1, sparse1, pivot1, offset), val2 = module$contents$jspb$internal_compare_getField(n, arr2, sparse2, pivot2, offset), fieldIsRepeated = valueType === module$contents$jspb$internal_compare_ValueType.REPEATED_ARRAY;
  if (val2 == null && module$contents$jspb$internal_isEmptyRepeatedField(val1, repeatedFields, n) || val1 == null && module$contents$jspb$internal_isEmptyRepeatedField(val2, repeatedFields, n)) {
    return !0;
  }
  var childComparisonTypeInfo = fieldIsRepeated ? comparisonTypeInfo : comparisonTypeInfo == null ? void 0 : comparisonTypeInfo.getFieldComparisonTypeInfo(n), isMapField = mapFields == null ? void 0 : mapFields.has(n);
  if (isMapField) {
    if (val1 == null && Array.isArray(val2)) {
      return val2.length === 0;
    }
    if (val2 == null && Array.isArray(val1)) {
      return val1.length === 0;
    }
    if (Array.isArray(val1) && Array.isArray(val2)) {
      return module$contents$jspb$internal_map_compareMapArrays(val1, val2, childComparisonTypeInfo);
    }
  }
  return module$contents$jspb$internal_compare_compareFieldsInternal(val1, val2, childComparisonTypeInfo, isMapField || module$contents$jspb$internal_isRepeatedFieldInSet(repeatedFields, n) ? module$contents$jspb$internal_compare_ValueType.REPEATED_ARRAY : module$contents$jspb$internal_compare_ValueType.UNKNOWN);
}
function module$contents$jspb$internal_compare_getField(fieldNumber, arr, sparse, pivot, offset) {
  var $jscomp$nullish$tmp12;
  return ($jscomp$nullish$tmp12 = fieldNumber < pivot ? arr[fieldNumber + offset] : void 0) != null ? $jscomp$nullish$tmp12 : sparse == null ? void 0 : sparse[fieldNumber];
}
;var module$exports$jspb$internal_map = {}, module$contents$jspb$internal_map_EMPTY_MAP_TOKEN = {};
function module$contents$jspb$internal_map_constructingMapSubclassFails() {
  try {
    var javascript$apps$jspb$internal_map$classdecl$var0 = function() {
      return $jscomp.construct(Map, [], this.constructor);
    };
    $jscomp.inherits(javascript$apps$jspb$internal_map$classdecl$var0, Map);
    (0,goog.reflect.sinkValue)(new javascript$apps$jspb$internal_map$classdecl$var0());
    return !1;
  } catch ($jscomp$unused$catch$m248229084$0) {
    return !0;
  }
}
var module$contents$jspb$internal_map_USE_DELEGATING_MAPS = goog.FEATURESET_YEAR <= 2017 && (module$exports$jspb$internal_options.DISABLE_ES6_MAP_SUBCLASSES_FOR_TESTING || module$contents$jspb$internal_map_constructingMapSubclassFails()), module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems = function() {
  this.map_ = new Map();
};
module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype.get = function(key) {
  (0,goog.asserts.assert)(this.size === this.map_.size);
  return this.map_.get(key);
};
module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype.set = function(key, value) {
  (0,goog.asserts.assert)(this.size === this.map_.size);
  this.map_.set(key, value);
  this.updateSize_();
  return this;
};
module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype.delete = function(key) {
  (0,goog.asserts.assert)(this.size === this.map_.size);
  var deleted = this.map_.delete(key);
  this.updateSize_();
  return deleted;
};
module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype.clear = function() {
  (0,goog.asserts.assert)(this.size === this.map_.size);
  this.map_.clear();
  this.updateSize_();
};
module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype.has = function(key) {
  (0,goog.asserts.assert)(this.size === this.map_.size);
  return this.map_.has(key);
};
module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype.entries = function() {
  (0,goog.asserts.assert)(this.size === this.map_.size);
  return this.map_.entries();
};
module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype.keys = function() {
  (0,goog.asserts.assert)(this.size === this.map_.size);
  return this.map_.keys();
};
module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype.values = function() {
  (0,goog.asserts.assert)(this.size === this.map_.size);
  return this.map_.values();
};
module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype.forEach = function(cb, thisArg) {
  (0,goog.asserts.assert)(this.size === this.map_.size);
  return this.map_.forEach(cb, thisArg);
};
module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype[Symbol.iterator] = function() {
  (0,goog.asserts.assert)(this.size === this.map_.size);
  return this.entries();
};
module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype.updateSize_ = function() {
  this.size = this.map_.size;
};
var module$contents$jspb$internal_map_MapBase = function() {
  if (module$contents$jspb$internal_map_USE_DELEGATING_MAPS) {
    return Object.setPrototypeOf(module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype, Map.prototype), Object.defineProperties(module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems.prototype, {size:{value:0, configurable:!0, enumerable:!0, writable:!0}}), module$contents$jspb$internal_map_DelegatingMapForPseudoEs6Systems;
  }
  var javascript$apps$jspb$internal_map$classdecl$var1 = function() {
    return $jscomp.construct(Map, [], this.constructor);
  };
  $jscomp.inherits(javascript$apps$jspb$internal_map$classdecl$var1, Map);
  return javascript$apps$jspb$internal_map$classdecl$var1;
}();
function module$contents$jspb$internal_map_noopToApi(v) {
  return v;
}
module$exports$jspb$internal_map.JspbMap = function(arr, valueCtor, keyToApi, valueToApi, amITheEmptyMap) {
  keyToApi = keyToApi === void 0 ? module$contents$jspb$internal_map_noopToApi : keyToApi;
  valueToApi = valueToApi === void 0 ? module$contents$jspb$internal_map_noopToApi : valueToApi;
  var $jscomp$super$this$m248229084$70 = module$contents$jspb$internal_map_MapBase.call(this) || this;
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && module$contents$jspb$internal_operations_logOperation({constructMap:1});
  (0,goog.asserts.assert)(!module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS || amITheEmptyMap === module$contents$jspb$internal_map_EMPTY_MAP_TOKEN || keyToApi !== module$contents$jspb$internal_map_noopToApi);
  (0,goog.asserts.assert)(!module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS || amITheEmptyMap === module$contents$jspb$internal_map_EMPTY_MAP_TOKEN || valueCtor !== void 0 || valueToApi !== module$contents$jspb$internal_map_noopToApi);
  var arrayState = (0,module$exports$jspb$internal_array_state.getArrayState)(arr);
  (0,goog.asserts.assert)(arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY || (arrayState & (module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED | module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED)) !== (module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED | module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED), "owned maps should not be constructed twice");
  arrayState |= module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED;
  (0,module$exports$jspb$internal_array_state.setArrayState)(arr, arrayState);
  $jscomp$super$this$m248229084$70.arrayState = arrayState;
  $jscomp$super$this$m248229084$70.valueCtor = valueCtor;
  $jscomp$super$this$m248229084$70.keyToApi = keyToApi;
  $jscomp$super$this$m248229084$70.valueToApi = $jscomp$super$this$m248229084$70.valueCtor ? module$contents$jspb$internal_map_messageToApi : valueToApi;
  for (var i = 0; i < arr.length; i++) {
    var entry = arr[i], key = keyToApi(entry[0], !1, !0), value = entry[1];
    valueCtor ? value === void 0 && (value = null) : value = valueToApi(entry[1], !1, !0, void 0, void 0, arrayState);
    module$contents$jspb$internal_map_MapBase.prototype.set.call($jscomp$super$this$m248229084$70, key, value);
  }
  return $jscomp$super$this$m248229084$70;
};
$jscomp.inherits(module$exports$jspb$internal_map.JspbMap, module$contents$jspb$internal_map_MapBase);
module$exports$jspb$internal_map.JspbMap.prototype.checkNotImmutable_ = function() {
  if (this.arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY) {
    throw Error("Cannot mutate an immutable Map");
  }
};
module$exports$jspb$internal_map.JspbMap.prototype.buildNewFromArray = function(arr) {
  return new module$exports$jspb$internal_map.JspbMap(arr, this.valueCtor, this.keyToApi, this.valueToApi);
};
module$exports$jspb$internal_map.JspbMap.prototype.toArrayOrUndefinedInternal = function(copier) {
  copier = copier === void 0 ? module$contents$jspb$internal_map_identity : copier;
  if (this.size !== 0) {
    if (!module$contents$jspb$internal_options_sortMaps) {
      return this.toArrayInternalUnsorted(copier);
    }
    for (var keys = this.keyArray_(), i = 0; i < keys.length; i++) {
      var key = keys[i], runtimeValue = module$contents$jspb$internal_map_MapBase.prototype.get.call(this, keys[i]);
      keys[i] = module$contents$jspb$internal_operations_logNewArray([copier(key), copier(runtimeValue)]);
    }
    return keys;
  }
};
module$exports$jspb$internal_map.JspbMap.prototype.toArrayInternalUnsorted = function(copier) {
  copier = copier === void 0 ? module$contents$jspb$internal_map_identity : copier;
  for (var arr = module$contents$jspb$internal_operations_logNewArray([]), entryIterator = module$contents$jspb$internal_map_MapBase.prototype.entries.call(this), v; !(v = entryIterator.next()).done;) {
    var rawEntry = v.value;
    rawEntry[0] = copier(rawEntry[0]);
    rawEntry[1] = copier(rawEntry[1]);
    arr.push(rawEntry);
  }
  return arr;
};
module$exports$jspb$internal_map.JspbMap.prototype.clear = function() {
  this.checkNotImmutable_();
  module$contents$jspb$internal_map_MapBase.prototype.clear.call(this);
};
module$exports$jspb$internal_map.JspbMap.prototype.delete = function(key) {
  this.checkNotImmutable_();
  return module$contents$jspb$internal_map_MapBase.prototype.delete.call(this, this.keyToApi(key, !0, !1));
};
module$exports$jspb$internal_map.JspbMap.prototype.entries = function() {
  return module$contents$jspb$internal_newTransformingIteratorIterable(this.keyArray_(), module$contents$jspb$internal_map_getEntryFromMap, this);
};
module$exports$jspb$internal_map.JspbMap.prototype.keys = function() {
  return module$contents$jspb$internal_options_sortMaps ? module$contents$jspb$internal_newArrayIteratorIterable(this.keyArray_()) : this.keysInternal_();
};
module$exports$jspb$internal_map.JspbMap.prototype.values = function() {
  return module$contents$jspb$internal_newTransformingIteratorIterable(this.keyArray_(), module$exports$jspb$internal_map.JspbMap.prototype.get, this);
};
module$exports$jspb$internal_map.JspbMap.prototype.forEach = function(cb, thisArg) {
  var $jscomp$this$m248229084$32 = this;
  if (module$contents$jspb$internal_options_sortMaps) {
    for (var keys = this.keyArray_(), i = 0; i < keys.length; i++) {
      var key = keys[i];
      cb.call(thisArg, (0,goog.asserts.assertExists)(this.get(key)), key, this);
    }
  } else {
    module$contents$jspb$internal_map_MapBase.prototype.forEach.call(this, function(uncoercedValue, key) {
      cb.call(thisArg, (0,goog.asserts.assertExists)($jscomp$this$m248229084$32.get(key)), key, $jscomp$this$m248229084$32);
    });
  }
};
module$exports$jspb$internal_map.JspbMap.prototype.set = function(key, value) {
  this.checkNotImmutable_();
  key = this.keyToApi(key, !0, !1);
  return key == null ? this : value == null ? (module$contents$jspb$internal_map_MapBase.prototype.delete.call(this, key), this) : module$contents$jspb$internal_map_MapBase.prototype.set.call(this, key, this.valueToApi(value, !0, !0, this.valueCtor, !1, this.arrayState));
};
module$exports$jspb$internal_map.JspbMap.prototype.setWireEntry = function(entry) {
  var key = this.keyToApi(entry[0], !1, !0), rawValue = entry[1], value = this.valueCtor ? rawValue === void 0 ? null : rawValue : this.valueToApi(rawValue, !1, !0, void 0, !1, this.arrayState);
  module$contents$jspb$internal_map_MapBase.prototype.set.call(this, key, value);
};
module$exports$jspb$internal_map.JspbMap.prototype.has = function(key) {
  return module$contents$jspb$internal_map_MapBase.prototype.has.call(this, this.keyToApi(key, !1, !1));
};
module$exports$jspb$internal_map.JspbMap.prototype.get = function(key) {
  key = this.keyToApi(key, !1, !1);
  var runtimeValue = module$contents$jspb$internal_map_MapBase.prototype.get.call(this, key);
  if (runtimeValue !== void 0) {
    var valueCtor = this.valueCtor;
    if (valueCtor) {
      var value = this.valueToApi(runtimeValue, !1, !0, valueCtor, this.callToMutableOnAccess, this.arrayState);
      value !== runtimeValue && module$contents$jspb$internal_map_MapBase.prototype.set.call(this, key, value);
      return value;
    }
    return runtimeValue;
  }
};
module$exports$jspb$internal_map.JspbMap.prototype.keyArray_ = function() {
  var keyArr = module$contents$jspb$internal_operations_logNewArray(Array.from(module$contents$jspb$internal_map_MapBase.prototype.keys.call(this)));
  return module$contents$jspb$internal_options_sortMaps ? keyArr.sort(module$contents$jspb$internal_map_legacySortFunction) : keyArr;
};
module$exports$jspb$internal_map.JspbMap.prototype.keysInternal_ = function() {
  return module$contents$jspb$internal_options_sortMaps ? module$contents$jspb$internal_newArrayIteratorIterable(this.keyArray_()) : module$contents$jspb$internal_map_MapBase.prototype.keys.call(this);
};
module$exports$jspb$internal_map.JspbMap.prototype.internalMapComparator = function(right, comparisonTypeInfo) {
  if (right instanceof module$exports$jspb$internal_map.JspbMap) {
    var result = module$contents$jspb$internal_map_compareMapToMapInternal(this, right, comparisonTypeInfo);
    module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && ((0,goog.asserts.assert)(result === module$contents$jspb$internal_map_compareMapArraysInternal([].concat((0,$jscomp.arrayFromIterable)(this.entries())), [].concat((0,$jscomp.arrayFromIterable)(right.entries())), comparisonTypeInfo)), (0,goog.asserts.assert)(result === module$contents$jspb$internal_map_compareMapToMaybeArrayInternal(right, [].concat((0,$jscomp.arrayFromIterable)(this.entries())), comparisonTypeInfo)));
    var JSCompiler_temp = result;
  } else {
    var result$jscomp$0 = module$contents$jspb$internal_map_compareMapToMaybeArrayInternal(this, right, comparisonTypeInfo);
    if (module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS) {
      var cloned = Array.isArray(right) ? JSON.parse(JSON.stringify(right, module$contents$jspb$internal_json_jspbJsonStringifyReplacer)) : [], $jscomp$inline_398, $jscomp$inline_399;
      (0,goog.asserts.assert)(result$jscomp$0 === module$contents$jspb$internal_map_compareMapToMapInternal(this, new module$exports$jspb$internal_map.JspbMap(cloned, this.valueCtor, ($jscomp$inline_398 = this.keyToApi) != null ? $jscomp$inline_398 : module$contents$jspb$internal_map_noopToApi, ($jscomp$inline_399 = this.valueToApi) != null ? $jscomp$inline_399 : module$contents$jspb$internal_map_noopToApi), comparisonTypeInfo));
      (0,goog.asserts.assert)(result$jscomp$0 === module$contents$jspb$internal_map_compareMapArraysInternal([].concat((0,$jscomp.arrayFromIterable)(this.entries())), Array.isArray(right) ? right.slice() : [], comparisonTypeInfo));
    }
    JSCompiler_temp = result$jscomp$0;
  }
  return JSCompiler_temp;
};
module$exports$jspb$internal_map.JspbMap.prototype[Symbol.iterator] = function() {
  return this.entries();
};
module$exports$jspb$internal_map.JspbMap.prototype.rawValuesInternal_ = function() {
  return module$contents$jspb$internal_map_MapBase.prototype.values.call(this);
};
module$exports$jspb$internal_map.JspbMap.prototype.toJSON = void 0;
module$exports$jspb$internal_map.JspbMap.prototype.mapPrototypeMarker = module$exports$jspb$internal.MAP_PROTOTYPE_MARKER_VALUE;
function module$contents$jspb$internal_map_legacySortFunction(a, b) {
  var aString = "" + a, bString = "" + b;
  return aString > bString ? 1 : aString < bString ? -1 : 0;
}
module$exports$jspb$internal_map.ImmutableMap = function() {
  throw Error("please construct maps as mutable then call toImmutable");
};
if (module$exports$jspb$internal.SUPPORTS_HAS_INSTANCE) {
  var rejectInstanceof = function() {
    throw Error(goog.DEBUG ? "Cannot perform instanceof checks on ImmutableMap: please use isImmutableMap or isMutableMap to assert on the mutability of a map. See go/jspb-api-gotchas#immutable-classes for more information" : void 0);
  }, $jscomp$compprop57 = {};
  Object.defineProperties(module$exports$jspb$internal_map.ImmutableMap, ($jscomp$compprop57[Symbol.hasInstance] = module$contents$jspb$internal_invisiblePropValue(rejectInstanceof), $jscomp$compprop57));
  (0,goog.asserts.assert)(module$exports$jspb$internal_map.ImmutableMap[Symbol.hasInstance] === rejectInstanceof, "defineProperties did not work: was it monkey-patched?");
}
function module$contents$jspb$internal_map_isImmutableMap(m) {
  return m instanceof module$exports$jspb$internal_map.JspbMap && !!(m.arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY);
}
function module$contents$jspb$internal_map_messageToApi(encoded, assertCorrectTypeForSetters, constructMissing, ctor, callToMutableOnAccess, parentArrayState) {
  assertCorrectTypeForSetters && module$contents$jspb$internal_accessor_helpers_checkMessageType(encoded, ctor);
  var msg = module$contents$jspb$internal_accessor_helpers_messageFromInlineStorage(encoded, ctor, constructMissing, parentArrayState);
  callToMutableOnAccess && (msg = msg.toMutable());
  (0,goog.asserts.assert)(!(parentArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY) || module$contents$jspb$internal_isImmutableMessage(msg));
  return msg;
}
function module$contents$jspb$internal_map_identity(v) {
  return v;
}
function module$contents$jspb$internal_map_compareMapToMapInternal(map1, map2, comparisonTypeInfo) {
  if (map1.size != map2.size) {
    return !1;
  }
  var equal = !0;
  map1.forEach(function(value, key) {
    module$contents$jspb$internal_compare_compareFields(value, map2.get(key), comparisonTypeInfo == null ? void 0 : comparisonTypeInfo.getFieldComparisonTypeInfo(2)) || (equal = !1);
  });
  return equal;
}
function module$contents$jspb$internal_map_compareEntryKeys(a, b) {
  if (!Array.isArray(a) || !Array.isArray(b)) {
    return 0;
  }
  var aKey = a[0], bKey = b[0];
  return aKey === bKey ? 0 : aKey < bKey ? -1 : 1;
}
function module$contents$jspb$internal_map_compareMapToMaybeArrayInternal(map, arr, comparisonTypeInfo) {
  if (arr == null) {
    return map.size === 0;
  }
  if (!Array.isArray(arr) || map.size > arr.length) {
    return !1;
  }
  var entries = Array.prototype.slice.call(arr);
  entries.sort(module$contents$jspb$internal_map_compareEntryKeys);
  for (var uniqueKeys = 0, lastKey = void 0, i = entries.length - 1; i >= 0; i--) {
    var entry = entries[i];
    if (!entry || !Array.isArray(entry) || entry.length !== 2) {
      return !1;
    }
    var key = entry[0];
    if (key !== lastKey) {
      var $jscomp$optchain$tmpm248229084$2 = void 0;
      if (!module$contents$jspb$internal_compare_compareFields(map.get(key), entry[1], ($jscomp$optchain$tmpm248229084$2 = comparisonTypeInfo) == null ? void 0 : $jscomp$optchain$tmpm248229084$2.getFieldComparisonTypeInfo(2))) {
        return !1;
      }
      lastKey = key;
      uniqueKeys++;
    }
  }
  return uniqueKeys === map.size;
}
function module$contents$jspb$internal_map_compareMapArraysInternal(aArr, bArr, comparisonTypeInfo) {
  if (!Array.isArray(aArr) || !Array.isArray(bArr)) {
    return !1;
  }
  var a = Array.prototype.slice.call(aArr), b = Array.prototype.slice.call(bArr);
  a.sort(module$contents$jspb$internal_map_compareEntryKeys);
  b.sort(module$contents$jspb$internal_map_compareEntryKeys);
  var aLen = a.length, bLen = b.length;
  if (aLen === 0 && bLen === 0) {
    return !0;
  }
  for (var aIdx = 0, bIdx = 0; aIdx < aLen && bIdx < bLen;) {
    var aNextEntry = void 0, aEntry = a[aIdx];
    if (!Array.isArray(aEntry)) {
      return !1;
    }
    for (var aKey = aEntry[0]; aIdx < aLen - 1 && (aNextEntry = a[aIdx + 1])[0] === aKey;) {
      aIdx++, aEntry = aNextEntry;
    }
    var bNextEntry = void 0, bEntry = b[bIdx];
    if (!Array.isArray(bEntry)) {
      return !1;
    }
    for (var bKey = bEntry[0]; bIdx < bLen - 1 && (bNextEntry = b[bIdx + 1])[0] === bKey;) {
      bIdx++, bEntry = bNextEntry;
    }
    if (!module$contents$jspb$internal_compare_compareFields(aKey, bKey)) {
      return !1;
    }
    var $jscomp$optchain$tmpm248229084$3 = void 0;
    if (!module$contents$jspb$internal_compare_compareFields(aEntry[1], bEntry[1], ($jscomp$optchain$tmpm248229084$3 = comparisonTypeInfo) == null ? void 0 : $jscomp$optchain$tmpm248229084$3.getFieldComparisonTypeInfo(2))) {
      return !1;
    }
    aIdx++;
    bIdx++;
  }
  return aIdx >= aLen && bIdx >= bLen;
}
function module$contents$jspb$internal_map_compareMapArrays(a, b, comparisonTypeInfo) {
  var result = module$contents$jspb$internal_map_compareMapArraysInternal(a, b);
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && (0,goog.asserts.assert)(result === module$contents$jspb$internal_map_compareMapToMapInternal(new Map(b), new Map(a), comparisonTypeInfo));
  return result;
}
function module$contents$jspb$internal_map_getEntryFromMap(key) {
  return [key, (0,goog.asserts.assertExists)(this.get(key))];
}
var module$contents$jspb$internal_map_immutableEmptyMap;
function module$contents$jspb$internal_map_getImmutableEmptyMap() {
  return module$contents$jspb$internal_map_immutableEmptyMap || (module$contents$jspb$internal_map_immutableEmptyMap = new module$exports$jspb$internal_map.JspbMap(module$contents$jspb$internal_array_state_markArrayImmutable(module$contents$jspb$internal_operations_logNewArray([])), void 0, void 0, void 0, module$contents$jspb$internal_map_EMPTY_MAP_TOKEN));
}
module$exports$jspb$internal_map.getImmutableEmptyMap = module$contents$jspb$internal_map_getImmutableEmptyMap;
module$exports$jspb$internal_map.isImmutableMap = module$contents$jspb$internal_map_isImmutableMap;
module$exports$jspb$internal_map.isMutableMap = function(m) {
  return m instanceof module$exports$jspb$internal_map.JspbMap && !(m.arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY);
};
module$exports$jspb$internal_map.compareMapArrays = module$contents$jspb$internal_map_compareMapArrays;
function module$contents$jspb$internal_json_jspbJsonStringifyReplacer(key, value) {
  return module$contents$jspb$internal_json_convertToJsonFormat(value);
}
function module$contents$jspb$internal_json_convertToJsonFormat(v) {
  switch(typeof v) {
    case "number":
      return isFinite(v) ? v : String(v);
    case "bigint":
      return (0,module$exports$google3$javascript$common$bigint$index.isSafeInt52)(v) ? Number(v) : String(v);
    case "boolean":
      return v ? 1 : 0;
    case "object":
      if (v) {
        if (Array.isArray(v)) {
          if (module$contents$jspb$internal_isEmptyRepeatedField(v, void 0, 0)) {
            return;
          }
        } else {
          if (module$contents$jspb$internal_bytes_isU8(v)) {
            return module$contents$jspb$internal_bytes_encodeByteArray(v);
          }
          if (v instanceof module$exports$jspb$bytestring.ByteString) {
            return v.asBase64();
          }
          if (v instanceof module$exports$jspb$internal_map.JspbMap) {
            return v.toArrayOrUndefinedInternal();
          }
        }
      }
  }
  return v;
}
;var module$exports$jspb$internal_copy = {};
function module$contents$jspb$internal_copy_copyProtoArray(originalArray, originalState, fieldCopyFn) {
  for (var copyArray = module$contents$jspb$internal_operations_slice(originalArray), arrayLength = copyArray.length, maybeOldSparseObject = originalState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT ? copyArray[arrayLength - 1] : void 0, end = arrayLength + (maybeOldSparseObject ? -1 : 0), i = originalState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_MESSAGE_ID ? 1 : 0; i < end; i++) {
    copyArray[i] = fieldCopyFn(copyArray[i]);
  }
  if (maybeOldSparseObject) {
    var maybeNewSparseObject = copyArray[i] = {}, k;
    for (k in maybeOldSparseObject) {
      module$contents$jspb$internal_hasOwnPropertyIfNotTrusted(maybeOldSparseObject, k) && ((0,goog.asserts.assert)(!isNaN(k), "should not have non-numeric keys in sparse objects after a constructor is called."), maybeNewSparseObject[k] = fieldCopyFn(maybeOldSparseObject[k]));
    }
  }
  module$contents$jspb$internal_copyUnknownFields(copyArray, originalArray, !1);
  return copyArray;
}
function module$contents$jspb$internal_copy_cloneJspbFieldInternal(f, convertLeaf, copyBitsToNewArrayAndMaybeFreeze, isParentOwned, skipImmutableArrays) {
  if (f != null) {
    if (Array.isArray(f)) {
      var JSCompiler_temp = module$contents$jspb$internal_isEmptyRepeatedField(f, void 0, 0) ? void 0 : skipImmutableArrays && (0,module$exports$jspb$internal_array_state.getArrayState)(f) & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY ? f : module$contents$jspb$internal_copy_cloneJspbArray(f, convertLeaf, copyBitsToNewArrayAndMaybeFreeze, isParentOwned !== void 0, skipImmutableArrays);
    } else {
      if (module$contents$jspb$internal_isSparseObject(f)) {
        var clone = {}, key;
        for (key in f) {
          module$contents$jspb$internal_hasOwnPropertyIfNotTrusted(f, key) && (clone[key] = module$contents$jspb$internal_copy_cloneJspbFieldInternal(f[key], convertLeaf, copyBitsToNewArrayAndMaybeFreeze, isParentOwned, skipImmutableArrays));
        }
        var JSCompiler_temp$jscomp$0 = clone;
      } else {
        JSCompiler_temp$jscomp$0 = convertLeaf(f, isParentOwned);
      }
      JSCompiler_temp = JSCompiler_temp$jscomp$0;
    }
    return JSCompiler_temp;
  }
}
function module$contents$jspb$internal_copy_cloneJspbArray(array, convertLeaf, copyBitsToNewArrayAndMaybeFreeze, passIsOwned, skipImmutableArrays) {
  for (var arrayState = passIsOwned || copyBitsToNewArrayAndMaybeFreeze ? (0,module$exports$jspb$internal_array_state.getArrayState)(array) : 0, amIOwned = passIsOwned ? !!(arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED) : void 0, clonedArray = module$contents$jspb$internal_operations_slice(array), i = 0; i < clonedArray.length; i++) {
    clonedArray[i] = module$contents$jspb$internal_copy_cloneJspbFieldInternal(clonedArray[i], convertLeaf, copyBitsToNewArrayAndMaybeFreeze, amIOwned, skipImmutableArrays);
  }
  copyBitsToNewArrayAndMaybeFreeze && (module$contents$jspb$internal_copyUnknownFields(clonedArray, array, !1), copyBitsToNewArrayAndMaybeFreeze(arrayState, clonedArray));
  return clonedArray;
}
function module$contents$jspb$internal_copy_convertMapValuesToStructuredCloneableFormat(v) {
  return module$contents$jspb$internal_copy_cloneJspbFieldInternal(v, module$contents$jspb$internal_copy_convertToStructuredCloneableFormat, void 0, void 0, !1);
}
function module$contents$jspb$internal_copy_convertToStructuredCloneableFormat(v) {
  return module$contents$jspb$internal_isMessage(v) ? v.toJSON() : v instanceof module$exports$jspb$bytestring.ByteString ? v.legacyUnwrap() : module$contents$jspb$internal_bytes_isU8(v) ? new Uint8Array(v) : v instanceof module$exports$jspb$internal_map.JspbMap ? v.toArrayOrUndefinedInternal(module$contents$jspb$internal_copy_convertMapValuesToStructuredCloneableFormat) : v;
}
function module$contents$jspb$internal_copy_convertMapValueToJsonFormat(v) {
  return module$contents$jspb$internal_copy_cloneJspbFieldInternal(v, module$contents$jspb$internal_copy_convertToJsonFormat, void 0, void 0, !1);
}
function module$contents$jspb$internal_copy_convertToJsonFormat(v) {
  return module$contents$jspb$internal_isMessage(v) ? v.toJSON() : v instanceof module$exports$jspb$internal_map.JspbMap ? v.toArrayOrUndefinedInternal(module$contents$jspb$internal_copy_convertMapValueToJsonFormat) : module$contents$jspb$internal_json_convertToJsonFormat(v);
}
function module$contents$jspb$internal_copy_cloneToJsonFormat(el) {
  (0,goog.asserts.assertArray)(el);
  return module$contents$jspb$internal_copy_cloneJspbArray(el, module$contents$jspb$internal_copy_convertToJsonFormat, void 0, void 0, !1);
}
function module$contents$jspb$internal_copy_cloneToStructuredCloneableFormat(el) {
  (0,goog.asserts.assertArray)(el);
  return module$contents$jspb$internal_copy_cloneJspbArray(el, module$contents$jspb$internal_copy_convertToStructuredCloneableFormat, void 0, void 0, !1);
}
module$exports$jspb$internal_copy.cloneRaw = module$exports$jspb$internal_bytes.SUPPORTS_STRUCTURED_CLONE ? structuredClone : function(arr) {
  return module$contents$jspb$internal_copy_cloneToStructuredCloneableFormat(arr);
};
module$exports$jspb$internal_copy.cloneJspbArray = module$contents$jspb$internal_copy_cloneJspbArray;
module$exports$jspb$internal_copy.cloneToJsonFormat = module$contents$jspb$internal_copy_cloneToJsonFormat;
module$exports$jspb$internal_copy.cloneToStructuredCloneableFormat = module$contents$jspb$internal_copy_cloneToStructuredCloneableFormat;
module$exports$jspb$internal_copy.copyProtoArray = module$contents$jspb$internal_copy_copyProtoArray;
function module$contents$jspb$internal_immutability_copyImmutableFieldValue(v, isParentOwned, copyArrayBitsForUnconstructedFields) {
  copyArrayBitsForUnconstructedFields = copyArrayBitsForUnconstructedFields === void 0 ? module$contents$jspb$internal_array_state_copyArrayBitsAndMaybeFreezeForCloneImmutable : copyArrayBitsForUnconstructedFields;
  if (v != null) {
    if (module$exports$jspb$internal_bytes.SUPPORTS_UINT8ARRAY && v instanceof Uint8Array) {
      return isParentOwned ? v : new Uint8Array(v);
    }
    if (Array.isArray(v)) {
      var state = (0,module$exports$jspb$internal_array_state.getArrayState)(v);
      if (state & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY) {
        return v;
      }
      module$contents$jspb$internal_assertArrayInvariants(v);
      var JSCompiler_temp;
      if (JSCompiler_temp = isParentOwned) {
        var mutableReferencesAreOwned = !!(state & module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED), mightContainMutableState = !!(state & module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED) || !(state & module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED);
        JSCompiler_temp = state === module$exports$jspb$internal_array_state.DEFAULT_ARRAY_STATE || mutableReferencesAreOwned && !mightContainMutableState;
      }
      return JSCompiler_temp ? ((0,module$exports$jspb$internal_array_state.setArrayState)(v, (state | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY | module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED) & ~(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED)), 
      v) : module$contents$jspb$internal_copy_cloneJspbArray(v, module$contents$jspb$internal_immutability_copyImmutableFieldValue, state & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED ? module$contents$jspb$internal_array_state_copyArrayBitsAndMaybeFreezeForCloneImmutable : copyArrayBitsForUnconstructedFields, !0, !0);
    }
    if (module$contents$jspb$internal_isMessage(v)) {
      goog.asserts.assert(module$contents$jspb$internal_isMessage(v));
      var array = v.internalArray_, arrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(array);
      var JSCompiler_temp$jscomp$0 = arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY ? v : module$contents$jspb$internal_construct_internalConstructFromOwnedArray(v.constructor, module$contents$jspb$internal_immutability_copyArrayWithImmutableFields(array, arrayState, !0));
    } else {
      JSCompiler_temp$jscomp$0 = v instanceof module$exports$jspb$internal_map.JspbMap ? v.arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY ? v : v.buildNewFromArray(module$contents$jspb$internal_array_state_markArrayImmutable(v.toArrayInternalUnsorted(module$contents$jspb$internal_immutability_copyImmutableFieldValue))) : v;
    }
    return JSCompiler_temp$jscomp$0;
  }
}
function module$contents$jspb$internal_immutability_copyMutableWithImmutableFields(msg) {
  goog.asserts.assert(module$contents$jspb$internal_isMessage(msg));
  var array = msg.internalArray_, arrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(array);
  return module$contents$jspb$internal_construct_internalConstructFromOwnedArray(msg.constructor, module$contents$jspb$internal_immutability_copyArrayWithImmutableFields(array, arrayState, !1));
}
function module$contents$jspb$internal_immutability_copyArrayWithImmutableFields(array, arrayState, markImmutable) {
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && module$contents$jspb$internal_operations_logOperation({copyMessageWithImmutableFields:1});
  var copyArrayBitsForUnconstructedFields = markImmutable || arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY ? module$contents$jspb$internal_array_state_copyArrayBitsAndMaybeFreezeForCloneImmutable : module$contents$jspb$internal_array_state_copyArrayBitsForClone, isParentOwned = !!(arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED), newArray = module$contents$jspb$internal_copy_copyProtoArray(array, arrayState, 
  function(value) {
    return module$contents$jspb$internal_immutability_copyImmutableFieldValue(value, isParentOwned, copyArrayBitsForUnconstructedFields);
  });
  (0,module$exports$jspb$internal_array_state.addArrayStateFlags)(newArray, module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED | (markImmutable ? module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY : 0));
  return newArray;
}
function module$contents$jspb$internal_immutability_messageToMutable(msg) {
  var array = msg.internalArray_, arrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(array);
  return arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY ? module$contents$jspb$internal_construct_internalConstructFromOwnedArray(msg.constructor, module$contents$jspb$internal_immutability_copyArrayWithImmutableFields(array, arrayState, !1)) : msg;
}
function module$contents$jspb$internal_immutability_recursiveMarkMessageImmutable(m) {
  module$contents$jspb$internal_immutability_recursiveMarkArrayImmutable(m.internalArray_, !0);
  return m;
}
function module$contents$jspb$internal_immutability_recursiveMarkMapImmutable(m) {
  m.callToMutableOnAccess = !1;
  m.valueCtor && m.forEach(module$contents$jspb$internal_immutability_recursiveMarkMessageImmutable);
  m.arrayState |= module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY;
}
function module$contents$jspb$internal_immutability_recursiveMarkArrayImmutable(arr) {
  if (arr !== module$exports$jspb$internal.EMPTY_LIST_SENTINEL) {
    goog.asserts.assertArray(arr);
    var state = (0,module$exports$jspb$internal_array_state.getArrayState)(arr);
    state = (state | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY) & ~module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES;
    (0,module$exports$jspb$internal_array_state.setArrayState)(arr, state);
    state & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED && Object.freeze(arr);
    for (var i = 0; i < arr.length; i++) {
      var entry = arr[i];
      if (entry) {
        if (Array.isArray(entry)) {
          module$contents$jspb$internal_immutability_recursiveMarkArrayImmutable(entry);
        } else if (entry instanceof module$exports$jspb$internal_map.JspbMap) {
          module$contents$jspb$internal_immutability_recursiveMarkMapImmutable(entry);
        } else if (module$contents$jspb$internal_isMessage(entry)) {
          module$contents$jspb$internal_immutability_recursiveMarkMessageImmutable(entry);
        } else if (i === arr.length - 1 && module$contents$jspb$internal_isSparseObject(entry)) {
          var obj = entry, key;
          for (key in obj) {
            if (module$contents$jspb$internal_hasOwnPropertyIfNotTrusted(obj, key)) {
              var value = obj[key];
              value && (Array.isArray(value) ? module$contents$jspb$internal_immutability_recursiveMarkArrayImmutable(value) : value instanceof module$exports$jspb$internal_map.JspbMap ? module$contents$jspb$internal_immutability_recursiveMarkMapImmutable(value) : module$contents$jspb$internal_isMessage(value) && module$contents$jspb$internal_immutability_recursiveMarkMessageImmutable(value));
            }
          }
        }
      }
    }
  }
}
;var jspb_internal_adapters = {}, module$contents$jspb_internal_adapters_GBIGINT_ZERO = module$contents$google3$javascript$common$bigint$index_toGbigint(0);
function module$contents$jspb_internal_adapters_asyncThrowIf64BitIntReturnTypeMismatches(msg, value, expectStringValue) {
  if (value != null && module$contents$jspb$internal_options_asyncThrowIf64BitIntReturnTypeMismatches) {
    var expectedType = expectStringValue ? "string" : "number";
    if (typeof value !== expectedType && (expectedType !== "number" || Number.isSafeInteger(Number(value)))) {
      var error = goog.DEBUG ? "Expected a " + expectedType + "-typed 64-bit int value, but got " + goog.typeOf(value) + ": " + value : "64birm";
      module$contents$jspb$exceptions_throttledAsyncThrowWarning(msg, module$exports$jspb$internal_symbols.RETURNED_64BIT_INT_VALUE_MISMATCH_SYMBOL, 4, error);
    }
  }
}
function module$contents$jspb_internal_adapters_asyncThrowIfRepeated64BitIntReturnTypeMismatches(msg, values, expectStringValue) {
  values.length !== 0 && module$contents$jspb_internal_adapters_asyncThrowIf64BitIntReturnTypeMismatches(msg, values[0], expectStringValue);
}
jspb_internal_adapters.getFieldNullable = function(message, fieldNumber, isExtension) {
  var array = message.internalArray_;
  return jspb_internal_adapters.getFieldNullableInternal(array, (0,module$exports$jspb$internal_array_state.getMessageArrayState)(array), fieldNumber, isExtension);
};
function module$contents$jspb_internal_adapters_getDenseArrayValueForFieldNumber(messageArray, messageArrayState, pivot, fieldNumber) {
  var arrayIndex = module$contents$jspb$internal_indexFromFieldNumber(fieldNumber, module$contents$jspb$internal_array_state_getArrayIndexOffset(messageArrayState));
  if (!(arrayIndex < 0 || arrayIndex >= messageArray.length || arrayIndex >= pivot)) {
    return messageArray[arrayIndex];
  }
}
jspb_internal_adapters.getFieldNullableInternal = function(messageArray, messageArrayState, fieldNumber, isExtension) {
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && module$contents$jspb$internal_operations_logOperation({getField:1});
  if (fieldNumber === -1) {
    return null;
  }
  var pivot = module$contents$jspb$internal_array_state_getPivot(messageArrayState);
  if (fieldNumber >= pivot) {
    if (messageArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT) {
      return messageArray[messageArray.length - 1][fieldNumber];
    }
  } else {
    var arrayLength = messageArray.length;
    if (isExtension && messageArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT) {
      var value = messageArray[arrayLength - 1][fieldNumber];
      if (value != null) {
        if (module$contents$jspb_internal_adapters_getDenseArrayValueForFieldNumber(messageArray, messageArrayState, pivot, fieldNumber)) {
          if (goog.DEBUG) {
            throw Error("b/316921031: message had field number " + fieldNumber + " in both the sparse object and the array portion.");
          }
          module$contents$jspb$exceptions_throttledAsyncThrowWarning(void 0, module$exports$jspb$internal_symbols.DUPLICATED_EXTENSION_SYMBOL, 4, "dubext");
        }
        return value;
      }
    }
    return module$contents$jspb_internal_adapters_getDenseArrayValueForFieldNumber(messageArray, messageArrayState, pivot, fieldNumber);
  }
};
jspb_internal_adapters.setField = function(message, fieldNumber, value, isExtension) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, value, isExtension);
  return message;
};
jspb_internal_adapters.setFieldIgnoringImmutability = module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal;
function module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, value) {
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && module$contents$jspb$internal_operations_logOperation({setField:1});
  (0,goog.asserts.assert)(!module$contents$jspb$internal_isSparseObject(value), "Invalid object passed to a setter");
  var pivot = module$contents$jspb$internal_array_state_getPivot(messageArrayState);
  if (fieldNumber >= pivot) {
    (0,goog.asserts.assert)(pivot !== module$exports$jspb$internal_array_state.NO_PIVOT);
    var newArrayState = messageArrayState;
    if (messageArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT) {
      var sparseObject = messageArray[messageArray.length - 1];
    } else {
      if (value == null) {
        return newArrayState;
      }
      var sparseObjectIdx = module$contents$jspb$internal_indexFromFieldNumber(pivot, module$contents$jspb$internal_array_state_getArrayIndexOffset(messageArrayState));
      (0,goog.asserts.assert)(sparseObjectIdx >= messageArray.length && Number.isInteger(sparseObjectIdx) && sparseObjectIdx < 4294967295, "Expected sparseObjectIndex (%s) to be >= %s and a valid array index", sparseObjectIdx, messageArray.length);
      sparseObject = messageArray[sparseObjectIdx] = {};
      newArrayState |= module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT;
    }
    sparseObject[fieldNumber] = value;
    fieldNumber < pivot && (messageArray[module$contents$jspb$internal_indexFromFieldNumber(fieldNumber, module$contents$jspb$internal_array_state_getArrayIndexOffset(messageArrayState))] = void 0);
    newArrayState !== messageArrayState && (0,module$exports$jspb$internal_array_state.setArrayState)(messageArray, newArrayState);
    return newArrayState;
  }
  messageArray[module$contents$jspb$internal_indexFromFieldNumber(fieldNumber, module$contents$jspb$internal_array_state_getArrayIndexOffset(messageArrayState))] = value;
  if (messageArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT) {
    var sparseObject$jscomp$0 = messageArray[messageArray.length - 1];
    fieldNumber in sparseObject$jscomp$0 && delete sparseObject$jscomp$0[fieldNumber];
  }
  return messageArrayState;
}
jspb_internal_adapters.hasField = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension === void 0 ? !1 : isExtension) != null;
};
jspb_internal_adapters.hasWrapperField = function(message, ctor, fieldNumber, isExtension) {
  return module$contents$jspb_internal_adapters_getReadonlyWrapperFieldOrUndefined(message, ctor, fieldNumber, isExtension === void 0 ? !1 : isExtension) !== void 0;
};
var module$contents$jspb_internal_adapters_RepeatedArrayReturnType = {FROZEN:1, UNFROZEN:2, EITHER_FROZEN_OR_UNFROZEN:3, FROZEN_IF_OWNED:4, ASYNC_THROW_WHEN_MUTATED_IF_OWNED:5};
jspb_internal_adapters.RepeatedArrayReturnType = module$contents$jspb_internal_adapters_RepeatedArrayReturnType;
function module$contents$jspb_internal_adapters_assertMessageReturnedSafely(child, parent, isNewlyConstructed) {
  if (!goog.DEBUG || !child) {
    return child;
  }
  (0,goog.asserts.assert)(module$contents$jspb$internal_array_state_isImmutableArray(parent) ? module$contents$jspb$internal_isImmutableMessage(child) : !0);
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && ((0,goog.asserts.assert)((0,module$exports$jspb$internal_array_state.getMessageArrayState)(child.internalArray_) & module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED), (0,goog.asserts.assert)(!((0,module$exports$jspb$internal_array_state.getMessageArrayState)(parent) & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY) || (0,module$exports$jspb$internal_array_state.getMessageArrayState)(child.internalArray_) & 
  module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY), isNewlyConstructed && (0,module$exports$jspb$internal_array_state.getMessageArrayState)(parent) & module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED && (0,goog.asserts.assert)((0,module$exports$jspb$internal_array_state.getMessageArrayState)(child.internalArray_) & (module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY), 
  "Array must be either owned or immutable."));
  return child;
}
function module$contents$jspb_internal_adapters_assertMapReturnedSafely(m, parent) {
  (0,goog.asserts.assert)(m.arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY || m.arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED || !(m.arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED));
  (0,goog.asserts.assert)(module$contents$jspb$internal_map_isImmutableMap(m) === module$contents$jspb$internal_array_state_isImmutableArray(parent));
  if (module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && m.valueCtor) {
    for (var $jscomp$iter$68 = (0,$jscomp.makeIterator)(m.rawValuesInternal_()), $jscomp$key$557442040$1$value = $jscomp$iter$68.next(); !$jscomp$key$557442040$1$value.done; $jscomp$key$557442040$1$value = $jscomp$iter$68.next()) {
      var value = $jscomp$key$557442040$1$value.value;
      value && typeof value == "object" && module$contents$jspb$internal_isMessage(value) && module$contents$jspb_internal_adapters_assertMessageReturnedSafely(value, parent, void 0);
      if (Array.isArray(value)) {
        var state = (0,module$exports$jspb$internal_array_state.getArrayState)(value);
        state & module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED && module$contents$jspb$internal_array_state_checkMessageStateInvariants(value, state);
      }
    }
  }
  return m;
}
function module$contents$jspb_internal_adapters_assertArrayReturnedSafely(arr, parent, skipFrozenCheck, skipOwnershipCheck) {
  skipFrozenCheck = skipFrozenCheck === void 0 ? !1 : skipFrozenCheck;
  skipOwnershipCheck = skipOwnershipCheck === void 0 ? !1 : skipOwnershipCheck;
  module$contents$jspb$internal_assertArrayInvariants(arr, skipFrozenCheck);
  (0,goog.asserts.assert)(module$contents$jspb$internal_array_state_isRepeatedField(arr));
  var arrayState = (0,module$exports$jspb$internal_array_state.getArrayState)(arr);
  arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.DESERIALIZED_FROM_BINARY && (0,goog.asserts.assert)(arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY, "state from binary must be immutable");
  skipFrozenCheck || (skipOwnershipCheck || (0,goog.asserts.assert)(Object.isFrozen(arr) || !module$contents$jspb$internal_array_state_areMutableReferencesOwned(arr)), (0,goog.asserts.assert)(module$contents$jspb$internal_array_state_isImmutableArray(parent) ? Object.isFrozen(arr) : !0));
  return arr;
}
jspb_internal_adapters.hasOneofWrapperField = function(message, ctor, fieldNumber, oneof) {
  return module$contents$jspb_internal_adapters_getReadonlyWrapperFieldOrUndefined(message, ctor, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber)) !== void 0;
};
jspb_internal_adapters.getRepeatedField = function(message, fieldNumber, isExtension$jscomp$0) {
  isExtension$jscomp$0 = isExtension$jscomp$0 === void 0 ? !1 : isExtension$jscomp$0;
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray), isExtension = isExtension$jscomp$0, amIImmutable = messageArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY, values = jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber, isExtension);
  Array.isArray(values) || (values = module$exports$jspb$internal.EMPTY_LIST_SENTINEL);
  var state = (0,module$exports$jspb$internal_array_state.getArrayState)(values);
  state & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD || (state |= module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD, (0,module$exports$jspb$internal_array_state.setArrayState)(values, state));
  if (amIImmutable) {
    state & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY || module$contents$jspb$internal_array_state_markArrayImmutable(values), Object.freeze(values);
  } else {
    var arrayIsImmutableOrFrozen = !!(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY & state) || !!(module$exports$jspb$internal_array_state.ArrayStateFlags.FROZEN_ARRAY & state);
    arrayIsImmutableOrFrozen ? (values = module$contents$jspb$internal_operations_slice(values), (0,module$exports$jspb$internal_array_state.setArrayState)(values, module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD), module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, values, isExtension)) : state & module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED && !arrayIsImmutableOrFrozen && 
    module$contents$jspb$internal_array_state_markShared(values);
  }
  return module$contents$jspb_internal_adapters_assertArrayReturnedSafely(values, messageArray);
};
jspb_internal_adapters.getRepeatedFieldForBinary = function(messageArray, fieldNumber, isExtension) {
  isExtension = isExtension === void 0 ? !1 : isExtension;
  var messageArrayState = module$contents$jspb$internal_array_state_getPossiblyUnconstructedMessageArrayState(messageArray);
  return module$contents$jspb_internal_adapters_getRepeatedFieldInternalForBinary(messageArray, messageArrayState, fieldNumber, !1, isExtension);
};
jspb_internal_adapters.getRepeatedWrapperCount = function(message, ctor, fieldNumber, isExtension) {
  isExtension = isExtension === void 0 ? !1 : isExtension;
  return module$contents$jspb_internal_adapters_getRepeatedWrapperFieldInternal(message, (0,module$exports$jspb$internal_array_state.getMessageArrayState)(message.internalArray_), ctor, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0).length;
};
jspb_internal_adapters.getRepeatedIndexedReadonlyWrapper = function(message, fieldNumber, ctor, index, isExtension) {
  isExtension = isExtension === void 0 ? !1 : isExtension;
  var wrappers = module$contents$jspb_internal_adapters_getRepeatedWrapperFieldInternal(message, (0,module$exports$jspb$internal_array_state.getMessageArrayState)(message.internalArray_), ctor, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(wrappers, index);
  return wrappers[index];
};
jspb_internal_adapters.getRepeatedIndexedWrapper = function(message, fieldNumber, ctor, index, isExtension) {
  var wrappers = jspb_internal_adapters.getRepeatedWrapperField(message, ctor, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension === void 0 ? !1 : isExtension);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(wrappers, index);
  return wrappers[index];
};
jspb_internal_adapters.getRepeatedIndexedMutableWrapper = function(message, fieldNumber, ctor, index, isExtension) {
  isExtension = isExtension === void 0 ? !1 : isExtension;
  var messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(message.internalArray_);
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  var wrappers = module$contents$jspb_internal_adapters_getRepeatedWrapperFieldInternal(message, messageArrayState, ctor, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(wrappers, index);
  var submessage = wrappers[index], asMutable = module$contents$jspb$internal_immutability_messageToMutable(submessage);
  if (submessage !== asMutable) {
    wrappers[index] = asMutable;
    var state = (0,module$exports$jspb$internal_array_state.getArrayState)(wrappers);
    module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED & state && (state &= ~module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED, (0,module$exports$jspb$internal_array_state.setArrayState)(wrappers, state));
  }
  return asMutable;
};
jspb_internal_adapters.setRepeatedIndexedWrapper = function(message, fieldNumber, ctor, index, value, isExtension) {
  module$contents$jspb_internal_adapters_spliceRepeatedWrapperField(message, fieldNumber, ctor, value, index, isExtension === void 0 ? !1 : isExtension, 1);
  return message;
};
jspb_internal_adapters.getFloatingPointFieldNullable = function(message, fieldNumber, isExtension) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray), value = jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber, isExtension), newValue = module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint(value);
  newValue != null && newValue !== value && module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, newValue, isExtension);
  return newValue;
};
jspb_internal_adapters.getBytesFieldNullable = function(message, fieldNumber, isExtension) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray), value = jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber, isExtension), newValue = module$contents$jspb_internal_adapters_coerceToNullishBytes(value);
  newValue != null && newValue !== value && module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, newValue, isExtension);
  return newValue;
};
jspb_internal_adapters.getRepeatedFieldReturnType = function(freezeOptOut, isExtension) {
  return freezeOptOut === module$exports$jspb$internal.DO_NOT_FREEZE__LEGACY_OPTION ? module$contents$jspb_internal_adapters_RepeatedArrayReturnType.UNFROZEN : module$contents$jspb$internal_options_getReadonlyRepeatedArrays(!!isExtension) ? module$contents$jspb_internal_adapters_RepeatedArrayReturnType.FROZEN_IF_OWNED : module$contents$jspb_internal_adapters_RepeatedArrayReturnType.ASYNC_THROW_WHEN_MUTATED_IF_OWNED;
};
function module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, coercionFn, returnTypeForMutable, isExtension, doesntReturnArray$jscomp$0, formatType) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray), returnType = module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY & messageArrayState ? module$contents$jspb_internal_adapters_RepeatedArrayReturnType.FROZEN : returnTypeForMutable;
  doesntReturnArray$jscomp$0 = !!doesntReturnArray$jscomp$0;
  var values = module$contents$jspb_internal_adapters_getRawRepeatedFieldWithDefault(messageArray, messageArrayState, fieldNumber, isExtension), valueState = (0,module$exports$jspb$internal_array_state.getArrayState)(values);
  module$contents$jspb$internal_assertRepeated64BitIntegerFieldApiFormattingInvariants(values);
  var state = valueState, doesntReturnArray = doesntReturnArray$jscomp$0;
  if (module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED & state) {
    if (formatType == null) {
      var JSCompiler_inline_result = !1;
    } else {
      (0,goog.asserts.assert)(formatType === module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY || formatType === module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED || formatType === module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED, "Expected format type to be one of legacy, string, or gbigint, but got " + formatType), !doesntReturnArray && formatType === module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY && (module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED & 
      state || module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED & state) && module$contents$jspb$internal_options_asyncThrowIfStringTypedInt64FieldDowngrade && (message.constructor[module$exports$jspb$internal_symbols.STRING_TYPE_DOWNGRADES_SYMBOL] = (message.constructor[module$exports$jspb$internal_symbols.STRING_TYPE_DOWNGRADES_SYMBOL] | 0) + 1) < 5 && module$contents$jspb$exceptions_asyncThrowWarning(goog.DEBUG ? "an _asLegacyNumberOrString accessor was called after an _asString accessor: this can cause type errors when numeric values are expected -- we recommend standardizing your whole application on the _asString version. See go/jspb-gencode?polyglot=typescript#int64-string-accessors for more information." : 
      "int64 downgrade"), JSCompiler_inline_result = formatType === module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY ? !1 : !(formatType & state);
    }
  } else {
    JSCompiler_inline_result = !0;
  }
  if (JSCompiler_inline_result) {
    module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED & valueState && (values = module$contents$jspb$internal_operations_slice(values), valueState = module$contents$jspb_internal_adapters_setFlagsForSlicedArray(valueState, messageArrayState), messageArrayState = module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, values, isExtension));
    for (var from = 0, to = 0; from < values.length; from++) {
      var coerced = coercionFn(values[from]);
      coerced != null && (values[to++] = coerced);
    }
    to < from && (values.length = to);
    valueState = module$contents$jspb_internal_adapters_setFlagsForRepeatedField(valueState, messageArrayState);
    valueState |= module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED;
    valueState = module$contents$jspb$internal_array_state_clearTypeSpecificFormattedFlagBits(valueState);
    formatType && (valueState |= formatType);
    (0,module$exports$jspb$internal_array_state.setArrayState)(values, valueState);
    module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY & valueState && Object.freeze(values);
  }
  var proxy;
  if (module$contents$jspb_internal_adapters_shouldReturnFrozen(returnType, valueState)) {
    if (!module$contents$jspb_internal_adapters_isFrozenByFlags(valueState, values)) {
      var existingState = valueState;
      valueState |= module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY;
      valueState !== existingState && (0,module$exports$jspb$internal_array_state.setArrayState)(values, valueState);
      Object.freeze(values);
    }
  } else {
    var shouldAsyncThrow = module$contents$jspb_internal_adapters_shouldAsyncThrowOnMutation(returnType, valueState, values);
    (returnType === module$contents$jspb_internal_adapters_RepeatedArrayReturnType.UNFROZEN || shouldAsyncThrow) && module$contents$jspb_internal_adapters_isFrozenByFlags(valueState, values) && (values = module$contents$jspb$internal_operations_slice(values), valueState = module$contents$jspb_internal_adapters_setFlagsForSlicedArray(valueState, messageArrayState), valueState = module$contents$jspb_internal_adapters_updateOwnedState(valueState, messageArrayState, doesntReturnArray$jscomp$0), (0,module$exports$jspb$internal_array_state.setArrayState)(values, 
    valueState), messageArrayState = module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, values, isExtension));
    if (!module$contents$jspb_internal_adapters_isFrozenByFlags(valueState, values)) {
      var existingState$jscomp$0 = valueState;
      valueState = module$contents$jspb_internal_adapters_updateOwnedState(valueState, messageArrayState, doesntReturnArray$jscomp$0);
      valueState !== existingState$jscomp$0 && (0,module$exports$jspb$internal_array_state.setArrayState)(values, valueState);
    }
    shouldAsyncThrow ? proxy = (0,module$exports$jspb$internal_array_proxy.setupAsyncThrowingArray)(values) : returnType !== module$contents$jspb_internal_adapters_RepeatedArrayReturnType.UNFROZEN || doesntReturnArray$jscomp$0 || (0,module$exports$jspb$internal_array_proxy.clearArrayProxy)(values);
  }
  module$contents$jspb$internal_assertRepeated64BitIntegerFieldApiFormattingInvariants(values);
  doesntReturnArray$jscomp$0 || module$contents$jspb_internal_adapters_assertArrayReturnedSafely(values, messageArray, !1, doesntReturnArray$jscomp$0);
  return proxy || values;
}
function module$contents$jspb_internal_adapters_getRawRepeatedFieldWithDefault(messageArray, messageArrayState, fieldNumber, isExtension) {
  var values = jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber, isExtension);
  return Array.isArray(values) ? values : module$exports$jspb$internal.EMPTY_LIST_SENTINEL;
}
function module$contents$jspb_internal_adapters_setFlagsForRepeatedField(valueState, parentState) {
  valueState === module$exports$jspb$internal_array_state.DEFAULT_ARRAY_STATE && (valueState = module$contents$jspb_internal_adapters_setFlagsForSlicedArray(valueState, parentState));
  return valueState |= module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD;
}
function module$contents$jspb_internal_adapters_isFrozenByFlags(state, array) {
  var isFrozen = !!(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY & state) && !!(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED & state) || !!(module$exports$jspb$internal_array_state.ArrayStateFlags.FROZEN_ARRAY & state);
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && isFrozen && (0,goog.asserts.assert)(Object.isFrozen(array));
  return isFrozen;
}
function module$contents$jspb_internal_adapters_shouldReturnFrozen(returnType, state) {
  return returnType === module$contents$jspb_internal_adapters_RepeatedArrayReturnType.FROZEN || returnType === module$contents$jspb_internal_adapters_RepeatedArrayReturnType.FROZEN_IF_OWNED && !!(module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED & state);
}
function module$contents$jspb_internal_adapters_shouldAsyncThrowOnMutation(returnType, state, array) {
  return returnType !== module$contents$jspb_internal_adapters_RepeatedArrayReturnType.ASYNC_THROW_WHEN_MUTATED_IF_OWNED ? !1 : !!(module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED & state) || module$contents$jspb_internal_adapters_isFrozenByFlags(state, array) || !!(0,module$exports$jspb$internal_array_proxy.getArrayProxy)(array);
}
function module$contents$jspb_internal_adapters_coerceToNullishBytes(value) {
  return module$contents$jspb$internal_bytesAsByteString(value, !0, !0, !1);
}
jspb_internal_adapters.getFieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getBytesFieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  var value = jspb_internal_adapters.getBytesFieldNullable(message, fieldNumber, isExtension);
  return value == null ? defaultValue === null ? defaultValue : defaultValue === void 0 ? module$exports$jspb$bytestring.ByteString.empty() : module$exports$jspb$bytestring.ByteString.fromBase64(defaultValue) : value;
};
function module$contents$jspb_internal_adapters_shallowCopyMapEntryArray(array) {
  array = module$contents$jspb$internal_operations_slice(array);
  for (var i = 0; i < array.length; i++) {
    var e = array[i] = module$contents$jspb$internal_operations_slice(array[i]);
    Array.isArray(e[1]) && (e[1] = module$contents$jspb$internal_array_state_markArrayImmutable(e[1]));
  }
  return array;
}
function module$contents$jspb_internal_adapters_getReadonlyMapFieldInternal(messageArray, messageArrayState, arrOrMap, fieldNumber, valueCtor, keyToApi, valueToApi) {
  var amIImmutable = messageArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY, isMapArrayImmutable = !1;
  if (arrOrMap == null) {
    if (amIImmutable) {
      return module$contents$jspb_internal_adapters_assertMapReturnedSafely(module$contents$jspb$internal_map_getImmutableEmptyMap(), messageArray);
    }
    arrOrMap = module$contents$jspb$internal_operations_logNewArray([]);
  } else if (arrOrMap.constructor === module$exports$jspb$internal_map.JspbMap) {
    var map = arrOrMap;
    if ((map.arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY) == 0 || amIImmutable) {
      return module$contents$jspb_internal_adapters_assertMapReturnedSafely(map, messageArray);
    }
    arrOrMap = map.toArrayInternalUnsorted();
  } else {
    Array.isArray(arrOrMap) ? isMapArrayImmutable = module$contents$jspb$internal_array_state_isImmutableArray(arrOrMap) : arrOrMap = module$contents$jspb$internal_operations_logNewArray([]);
  }
  if (amIImmutable) {
    if (!arrOrMap.length) {
      return module$contents$jspb$internal_map_getImmutableEmptyMap();
    }
    isMapArrayImmutable || (isMapArrayImmutable = !0, module$contents$jspb$internal_array_state_markArrayImmutable(arrOrMap));
  } else {
    isMapArrayImmutable && (isMapArrayImmutable = !1, arrOrMap = module$contents$jspb_internal_adapters_shallowCopyMapEntryArray(arrOrMap));
  }
  isMapArrayImmutable || (module$contents$jspb$internal_array_state_isConstructed(arrOrMap) ? module$contents$jspb$internal_array_state_markShared(arrOrMap) : module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED & messageArrayState && module$contents$jspb$internal_array_state_markMutableReferencesAreOwned(arrOrMap));
  var jspbMap = new module$exports$jspb$internal_map.JspbMap(arrOrMap, valueCtor, keyToApi, valueToApi);
  module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, jspbMap, !1);
  return module$contents$jspb_internal_adapters_assertMapReturnedSafely(jspbMap, messageArray);
}
function module$contents$jspb_internal_adapters_getReadonlyMapField(message, fieldNumber, valueCtor, keyToApi, valueToApi) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  return module$contents$jspb_internal_adapters_getReadonlyMapFieldInternal(messageArray, messageArrayState, jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber), fieldNumber, valueCtor, keyToApi, valueToApi);
}
function module$contents$jspb_internal_adapters_getMapFieldInternal(messageArray, messageArrayState, arrOrMap, fieldNumber, valueCtor, keyToApi, valueToApi) {
  var amIImmutable = messageArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY, mapValue = module$contents$jspb_internal_adapters_getReadonlyMapFieldInternal(messageArray, messageArrayState, arrOrMap, fieldNumber, valueCtor, keyToApi, valueToApi);
  !amIImmutable && valueCtor && (mapValue.callToMutableOnAccess = !0);
  return mapValue;
}
jspb_internal_adapters.putIntoMapForBinary = function(messageArray, fieldNumber, entry) {
  var messageArrayState = module$contents$jspb$internal_array_state_getPossiblyUnconstructedMessageArrayState(messageArray);
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  var mapValue = jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber);
  mapValue instanceof module$exports$jspb$internal_map.JspbMap ? (mapValue.arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY) != 0 ? (mapValue = mapValue.toArrayInternalUnsorted(), mapValue.push(entry), module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, mapValue)) : mapValue.setWireEntry(entry) : Array.isArray(mapValue) ? (module$contents$jspb$internal_array_state_isImmutableArray(mapValue) && 
  (mapValue = module$contents$jspb_internal_adapters_shallowCopyMapEntryArray(mapValue), module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, mapValue)), mapValue.push(entry)) : module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, [entry]);
};
jspb_internal_adapters.getMapField = function(message, fieldNumber, valueCtor, keyToApi, valueToApi) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  return module$contents$jspb_internal_adapters_assertMapReturnedSafely(module$contents$jspb_internal_adapters_getMapFieldInternal(messageArray, messageArrayState, jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber), fieldNumber, valueCtor, keyToApi, valueToApi), messageArray);
};
function module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, keyToApi, valueToApi) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  return module$contents$jspb_internal_adapters_assertMapReturnedSafely(module$contents$jspb_internal_adapters_getMapFieldInternal(messageArray, messageArrayState, jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber), fieldNumber, void 0, keyToApi, valueToApi), messageArray);
}
function module$contents$jspb_internal_adapters_getMessageValuedMapField(message, fieldNumber, valueCtor, keyToApi) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  return module$contents$jspb_internal_adapters_assertMapReturnedSafely(module$contents$jspb_internal_adapters_getMapFieldInternal(messageArray, messageArrayState, jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber), fieldNumber, valueCtor, keyToApi), messageArray);
}
jspb_internal_adapters.clearMapField = function(message, fieldNumber) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  var maybe = jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber);
  maybe instanceof module$exports$jspb$internal_map.JspbMap && !module$contents$jspb$internal_map_isImmutableMap(maybe) ? maybe.clear() : module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, void 0);
  return message;
};
function module$contents$jspb_internal_adapters_mapSetter(value, key) {
  this.set(key, value);
}
function module$contents$jspb_internal_adapters_setRepeatedPrimitiveField(message, fieldNumber, values, checkFn, isExtension) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  if (values == null) {
    return module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, void 0, isExtension), message;
  }
  values = (0,module$exports$jspb$internal_array_proxy.getTargetArray)(values);
  module$contents$jspb$internal_accessor_helpers_checkRepeatedFieldIsArray(values);
  var valueState = (0,module$exports$jspb$internal_array_state.getArrayState)(values), existingState = valueState, wasFormatted = !!(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED & valueState), frozenByUs = module$contents$jspb_internal_adapters_isFrozenByFlags(valueState, values), isFrozen = frozenByUs || Object.isFrozen(values);
  frozenByUs || (valueState = 0);
  isFrozen || (values = module$contents$jspb$internal_operations_slice(values), existingState = 0, valueState = module$contents$jspb_internal_adapters_setFlagsForSlicedArray(valueState, messageArrayState), valueState = module$contents$jspb_internal_adapters_updateOwnedState(valueState, messageArrayState, !0), isFrozen = !1);
  valueState |= module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED;
  var $jscomp$nullish$tmp15, currentFormat = ($jscomp$nullish$tmp15 = module$contents$jspb$internal_array_state_getTypeSpecificApiFormat(valueState)) != null ? $jscomp$nullish$tmp15 : module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY;
  if (module$exports$jspb$internal_options.STRICT_REPEATED_SETTER || !wasFormatted) {
    for (var i = 0; i < values.length; i++) {
      var value = values[i], newValue = checkFn(value, currentFormat);
      Object.is(value, newValue) || (isFrozen && (values = module$contents$jspb$internal_operations_slice(values), existingState = 0, valueState = module$contents$jspb_internal_adapters_setFlagsForSlicedArray(valueState, messageArrayState), valueState = module$contents$jspb_internal_adapters_updateOwnedState(valueState, messageArrayState, !0), isFrozen = !1), values[i] = newValue);
    }
  }
  valueState !== existingState && (isFrozen && (values = module$contents$jspb$internal_operations_slice(values), valueState = module$contents$jspb_internal_adapters_setFlagsForSlicedArray(valueState, messageArrayState), valueState = module$contents$jspb_internal_adapters_updateOwnedState(valueState, messageArrayState, !0)), (0,module$exports$jspb$internal_array_state.setArrayState)(values, valueState));
  module$contents$jspb$internal_assertArrayInvariants(values);
  module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, values, isExtension);
  return message;
}
jspb_internal_adapters.setRepeatedField = function(message, fieldNumber, value$jscomp$0, isExtension) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  var value = value$jscomp$0;
  value == null ? value = module$exports$jspb$internal.EMPTY_LIST_SENTINEL : (module$contents$jspb$internal_accessor_helpers_checkRepeatedFieldIsArray(value), value = module$contents$jspb$internal_array_state_addFlagsOnPossiblyFrozenArray(value, module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD));
  module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, value, isExtension);
  return message;
};
jspb_internal_adapters.setRepeatedFieldIgnoringImmutability = function(message, fieldNumber, value, isExtension) {
  value == null ? value = void 0 : (module$contents$jspb$internal_accessor_helpers_checkRepeatedFieldIsArray(value), value = module$contents$jspb$internal_array_state_addFlagsOnPossiblyFrozenArray(value, module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD));
  var messageArray = message.internalArray_;
  module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray), fieldNumber, value, isExtension);
  return message;
};
jspb_internal_adapters.clearField = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.setField(message, fieldNumber, void 0, isExtension);
};
jspb_internal_adapters.clearOneofField = function(message, fieldNumber, oneofGroup) {
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneofGroup, void 0);
};
function module$contents$jspb_internal_adapters_setFieldIgnoringDefault(msg, fieldNumber, value, defaultValue) {
  var messageArray = msg.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, (defaultValue === "0" ? Number(value) === 0 : value === defaultValue) ? void 0 : value);
  return msg;
}
function module$contents$jspb_internal_adapters_addAllToRepeatedFieldImpl(message, fieldNumber, checkFn, values, coercionFn) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, checkFn, values, void 0, coercionFn, void 0, void 0, !0);
}
function module$contents$jspb_internal_adapters_getRepeatedFieldInternalForBinary(messageArray, messageArrayState, fieldNumber, isMessageArray, isExtension) {
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  var constructedOrNotDeserialized = !!(module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED & messageArrayState) || !(module$exports$jspb$internal_array_state.ArrayStateFlags.DESERIALIZED_FROM_BINARY & messageArrayState), arr = module$contents$jspb_internal_adapters_getRawRepeatedFieldWithDefault(messageArray, messageArrayState, fieldNumber, isExtension), wasPresent = arr !== module$exports$jspb$internal.EMPTY_LIST_SENTINEL;
  if (constructedOrNotDeserialized || !wasPresent) {
    var originalArrayState = wasPresent ? (0,module$exports$jspb$internal_array_state.getArrayState)(arr) : 0, arrState = originalArrayState;
    if (!wasPresent || module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY & arrState || module$contents$jspb_internal_adapters_isFrozenByFlags(arrState, arr) || module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED & arrState && !(module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED & arrState)) {
      arr = module$contents$jspb$internal_operations_slice(arr), arrState = module$contents$jspb_internal_adapters_setFlagsForSlicedArray(arrState, messageArrayState), messageArrayState = module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, arr, isExtension);
    }
    arrState = module$contents$jspb_internal_adapters_setFlagsForRepeatedField(arrState, messageArrayState) & ~(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES);
    arrState = module$contents$jspb$internal_array_state_setFlagBitTo(arrState, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED, !isMessageArray);
    arrState = module$contents$jspb_internal_adapters_updateOwnedState(arrState, messageArrayState, !0);
    arrState !== originalArrayState && (0,module$exports$jspb$internal_array_state.setArrayState)(arr, arrState);
  }
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && ((0,goog.asserts.assert)((0,module$exports$jspb$internal_array_state.getArrayState)(arr) & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD), (0,goog.asserts.assert)(!((0,module$exports$jspb$internal_array_state.getArrayState)(arr) & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY)), (0,goog.asserts.assert)(!((0,module$exports$jspb$internal_array_state.getArrayState)(arr) & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED)));
  return arr;
}
jspb_internal_adapters.addToRepeatedFieldForBinary = function(messageArray, fieldNumber, value, isExtension) {
  var messageArrayState = module$contents$jspb$internal_array_state_getPossiblyUnconstructedMessageArrayState(messageArray);
  module$contents$jspb_internal_adapters_getRepeatedFieldInternalForBinary(messageArray, messageArrayState, fieldNumber, !1, isExtension).push(value);
};
jspb_internal_adapters.setOneofField = function(message, fieldNumber, oneof, value) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  if (value == null) {
    var oneofsCaseMap = module$contents$jspb_internal_adapters_getOneofsCaseMap(messageArray);
    if (module$contents$jspb_internal_adapters_computeOneofCaseInternal(oneofsCaseMap, messageArray, messageArrayState, oneof) === fieldNumber) {
      oneofsCaseMap.set(oneof, 0);
    } else {
      return message;
    }
  } else {
    messageArrayState = module$contents$jspb_internal_adapters_setOneofCaseNumber(messageArray, messageArrayState, oneof, fieldNumber);
  }
  module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, value);
  return message;
};
jspb_internal_adapters.setOneofFieldForBinary = function(messageArray, fieldNumber, oneof, value) {
  (0,goog.asserts.assertExists)(value);
  var messageArrayState = module$contents$jspb$internal_array_state_getPossiblyUnconstructedMessageArrayState(messageArray);
  messageArrayState = module$contents$jspb_internal_adapters_setOneofCaseNumber(messageArray, messageArrayState, oneof, fieldNumber);
  module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, value);
};
jspb_internal_adapters.isOneofCase = function(message, oneof, fieldNumber) {
  return jspb_internal_adapters.computeOneofCase(message, oneof) === fieldNumber ? fieldNumber : -1;
};
jspb_internal_adapters.computeOneofCase = function(message, oneof) {
  var messageArray = message.internalArray_;
  return module$contents$jspb_internal_adapters_computeOneofCaseInternal(module$contents$jspb_internal_adapters_getOneofsCaseMap(messageArray), messageArray, (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray), oneof);
};
function module$contents$jspb_internal_adapters_getOneofsCaseMap(internalArray) {
  if (module$exports$jspb$internal_symbols.HAS_NATIVE_SYMBOL) {
    var $jscomp$logical$assign$tmpindex557442040$0, $jscomp$nullish$tmp16;
    return ($jscomp$nullish$tmp16 = internalArray[$jscomp$logical$assign$tmpindex557442040$0 = module$exports$jspb$internal_symbols.ONEOF_ARRAY_SYMBOL]) != null ? $jscomp$nullish$tmp16 : internalArray[$jscomp$logical$assign$tmpindex557442040$0] = new Map();
  }
  if (module$exports$jspb$internal_symbols.ONEOF_ARRAY_SYMBOL in internalArray) {
    return (0,goog.asserts.assertInstanceof)(internalArray[module$exports$jspb$internal_symbols.ONEOF_ARRAY_SYMBOL], Map);
  }
  var oneofsSet = new Map();
  Object.defineProperty(internalArray, module$exports$jspb$internal_symbols.ONEOF_ARRAY_SYMBOL, {value:oneofsSet});
  return oneofsSet;
}
function module$contents$jspb_internal_adapters_setOneofCaseNumber(messageArray, messageArrayState, oneof, fieldNumber) {
  (0,goog.asserts.assert)(oneof.includes(fieldNumber));
  var oneofsCaseMap = module$contents$jspb_internal_adapters_getOneofsCaseMap(messageArray), oneofCase = module$contents$jspb_internal_adapters_computeOneofCaseInternal(oneofsCaseMap, messageArray, messageArrayState, oneof);
  oneofCase !== fieldNumber && (oneofCase && (messageArrayState = module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, oneofCase, void 0)), oneofsCaseMap.set(oneof, fieldNumber));
  return messageArrayState;
}
function module$contents$jspb_internal_adapters_computeOneofCaseInternal(oneofsCaseMap, messageArray, messageArrayState, oneof) {
  var caseNumber = oneofsCaseMap.get(oneof);
  if (caseNumber != null) {
    return caseNumber;
  }
  for (var i = caseNumber = 0; i < oneof.length; i++) {
    var fieldNumber = oneof[i];
    jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber) != null && (caseNumber !== 0 && (messageArrayState = module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, caseNumber, void 0)), caseNumber = fieldNumber);
  }
  oneofsCaseMap.set(oneof, caseNumber);
  return caseNumber;
}
jspb_internal_adapters.getMutableOneofWrapperField = function(message, ctor, fieldNumber, oneof) {
  var messageArray = message.internalArray_;
  module$contents$jspb_internal_adapters_setOneofCaseNumber(messageArray, (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray), oneof, fieldNumber);
  return jspb_internal_adapters.getMutableWrapperField(message, ctor, fieldNumber);
};
jspb_internal_adapters.getMutableWrapperField = function(message, ctor, fieldNumber, isExtension) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  var data = jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber, isExtension), submessage = module$contents$jspb$internal_immutability_messageToMutable(module$contents$jspb$internal_accessor_helpers_messageFromInlineStorage(data, ctor, !0, messageArrayState));
  data !== submessage && module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, submessage, isExtension);
  return submessage;
};
jspb_internal_adapters.getMutableOneofWrapperArrayForBinary = function(messageArray, messageMeta, fieldNumber, oneof) {
  var messageArrayState = (0,module$exports$jspb$internal_array_state.getArrayState)(messageArray);
  module$contents$jspb_internal_adapters_setOneofCaseNumber(messageArray, messageArrayState, oneof, fieldNumber);
  return jspb_internal_adapters.getMutableWrapperArrayForBinary(messageArray, messageMeta, fieldNumber);
};
jspb_internal_adapters.getMutableWrapperArrayForBinary = function(messageArray, messageMeta, fieldNumber, isExtension) {
  var messageArrayState = module$contents$jspb$internal_array_state_getPossiblyUnconstructedMessageArrayState(messageArray), data = jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber, isExtension);
  if (data != null && module$contents$jspb$internal_isMessage(data)) {
    var mutableMessage = module$contents$jspb$internal_immutability_messageToMutable(data);
    mutableMessage !== data && module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, mutableMessage, isExtension);
    return mutableMessage.internalArray_;
  }
  if (Array.isArray(data)) {
    var dataArrayState = (0,module$exports$jspb$internal_array_state.getArrayState)(data);
    var submessageArray = dataArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY ? module$contents$jspb$internal_construct_constructMessageArrayFromMetaForBinary(module$contents$jspb$internal_immutability_copyArrayWithImmutableFields(data, dataArrayState, !1), messageMeta, !0) : dataArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.CONSTRUCTED ? data : module$contents$jspb$internal_construct_constructMessageArrayFromMetaForBinary(submessageArray, 
    messageMeta, !0);
  } else {
    submessageArray = module$contents$jspb$internal_construct_constructMessageArrayFromMetaForBinary(void 0, messageMeta, !0);
  }
  submessageArray !== data && module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, submessageArray, isExtension);
  return submessageArray;
};
function module$contents$jspb_internal_adapters_getReadonlyWrapperFieldOrUndefined(message, ctor, fieldNumber, isExtension) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray), data = jspb_internal_adapters.getFieldNullableInternal(messageArray, messageArrayState, fieldNumber, isExtension), submsg = module$contents$jspb$internal_accessor_helpers_messageFromInlineStorage(data, ctor, !1, messageArrayState), isNewlyConstructed = submsg !== data && submsg != null;
  isNewlyConstructed && module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, submsg, isExtension);
  return module$contents$jspb_internal_adapters_assertMessageReturnedSafely(submsg, messageArray, isNewlyConstructed);
}
jspb_internal_adapters.getReadonlyWrapperField = function(message, ctor, fieldNumber, isExtension) {
  var value = module$contents$jspb_internal_adapters_getReadonlyWrapperFieldOrUndefined(message, ctor, fieldNumber, isExtension === void 0 ? !1 : isExtension);
  return value ? value : module$contents$jspb$internal_accessor_helpers_getDefaultImmutableInstance(ctor);
};
jspb_internal_adapters.getImmutableWrapperField = function(message, ctor, fieldNumber, isExtension) {
  var value = module$contents$jspb_internal_adapters_getReadonlyWrapperFieldOrUndefined(message, ctor, fieldNumber, isExtension === void 0 ? !1 : isExtension);
  if (value) {
    var msg = value, array = msg.internalArray_, arrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(array);
    var JSCompiler_inline_result = arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY ? msg : module$contents$jspb$internal_construct_internalConstructFromOwnedArray(msg.constructor, module$contents$jspb$internal_immutability_copyArrayWithImmutableFields(array, arrayState, !0));
    if (JSCompiler_inline_result !== value) {
      value = JSCompiler_inline_result;
      var messageArray = message.internalArray_;
      module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray), fieldNumber, JSCompiler_inline_result);
    }
    return value;
  }
  return module$contents$jspb$internal_accessor_helpers_getDefaultImmutableInstance(ctor);
};
jspb_internal_adapters.getWrapperFieldOrUndefined = function(message, ctor, fieldNumber, isExtension) {
  isExtension = isExtension === void 0 ? !1 : isExtension;
  var submessage = module$contents$jspb_internal_adapters_getReadonlyWrapperFieldOrUndefined(message, ctor, fieldNumber, isExtension);
  if (submessage == null) {
    return submessage;
  }
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  if (!(messageArrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY)) {
    var mutableSubmessage = module$contents$jspb$internal_immutability_messageToMutable(submessage);
    mutableSubmessage !== submessage && (submessage = mutableSubmessage, module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, submessage, isExtension));
  }
  return module$contents$jspb_internal_adapters_assertMessageReturnedSafely(submessage, messageArray, void 0);
};
jspb_internal_adapters.getReadonlyRepeatedWrapperField = function(message, ctor, fieldNumber, isExtension) {
  return module$contents$jspb_internal_adapters_getRepeatedWrapperFieldInternal(message, (0,module$exports$jspb$internal_array_state.getMessageArrayState)(message.internalArray_), ctor, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.FROZEN, isExtension);
};
function module$contents$jspb_internal_adapters_getRepeatedWrapperFieldInternal(message, messageArrayState$jscomp$0, ctor, fieldNumber, returnTypeForMutable, isExtension, doesntReturnArray, forceMutableValues) {
  var messageArray = message.internalArray_, amIImmutable = !!(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY & messageArrayState$jscomp$0), returnType = amIImmutable ? module$contents$jspb_internal_adapters_RepeatedArrayReturnType.FROZEN : returnTypeForMutable;
  doesntReturnArray = !!doesntReturnArray;
  forceMutableValues && (forceMutableValues = !amIImmutable);
  var data = module$contents$jspb_internal_adapters_getRawRepeatedFieldWithDefault(messageArray, messageArrayState$jscomp$0, fieldNumber, isExtension), valueState = (0,module$exports$jspb$internal_array_state.getArrayState)(data), wasApiFormatted = !!(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED & valueState);
  if (!wasApiFormatted) {
    valueState = module$contents$jspb_internal_adapters_setFlagsForRepeatedField(valueState, messageArrayState$jscomp$0);
    var data$jscomp$0 = data, dataState = valueState, messageArrayState = messageArrayState$jscomp$0, isImmutableArray = !!(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY & dataState);
    isImmutableArray && (messageArrayState |= module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY);
    for (var hasOnlyMutableValues = !isImmutableArray, hasOnlyImmutableValues = !0, readFrom = 0, writeTo = 0; readFrom < data$jscomp$0.length; readFrom++) {
      var msg = module$contents$jspb$internal_accessor_helpers_messageFromInlineStorage(data$jscomp$0[readFrom], ctor, !1, messageArrayState);
      if (msg instanceof ctor) {
        if (!isImmutableArray) {
          var isImmutable = module$contents$jspb$internal_isImmutableMessage(msg);
          hasOnlyMutableValues && (hasOnlyMutableValues = !isImmutable);
          hasOnlyImmutableValues && (hasOnlyImmutableValues = isImmutable);
        }
        data$jscomp$0[writeTo++] = msg;
      }
    }
    writeTo < readFrom && (data$jscomp$0.length = writeTo);
    dataState |= module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED;
    dataState = module$contents$jspb$internal_array_state_setFlagBitTo(dataState, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED, hasOnlyImmutableValues);
    dataState = module$contents$jspb$internal_array_state_setFlagBitTo(dataState, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES, hasOnlyMutableValues);
    (0,module$exports$jspb$internal_array_state.setArrayState)(data$jscomp$0, dataState);
    isImmutableArray && Object.freeze(data$jscomp$0);
    valueState = dataState;
  }
  if (forceMutableValues && !(module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES & valueState || !data.length && module$contents$jspb_internal_adapters_shouldReturnFrozen(returnType, valueState))) {
    module$contents$jspb_internal_adapters_isFrozenByFlags(valueState, data) && (data = module$contents$jspb$internal_operations_slice(data), valueState = module$contents$jspb_internal_adapters_setFlagsForSlicedArray(valueState, messageArrayState$jscomp$0), messageArrayState$jscomp$0 = module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState$jscomp$0, fieldNumber, data, isExtension));
    for (var data$jscomp$1 = data, state = valueState, i = 0; i < data$jscomp$1.length; i++) {
      var msg$jscomp$0 = data$jscomp$1[i], asMutable = module$contents$jspb$internal_immutability_messageToMutable(msg$jscomp$0);
      msg$jscomp$0 !== asMutable && (data$jscomp$1[i] = asMutable);
    }
    state |= module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES;
    state = module$contents$jspb$internal_array_state_setFlagBitTo(state, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED, !data$jscomp$1.length);
    (0,module$exports$jspb$internal_array_state.setArrayState)(data$jscomp$1, state);
    valueState = state;
  }
  var proxy;
  if (module$contents$jspb_internal_adapters_shouldReturnFrozen(returnType, valueState)) {
    if (!module$contents$jspb_internal_adapters_isFrozenByFlags(valueState, data)) {
      var existingState = valueState, wasOwned = !!(module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED & valueState);
      valueState |= !data.length || module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED & valueState && (!wasApiFormatted || wasOwned) ? module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY : module$exports$jspb$internal_array_state.ArrayStateFlags.FROZEN_ARRAY;
      valueState !== existingState && (0,module$exports$jspb$internal_array_state.setArrayState)(data, valueState);
      Object.freeze(data);
    }
  } else {
    var shouldAsyncThrow = module$contents$jspb_internal_adapters_shouldAsyncThrowOnMutation(returnType, valueState, data);
    (returnType === module$contents$jspb_internal_adapters_RepeatedArrayReturnType.UNFROZEN || shouldAsyncThrow) && module$contents$jspb_internal_adapters_isFrozenByFlags(valueState, data) && (data = module$contents$jspb$internal_operations_slice(data), valueState = module$contents$jspb_internal_adapters_setFlagsForSlicedArray(valueState, messageArrayState$jscomp$0), valueState = module$contents$jspb_internal_adapters_updateOwnedState(valueState, messageArrayState$jscomp$0, doesntReturnArray), (0,module$exports$jspb$internal_array_state.setArrayState)(data, 
    valueState), messageArrayState$jscomp$0 = module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState$jscomp$0, fieldNumber, data, isExtension));
    if (!module$contents$jspb_internal_adapters_isFrozenByFlags(valueState, data)) {
      var existingState$jscomp$0 = valueState;
      valueState = module$contents$jspb_internal_adapters_updateOwnedState(valueState, messageArrayState$jscomp$0, doesntReturnArray);
      valueState !== existingState$jscomp$0 && (0,module$exports$jspb$internal_array_state.setArrayState)(data, valueState);
    }
    shouldAsyncThrow ? proxy = (0,module$exports$jspb$internal_array_proxy.setupAsyncThrowingArray)(data) : returnType !== module$contents$jspb_internal_adapters_RepeatedArrayReturnType.UNFROZEN || doesntReturnArray || (0,module$exports$jspb$internal_array_proxy.clearArrayProxy)(data);
  }
  if (!doesntReturnArray) {
    var arr = data, isNewlyConstructed = !wasApiFormatted, skipFrozenCheck = returnType === module$contents$jspb_internal_adapters_RepeatedArrayReturnType.UNFROZEN;
    skipFrozenCheck = skipFrozenCheck === void 0 ? !1 : skipFrozenCheck;
    if (module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS) {
      var isParentImmutable = module$contents$jspb$internal_array_state_isImmutableArray(messageArray), arrayImmutable = module$contents$jspb$internal_array_state_isImmutableArray(arr), frozenAndImmutable = Object.isFrozen(arr) && arrayImmutable;
      module$contents$jspb_internal_adapters_assertArrayReturnedSafely(arr, messageArray, skipFrozenCheck);
      if (isParentImmutable || arrayImmutable) {
        skipFrozenCheck ? (0,goog.asserts.assert)(arrayImmutable) : (0,goog.asserts.assert)(frozenAndImmutable);
      }
      (0,goog.asserts.assert)(module$contents$jspb$internal_array_state_isApiFormattedField(arr));
      if (arrayImmutable && arr.length) {
        var length = 1;
        module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && (length = arr.length);
        for (var i$jscomp$0 = 0; i$jscomp$0 < length; i$jscomp$0++) {
          module$contents$jspb_internal_adapters_assertMessageReturnedSafely(arr[i$jscomp$0], messageArray, isNewlyConstructed);
        }
      }
    }
  }
  return proxy || data;
}
jspb_internal_adapters.getReadonlyOneofWrapperField = function(message, ctor, fieldNumber, oneof) {
  return jspb_internal_adapters.getReadonlyWrapperField(message, ctor, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getRepeatedWrapperField = function(message, ctor, fieldNumber, returnTypeForMutable, isExtension) {
  var messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(message.internalArray_);
  return module$contents$jspb_internal_adapters_getRepeatedWrapperFieldInternal(message, messageArrayState, ctor, fieldNumber, returnTypeForMutable, isExtension, !1, !(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY & messageArrayState));
};
jspb_internal_adapters.setWrapperField = function(message, ctor, fieldNumber, value, isExtension) {
  value != null ? module$contents$jspb$internal_accessor_helpers_checkMessageType(value, (0,goog.asserts.assertExists)(ctor)) : value = void 0;
  return jspb_internal_adapters.setField(message, fieldNumber, value, isExtension);
};
jspb_internal_adapters.setOneofWrapperField = function(message, ctor, fieldNumber, oneof, value) {
  value != null ? module$contents$jspb$internal_accessor_helpers_checkMessageType(value, (0,goog.asserts.assertExists)(ctor)) : value = void 0;
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneof, value);
};
jspb_internal_adapters.setRepeatedWrapperField = function(message, ctor, fieldNumber, msgs, isExtension) {
  var messageArray = message.internalArray_, messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(messageArray);
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  if (msgs == null) {
    return module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, void 0, isExtension), message;
  }
  msgs = (0,module$exports$jspb$internal_array_proxy.getTargetArray)(msgs);
  module$contents$jspb$internal_accessor_helpers_checkRepeatedFieldIsArray(msgs);
  for (var valueState = (0,module$exports$jspb$internal_array_state.getArrayState)(msgs), existingState = valueState, frozenByUs = module$contents$jspb_internal_adapters_isFrozenByFlags(valueState, msgs), isFrozen = frozenByUs || Object.isFrozen(msgs), shouldSlice = !isFrozen && (!!isExtension || !0), hasOnlyMutableValues = !0, hasOnlyImmutableValues = !0, i = 0; i < msgs.length; i++) {
    var item = msgs[i];
    module$contents$jspb$internal_accessor_helpers_checkMessageType(item, (0,goog.asserts.assertExists)(ctor));
    if (!frozenByUs) {
      var isImmutable = module$contents$jspb$internal_isImmutableMessage(item);
      hasOnlyMutableValues && (hasOnlyMutableValues = !isImmutable);
      hasOnlyImmutableValues && (hasOnlyImmutableValues = isImmutable);
    }
  }
  frozenByUs || (valueState = module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED, valueState = module$contents$jspb$internal_array_state_setFlagBitTo(valueState, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES, hasOnlyMutableValues), valueState = module$contents$jspb$internal_array_state_setFlagBitTo(valueState, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED, 
  hasOnlyImmutableValues));
  if (shouldSlice || isFrozen && valueState !== existingState) {
    msgs = module$contents$jspb$internal_operations_slice(msgs), existingState = 0, valueState = module$contents$jspb_internal_adapters_setFlagsForSlicedArray(valueState, messageArrayState), valueState = module$contents$jspb_internal_adapters_updateOwnedState(valueState, messageArrayState, !0);
  }
  valueState !== existingState && (0,module$exports$jspb$internal_array_state.setArrayState)(msgs, valueState);
  module$contents$jspb$internal_assertArrayInvariants(msgs);
  module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, messageArrayState, fieldNumber, msgs, isExtension);
  return message;
};
function module$contents$jspb_internal_adapters_setFlagsForSlicedArray(state, parentState) {
  state = module$contents$jspb$internal_array_state_setFlagBitTo(state, module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY, !!(module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY & parentState));
  state |= module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED;
  return state &= ~module$exports$jspb$internal_array_state.ArrayStateFlags.FROZEN_ARRAY;
}
function module$contents$jspb_internal_adapters_updateOwnedState(state, parentState, doesntReturnArray) {
  module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED & parentState && doesntReturnArray || (state &= ~module$exports$jspb$internal_array_state.ArrayStateFlags.MUTABLE_REFERENCES_ARE_OWNED);
  return state;
}
function module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, checkFn, value, index, coercionFn, isExtension, deleteCount, isSpreadable, removeOnly) {
  var messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(message.internalArray_);
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  var arr = module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, coercionFn, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.UNFROZEN, isExtension, !0), arrState = (0,module$exports$jspb$internal_array_state.getArrayState)(arr), $jscomp$nullish$tmp17, currentFormat = ($jscomp$nullish$tmp17 = module$contents$jspb$internal_array_state_getTypeSpecificApiFormat(arrState)) != null ? $jscomp$nullish$tmp17 : module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY;
  if (isSpreadable) {
    if (Array.isArray(value)) {
      value = (0,module$exports$jspb$internal_array_proxy.getTargetArray)(value);
      for (var length = value.length, i = 0; i < length; i++) {
        arr.push(checkFn(value[i], currentFormat));
      }
    } else {
      for (var $jscomp$iter$69 = (0,$jscomp.makeIterator)(value), $jscomp$key$557442040$2$v = $jscomp$iter$69.next(); !$jscomp$key$557442040$2$v.done; $jscomp$key$557442040$2$v = $jscomp$iter$69.next()) {
        arr.push(checkFn($jscomp$key$557442040$2$v.value, currentFormat));
      }
    }
  } else {
    deleteCount && (0,goog.asserts.assert)(deleteCount === 1), deleteCount && removeOnly ? (index != null || (index = arr.length - 1), module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(arr, index), arr.splice(index, deleteCount)) : (deleteCount && module$contents$jspb$internal_checkRepeatedIndexInRangeForSet(arr, index), index != void 0 ? arr.splice(index, deleteCount, checkFn(value, currentFormat)) : arr.push(checkFn(value, currentFormat)));
  }
  module$contents$jspb$internal_assertRepeated64BitIntegerFieldApiFormattingInvariants(arr);
  return message;
}
function module$contents$jspb_internal_adapters_spliceRepeatedWrapperField(message, fieldNumber, ctor, value, index, isExtension, deleteCount, removeOnly) {
  var messageArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(message.internalArray_);
  module$contents$jspb$internal_checkNotImmutableState(messageArrayState);
  var msgs = module$contents$jspb_internal_adapters_getRepeatedWrapperFieldInternal(message, messageArrayState, ctor, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.UNFROZEN, isExtension, !0);
  deleteCount && (0,goog.asserts.assert)(deleteCount === 1);
  if (deleteCount && removeOnly) {
    index != null || (index = msgs.length - 1), module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(msgs, index), msgs.splice(index, deleteCount);
  } else {
    return deleteCount ? (module$contents$jspb$internal_checkRepeatedIndexInRangeForSet(msgs, index), module$contents$jspb$internal_accessor_helpers_checkMessageType(value, ctor)) : value = value != null ? module$contents$jspb$internal_accessor_helpers_checkMessageType(value, ctor) : new ctor(), index != void 0 ? msgs.splice(index, deleteCount, value) : msgs.push(value), module$contents$jspb$internal_isImmutableMessage(value) ? (0,module$exports$jspb$internal_array_state.clearFlags)(msgs, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES) : 
    (0,module$exports$jspb$internal_array_state.clearFlags)(msgs, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED), value;
  }
}
jspb_internal_adapters.addRepeatedWrapperArrayForBinary = function(messageArray, fieldNumber, value, isExtension) {
  var messageArrayState = module$contents$jspb$internal_array_state_getPossiblyUnconstructedMessageArrayState(messageArray);
  module$contents$jspb_internal_adapters_getRepeatedFieldInternalForBinary(messageArray, messageArrayState, fieldNumber, !0, isExtension).push(value);
};
jspb_internal_adapters.addAndReturnRepeatedWrapperField = function(message, fieldNumber, ctor, value, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedWrapperField(message, fieldNumber, ctor, value, index, isExtension);
};
jspb_internal_adapters.addToRepeatedWrapperField = function(message, fieldNumber, ctor, value, index, isExtension) {
  jspb_internal_adapters.addAndReturnRepeatedWrapperField(message, fieldNumber, ctor, value, index, isExtension);
  return message;
};
jspb_internal_adapters.removeFromRepeatedWrapperField = function(message, fieldNumber, ctor, index, isExtension) {
  module$contents$jspb_internal_adapters_spliceRepeatedWrapperField(message, fieldNumber, ctor, void 0, index, isExtension, 1, !0);
  return message;
};
jspb_internal_adapters.addAllToRepeatedWrapperField = function(message, fieldNumber, ctor, values) {
  var parentArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(message.internalArray_);
  module$contents$jspb$internal_checkNotImmutableState(parentArrayState);
  var msgs = module$contents$jspb_internal_adapters_getRepeatedWrapperFieldInternal(message, parentArrayState, ctor, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.UNFROZEN, !1, !0), clearedOnlyMutable = 0, clearedOnlyImmutable = 0;
  if (Array.isArray(values)) {
    values = (0,module$exports$jspb$internal_array_proxy.getTargetArray)(values);
    for (var length = values.length, i = 0; i < length; i++) {
      var insertedValue = module$contents$jspb$internal_accessor_helpers_checkMessageType(values[i], ctor);
      msgs.push(insertedValue);
      var valueIsImmutable = module$contents$jspb$internal_isImmutableMessage(insertedValue);
      valueIsImmutable && !clearedOnlyMutable++ && (0,module$exports$jspb$internal_array_state.clearFlags)(msgs, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES);
      valueIsImmutable || clearedOnlyImmutable++ || (0,module$exports$jspb$internal_array_state.clearFlags)(msgs, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED);
    }
  } else {
    for (var $jscomp$iter$70 = (0,$jscomp.makeIterator)(values), $jscomp$key$557442040$3$value = $jscomp$iter$70.next(); !$jscomp$key$557442040$3$value.done; $jscomp$key$557442040$3$value = $jscomp$iter$70.next()) {
      var insertedValue$jscomp$0 = module$contents$jspb$internal_accessor_helpers_checkMessageType($jscomp$key$557442040$3$value.value, ctor);
      msgs.push(insertedValue$jscomp$0);
      var valueIsImmutable$jscomp$0 = module$contents$jspb$internal_isImmutableMessage(insertedValue$jscomp$0);
      valueIsImmutable$jscomp$0 && !clearedOnlyMutable++ && (0,module$exports$jspb$internal_array_state.clearFlags)(msgs, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_MUTABLE_VALUES);
      valueIsImmutable$jscomp$0 || clearedOnlyImmutable++ || (0,module$exports$jspb$internal_array_state.clearFlags)(msgs, module$exports$jspb$internal_array_state.ArrayStateFlags.ONLY_IMMUTABLE_VALUES_IF_OWNED);
    }
  }
  return message;
};
jspb_internal_adapters.getInt64FieldNullable = function(message, fieldNumber, isExtension) {
  var value = module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension));
  module$contents$jspb_internal_adapters_asyncThrowIf64BitIntReturnTypeMismatches(message, value, !1);
  return value;
};
jspb_internal_adapters.getInt64FieldNullable_asString = function(message, fieldNumber, isExtension) {
  return module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64String(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension), !0);
};
jspb_internal_adapters.getInt64StringFieldNullable = function(message, fieldNumber, isExtension) {
  var value = module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64String(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension));
  module$contents$jspb_internal_adapters_asyncThrowIf64BitIntReturnTypeMismatches(message, value, !0);
  return value;
};
jspb_internal_adapters.getInt64GbigintFieldNullable = function(message, fieldNumber, isExtension) {
  return module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64Gbigint(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension));
};
jspb_internal_adapters.getUint64FieldNullable = function(message, fieldNumber, isExtension) {
  var value = module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension));
  module$contents$jspb_internal_adapters_asyncThrowIf64BitIntReturnTypeMismatches(message, value, !1);
  return value;
};
jspb_internal_adapters.getUint64FieldNullable_asString = function(message, fieldNumber, isExtension) {
  return module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64String(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension), !0);
};
jspb_internal_adapters.getUint64StringFieldNullable = function(message, fieldNumber, isExtension) {
  var value = module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64String(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension));
  module$contents$jspb_internal_adapters_asyncThrowIf64BitIntReturnTypeMismatches(message, value, !0);
  return value;
};
jspb_internal_adapters.getUint64GbigintFieldNullable = function(message, fieldNumber, isExtension) {
  return module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64Gbigint(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension));
};
jspb_internal_adapters.getRepeatedInt64Field = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  var value = module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64, returnType, isExtension, doesntReturnArray, module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY);
  doesntReturnArray || module$contents$jspb_internal_adapters_asyncThrowIfRepeated64BitIntReturnTypeMismatches(message, value, !1);
  return value;
};
jspb_internal_adapters.getRepeatedInt64GbigintField = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  return module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64Gbigint, returnType, isExtension, doesntReturnArray, module$exports$jspb$internal_array_state.TypeSpecificApiFormat.GBIGINT);
};
function module$contents$jspb_internal_adapters_coerceToNullishInt64StringWithForcedTypeChecking(value) {
  return module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64String(value, !0);
}
jspb_internal_adapters.getRepeatedInt64Field_asString = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  return module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb_internal_adapters_coerceToNullishInt64StringWithForcedTypeChecking, returnType, isExtension, doesntReturnArray, module$exports$jspb$internal_array_state.TypeSpecificApiFormat.STRING);
};
jspb_internal_adapters.getRepeatedInt64StringField = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  var value = module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64String, returnType, isExtension, doesntReturnArray, module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY);
  doesntReturnArray || module$contents$jspb_internal_adapters_asyncThrowIfRepeated64BitIntReturnTypeMismatches(message, value, !0);
  return value;
};
jspb_internal_adapters.getRepeatedUint64Field = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  var value = module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64, returnType, isExtension, doesntReturnArray, module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY);
  doesntReturnArray || module$contents$jspb_internal_adapters_asyncThrowIfRepeated64BitIntReturnTypeMismatches(message, value, !1);
  return value;
};
function module$contents$jspb_internal_adapters_coerceToNullishUint64StringWithForcedTypeChecking(value) {
  return module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64String(value, !0);
}
jspb_internal_adapters.getRepeatedUint64Field_asString = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  return module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb_internal_adapters_coerceToNullishUint64StringWithForcedTypeChecking, returnType, isExtension, doesntReturnArray, module$exports$jspb$internal_array_state.TypeSpecificApiFormat.STRING);
};
jspb_internal_adapters.getRepeatedUint64GbigintField = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  return module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64Gbigint, returnType, isExtension, doesntReturnArray, module$exports$jspb$internal_array_state.TypeSpecificApiFormat.GBIGINT);
};
jspb_internal_adapters.getRepeatedUint64StringField = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  var value = module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64String, returnType, isExtension, doesntReturnArray, module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY);
  doesntReturnArray || module$contents$jspb_internal_adapters_asyncThrowIfRepeated64BitIntReturnTypeMismatches(message, value, !0);
  return value;
};
function module$contents$jspb_internal_adapters_orDefault(value, defaultValue) {
  return value != null ? value : defaultValue;
}
function module$contents$jspb_internal_adapters_checkBytes(value) {
  return module$contents$jspb$internal_bytesAsByteString(value, !1, !1, !1);
}
jspb_internal_adapters.getRepeatedInt64StringField_asString = jspb_internal_adapters.getRepeatedInt64Field_asString;
jspb_internal_adapters.getRepeatedUint64StringField_asString = jspb_internal_adapters.getRepeatedUint64Field_asString;
jspb_internal_adapters.getBooleanFieldNullable = function(message, fieldNumber, isExtension) {
  return module$contents$jspb$internal_accessor_helpers_coerceToNullishBoolean(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension));
};
jspb_internal_adapters.getInt32FieldNullable = function(message, fieldNumber, isExtension) {
  return module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension));
};
jspb_internal_adapters.getUint32FieldNullable = function(message, fieldNumber, isExtension) {
  return module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension));
};
jspb_internal_adapters.getStringFieldNullable = function(message, fieldNumber, isExtension) {
  return module$contents$jspb$internal_accessor_helpers_coerceToNullishString(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension));
};
jspb_internal_adapters.getEnumFieldNullable = function(message, fieldNumber, isExtension) {
  return module$contents$jspb$internal_accessor_helpers_coerceToNullishEnum(jspb_internal_adapters.getFieldNullable(message, fieldNumber, isExtension));
};
jspb_internal_adapters.getBooleanFieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? !1 : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getBooleanFieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getInt32FieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? 0 : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getInt32FieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getUint32FieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? 0 : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getUint32FieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getInt64FieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? 0 : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getInt64FieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getUint64FieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? 0 : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getUint64FieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getInt64StringFieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? "0" : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getInt64StringFieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getUint64StringFieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? "0" : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getUint64StringFieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getInt64GbigintFieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? module$contents$jspb_internal_adapters_GBIGINT_ZERO : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getInt64GbigintFieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getUint64GbigintFieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? module$contents$jspb_internal_adapters_GBIGINT_ZERO : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getUint64GbigintFieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getFloatingPointFieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? 0 : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getFloatingPointFieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getStringFieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? "" : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getStringFieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getEnumFieldWithDefault = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? 0 : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getEnumFieldNullable(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getInt64FieldWithDefault_asString = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? "0" : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getInt64FieldNullable_asString(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getUint64FieldWithDefault_asString = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? "0" : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getUint64FieldNullable_asString(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getInt64StringFieldWithDefault_asString = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? "0" : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getInt64FieldNullable_asString(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getUint64StringFieldWithDefault_asString = function(message, fieldNumber, defaultValue, isExtension) {
  defaultValue = defaultValue === void 0 ? "0" : defaultValue;
  return module$contents$jspb_internal_adapters_orDefault(jspb_internal_adapters.getUint64FieldNullable_asString(message, fieldNumber, isExtension), defaultValue);
};
jspb_internal_adapters.getRepeatedBooleanField = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  return module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_coerceToNullishBoolean, returnType, isExtension, doesntReturnArray);
};
jspb_internal_adapters.getRepeatedIndexedBooleanField = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedBooleanField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedBooleanCount = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.getRepeatedBooleanField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0).length;
};
jspb_internal_adapters.getRepeatedInt32Field = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  return module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32, returnType, isExtension, doesntReturnArray);
};
jspb_internal_adapters.getRepeatedIndexedInt32Field = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedInt32Field(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedInt32Count = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.getRepeatedInt32Field(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0).length;
};
jspb_internal_adapters.getRepeatedUint32Field = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  return module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32, returnType, isExtension, doesntReturnArray);
};
jspb_internal_adapters.getRepeatedIndexedUint32Field = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedUint32Field(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedUint32Count = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.getRepeatedUint32Field(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0).length;
};
jspb_internal_adapters.getRepeatedIndexedInt64Field = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedInt64Field(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedInt64Count = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.getRepeatedInt64Field(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0).length;
};
jspb_internal_adapters.getRepeatedIndexedUint64Field = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedUint64Field(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedUint64Count = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.getRepeatedUint64Field(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0).length;
};
jspb_internal_adapters.getRepeatedIndexedInt64StringField = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedInt64StringField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedInt64StringCount = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.getRepeatedInt64StringField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0).length;
};
jspb_internal_adapters.getRepeatedIndexedUint64StringField = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedUint64StringField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedUint64StringCount = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.getRepeatedUint64StringField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0).length;
};
jspb_internal_adapters.getRepeatedIndexedInt64GbigintField = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedInt64GbigintField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedIndexedUint64GbigintField = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedUint64GbigintField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedFloatingPointField = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  return module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint, returnType, isExtension, doesntReturnArray);
};
jspb_internal_adapters.getRepeatedIndexedFloatingPointField = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedFloatingPointField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedFloatingPointCount = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.getRepeatedFloatingPointField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0).length;
};
jspb_internal_adapters.getRepeatedStringField = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  return module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_coerceToNullishString, returnType, isExtension, doesntReturnArray);
};
jspb_internal_adapters.getRepeatedIndexedStringField = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedStringField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedStringCount = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.getRepeatedStringField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0).length;
};
jspb_internal_adapters.getRepeatedBytesField = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  return module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb_internal_adapters_coerceToNullishBytes, returnType, isExtension, doesntReturnArray);
};
jspb_internal_adapters.getRepeatedIndexedBytesField = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedBytesField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedBytesCount = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.getRepeatedBytesField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0).length;
};
jspb_internal_adapters.getRepeatedEnumField = function(message, fieldNumber, returnType, isExtension, doesntReturnArray) {
  return module$contents$jspb_internal_adapters_getApiFormattedRepeatedField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_coerceToNullishEnum, returnType, isExtension, doesntReturnArray);
};
jspb_internal_adapters.getRepeatedIndexedEnumField = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedEnumField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedEnumCount = function(message, fieldNumber, isExtension) {
  return jspb_internal_adapters.getRepeatedEnumField(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0).length;
};
jspb_internal_adapters.getRepeatedIndexedInt64Field_asString = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedInt64Field_asString(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedIndexedUint64Field_asString = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedUint64Field_asString(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedIndexedInt64StringField_asString = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedInt64Field_asString(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getRepeatedIndexedUint64StringField_asString = function(message, fieldNumber, index, isExtension) {
  var data = jspb_internal_adapters.getRepeatedUint64Field_asString(message, fieldNumber, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN, isExtension, !0);
  module$contents$jspb$internal_checkRepeatedIndexInRangeForGet(data, index);
  return data[index];
};
jspb_internal_adapters.getOneofBooleanFieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getBooleanFieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofInt32FieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getInt32FieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofUint32FieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getUint32FieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofInt64FieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getInt64FieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofInt64FieldWithDefault_asString = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getInt64FieldWithDefault_asString(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofUint64FieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getUint64FieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofUint64FieldWithDefault_asString = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getUint64FieldWithDefault_asString(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofInt64StringFieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getInt64StringFieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofInt64StringFieldWithDefault_asString = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getInt64FieldWithDefault_asString(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofUint64StringFieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getUint64StringFieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofUint64StringFieldWithDefault_asString = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getUint64FieldWithDefault_asString(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofInt64GbigintFieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getInt64GbigintFieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofUint64GbigintFieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getUint64GbigintFieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofFloatingPointFieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getFloatingPointFieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofStringFieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getStringFieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofBytesFieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getBytesFieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofEnumFieldWithDefault = function(message, fieldNumber, oneof, defaultValue) {
  return jspb_internal_adapters.getEnumFieldWithDefault(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber), defaultValue);
};
jspb_internal_adapters.getOneofFieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getFieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofBooleanFieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getBooleanFieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofInt32FieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getInt32FieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofUint32FieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getUint32FieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofInt64FieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getInt64FieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofInt64FieldNullable_asString = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getInt64FieldNullable_asString(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofUint64FieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getUint64FieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofUint64FieldNullable_asString = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getUint64FieldNullable_asString(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofInt64StringFieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getInt64StringFieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofInt64StringFieldNullable_asString = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getInt64FieldNullable_asString(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofUint64StringFieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getUint64StringFieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofUint64StringFieldNullable_asString = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getUint64FieldNullable_asString(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofInt64GbigintFieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getInt64GbigintFieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofUint64GbigintFieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getUint64GbigintFieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofFloatingPointFieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getFloatingPointFieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofStringFieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getStringFieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofBytesFieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getBytesFieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofWrapperFieldOrUndefined = function(message, ctor, fieldNumber, oneof) {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(message, ctor, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofEnumFieldNullable = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getEnumFieldNullable(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofFieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getFieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofBooleanFieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getBooleanFieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofInt32FieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getInt32FieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofUint32FieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getUint32FieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofInt64FieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getInt64FieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofInt64FieldOrUndefined_asString = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getInt64FieldOrUndefined_asString(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofUint64FieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getUint64FieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofUint64FieldOrUndefined_asString = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getUint64FieldOrUndefined_asString(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofInt64StringFieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getInt64StringFieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofInt64StringFieldOrUndefined_asString = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getInt64FieldOrUndefined_asString(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofUint64StringFieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getUint64StringFieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofUint64StringFieldOrUndefined_asString = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getUint64FieldOrUndefined_asString(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofInt64GbigintFieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getInt64GbigintFieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofUint64GbigintFieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getUint64GbigintFieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofFloatingPointFieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getFloatingPointFieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofStringFieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getStringFieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofBytesFieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getBytesFieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getOneofEnumFieldOrUndefined = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getEnumFieldOrUndefined(message, jspb_internal_adapters.isOneofCase(message, oneof, fieldNumber));
};
jspb_internal_adapters.getFieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getFieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getBooleanFieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getBooleanFieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getInt32FieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getInt32FieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getUint32FieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getUint32FieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getInt64FieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getInt64FieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getUint64FieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getUint64FieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getInt64StringFieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getInt64StringFieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getUint64StringFieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getUint64StringFieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getInt64GbigintFieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getInt64GbigintFieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getUint64GbigintFieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getUint64GbigintFieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getFloatingPointFieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getFloatingPointFieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getStringFieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getStringFieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getBytesFieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getBytesFieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getEnumFieldOrUndefined = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getEnumFieldNullable(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getInt64FieldOrUndefined_asString = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getInt64FieldNullable_asString(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getUint64FieldOrUndefined_asString = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getUint64FieldNullable_asString(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getInt64StringFieldOrUndefined_asString = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getInt64FieldNullable_asString(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.getUint64StringFieldOrUndefined_asString = function(message, fieldNumber) {
  var value = jspb_internal_adapters.getUint64FieldNullable_asString(message, fieldNumber);
  return value == null ? void 0 : value;
};
jspb_internal_adapters.setBooleanField = function(message, fieldNumber, value, isExtension) {
  return jspb_internal_adapters.setField(message, fieldNumber, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkBoolean(value), isExtension);
};
jspb_internal_adapters.setProto3BooleanField = function(message, fieldNumber, value) {
  return module$contents$jspb_internal_adapters_setFieldIgnoringDefault(message, fieldNumber, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkBoolean(value), !1);
};
jspb_internal_adapters.setOneofBooleanField = function(message, fieldNumber, oneof, value) {
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneof, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkBoolean(value));
};
jspb_internal_adapters.setInt32Field = function(message, fieldNumber, value, isExtension) {
  return jspb_internal_adapters.setField(message, fieldNumber, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkInt32(value), isExtension);
};
jspb_internal_adapters.setProto3Int32Field = function(message, fieldNumber, value) {
  return module$contents$jspb_internal_adapters_setFieldIgnoringDefault(message, fieldNumber, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkInt32(value), 0);
};
jspb_internal_adapters.setOneofInt32Field = function(message, fieldNumber, oneof, value) {
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneof, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkInt32(value));
};
jspb_internal_adapters.setUint32Field = function(message, fieldNumber, value, isExtension) {
  return jspb_internal_adapters.setField(message, fieldNumber, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkUint32(value), isExtension);
};
jspb_internal_adapters.setProto3Uint32Field = function(message, fieldNumber, value) {
  return module$contents$jspb_internal_adapters_setFieldIgnoringDefault(message, fieldNumber, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkUint32(value), 0);
};
jspb_internal_adapters.setOneofUint32Field = function(message, fieldNumber, oneof, value) {
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneof, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkUint32(value));
};
jspb_internal_adapters.setInt64Field = function(message, fieldNumber, value, isExtension, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return jspb_internal_adapters.setField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkNullishInt64(value, requestedFormat), isExtension);
};
jspb_internal_adapters.setProto3Int64Field = function(message, fieldNumber, value, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return module$contents$jspb_internal_adapters_setFieldIgnoringDefault(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkNullishInt64(value, requestedFormat), "0");
};
jspb_internal_adapters.setOneofInt64Field = function(message, fieldNumber, oneof, value, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneof, module$contents$jspb$internal_accessor_helpers_checkNullishInt64(value, requestedFormat));
};
jspb_internal_adapters.setUint64Field = function(message, fieldNumber, value, isExtension, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return jspb_internal_adapters.setField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkNullishUint64(value, requestedFormat), isExtension);
};
jspb_internal_adapters.setProto3Uint64Field = function(message, fieldNumber, value, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return module$contents$jspb_internal_adapters_setFieldIgnoringDefault(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkNullishUint64(value, requestedFormat), "0");
};
jspb_internal_adapters.setOneofUint64Field = function(message, fieldNumber, oneof, value, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneof, module$contents$jspb$internal_accessor_helpers_checkNullishUint64(value, requestedFormat));
};
jspb_internal_adapters.setInt64StringField = function(message, fieldNumber, value, isExtension, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return jspb_internal_adapters.setField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkNullishInt64(value, requestedFormat), isExtension);
};
jspb_internal_adapters.setProto3Int64StringField = function(message, fieldNumber, value, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return module$contents$jspb_internal_adapters_setFieldIgnoringDefault(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkNullishInt64(value, requestedFormat), "0");
};
jspb_internal_adapters.setOneofInt64StringField = function(message, fieldNumber, oneof, value, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneof, module$contents$jspb$internal_accessor_helpers_checkNullishInt64(value, requestedFormat));
};
jspb_internal_adapters.setUint64StringField = function(message, fieldNumber, value, isExtension, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return jspb_internal_adapters.setField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkNullishUint64(value, requestedFormat), isExtension);
};
jspb_internal_adapters.setProto3Uint64StringField = function(message, fieldNumber, value, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return module$contents$jspb_internal_adapters_setFieldIgnoringDefault(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkNullishUint64(value, requestedFormat), "0");
};
jspb_internal_adapters.setOneofUint64StringField = function(message, fieldNumber, oneof, value, requestedFormat) {
  requestedFormat = requestedFormat === void 0 ? module$exports$jspb$internal_array_state.TypeSpecificApiFormat.LEGACY : requestedFormat;
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneof, module$contents$jspb$internal_accessor_helpers_checkNullishUint64(value, requestedFormat));
};
jspb_internal_adapters.setFloatingPointField = function(message, fieldNumber, value, isExtension) {
  return jspb_internal_adapters.setField(message, fieldNumber, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkFloatingPoint(value), isExtension);
};
jspb_internal_adapters.setProto3FloatingPointField = function(message, fieldNumber, value) {
  return module$contents$jspb_internal_adapters_setFieldIgnoringDefault(message, fieldNumber, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkFloatingPoint(value), 0);
};
jspb_internal_adapters.setOneofFloatingPointField = function(message, fieldNumber, oneof, value) {
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneof, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkFloatingPoint(value));
};
jspb_internal_adapters.setStringField = function(message, fieldNumber, value, isExtension) {
  return jspb_internal_adapters.setField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkNullishString(value), isExtension);
};
jspb_internal_adapters.setProto3StringField = function(message, fieldNumber, value) {
  return module$contents$jspb_internal_adapters_setFieldIgnoringDefault(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkNullishString(value), "");
};
jspb_internal_adapters.setOneofStringField = function(message, fieldNumber, oneof, value) {
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneof, module$contents$jspb$internal_accessor_helpers_checkNullishString(value));
};
jspb_internal_adapters.setBytesField = function(message, fieldNumber, value, isExtension) {
  return jspb_internal_adapters.setField(message, fieldNumber, module$contents$jspb$internal_bytesAsByteString(value, !1, !0, !1), isExtension);
};
jspb_internal_adapters.setProto3BytesField = function(message, fieldNumber, value) {
  return module$contents$jspb_internal_adapters_setFieldIgnoringDefault(message, fieldNumber, module$contents$jspb$internal_bytesAsByteString(value, !1, !0, !1), module$exports$jspb$bytestring.ByteString.empty());
};
jspb_internal_adapters.setOneofBytesField = function(message, fieldNumber, oneof, value) {
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneof, module$contents$jspb$internal_bytesAsByteString(value, !1, !0, !1));
};
jspb_internal_adapters.setEnumField = function(message, fieldNumber, value, isExtension) {
  return jspb_internal_adapters.setField(message, fieldNumber, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkEnum(value), isExtension);
};
jspb_internal_adapters.setProto3EnumField = function(message, fieldNumber, value) {
  return module$contents$jspb_internal_adapters_setFieldIgnoringDefault(message, fieldNumber, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkEnum(value), 0);
};
jspb_internal_adapters.setOneofEnumField = function(message, fieldNumber, oneof, value) {
  return jspb_internal_adapters.setOneofField(message, fieldNumber, oneof, value == null ? value : module$contents$jspb$internal_accessor_helpers_checkEnum(value));
};
jspb_internal_adapters.setRepeatedBooleanField = function(message, fieldNumber, value, isExtension) {
  return module$contents$jspb_internal_adapters_setRepeatedPrimitiveField(message, fieldNumber, value, module$contents$jspb$internal_accessor_helpers_checkBoolean, isExtension);
};
jspb_internal_adapters.addToRepeatedBooleanField = function(message, fieldNumber, value, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkBoolean, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishBoolean, isExtension);
};
jspb_internal_adapters.removeFromRepeatedBooleanField = function(message, fieldNumber, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkBoolean, void 0, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishBoolean, isExtension, 1, !1, !0);
};
jspb_internal_adapters.addAllToRepeatedBooleanField = function(message, fieldNumber, values) {
  return module$contents$jspb_internal_adapters_addAllToRepeatedFieldImpl(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkBoolean, values, module$contents$jspb$internal_accessor_helpers_coerceToNullishBoolean);
};
jspb_internal_adapters.setRepeatedIndexedBooleanField = function(message, fieldNumber, index, value, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkBoolean, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishBoolean, isExtension, 1);
};
jspb_internal_adapters.setRepeatedInt32Field = function(message, fieldNumber, value, isExtension) {
  return module$contents$jspb_internal_adapters_setRepeatedPrimitiveField(message, fieldNumber, value, module$contents$jspb$internal_accessor_helpers_checkInt32, isExtension);
};
jspb_internal_adapters.addToRepeatedInt32Field = function(message, fieldNumber, value, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkInt32, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32, isExtension);
};
jspb_internal_adapters.removeFromRepeatedInt32Field = function(message, fieldNumber, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkInt32, void 0, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32, isExtension, 1, !1, !0);
};
jspb_internal_adapters.addAllToRepeatedInt32Field = function(message, fieldNumber, values) {
  return module$contents$jspb_internal_adapters_addAllToRepeatedFieldImpl(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkInt32, values, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32);
};
jspb_internal_adapters.setRepeatedIndexedInt32Field = function(message, fieldNumber, index, value, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkInt32, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32, isExtension, 1);
};
jspb_internal_adapters.setRepeatedUint32Field = function(message, fieldNumber, value, isExtension) {
  return module$contents$jspb_internal_adapters_setRepeatedPrimitiveField(message, fieldNumber, value, module$contents$jspb$internal_accessor_helpers_checkUint32, isExtension);
};
jspb_internal_adapters.addToRepeatedUint32Field = function(message, fieldNumber, value, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkUint32, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32, isExtension);
};
jspb_internal_adapters.removeFromRepeatedUint32Field = function(message, fieldNumber, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkUint32, void 0, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32, isExtension, 1, !1, !0);
};
jspb_internal_adapters.addAllToRepeatedUint32Field = function(message, fieldNumber, values) {
  return module$contents$jspb_internal_adapters_addAllToRepeatedFieldImpl(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkUint32, values, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32);
};
jspb_internal_adapters.setRepeatedIndexedUint32Field = function(message, fieldNumber, index, value, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkUint32, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32, isExtension, 1);
};
jspb_internal_adapters.setRepeatedInt64Field = function(message, fieldNumber, value, isExtension) {
  return module$contents$jspb_internal_adapters_setRepeatedPrimitiveField(message, fieldNumber, value, module$contents$jspb$internal_accessor_helpers_checkInt64, isExtension);
};
jspb_internal_adapters.addToRepeatedInt64Field = function(message, fieldNumber, value, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkInt64, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64, isExtension);
};
jspb_internal_adapters.removeFromRepeatedInt64Field = function(message, fieldNumber, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkInt64, void 0, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64, isExtension, 1, !1, !0);
};
jspb_internal_adapters.addAllToRepeatedInt64Field = function(message, fieldNumber, values) {
  return module$contents$jspb_internal_adapters_addAllToRepeatedFieldImpl(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkInt64, values, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64);
};
jspb_internal_adapters.setRepeatedIndexedInt64Field = function(message, fieldNumber, index, value, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkInt64, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64, isExtension, 1);
};
jspb_internal_adapters.setRepeatedUint64Field = function(message, fieldNumber, value, isExtension) {
  return module$contents$jspb_internal_adapters_setRepeatedPrimitiveField(message, fieldNumber, value, module$contents$jspb$internal_accessor_helpers_checkUint64, isExtension);
};
jspb_internal_adapters.addToRepeatedUint64Field = function(message, fieldNumber, value, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkUint64, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64, isExtension);
};
jspb_internal_adapters.removeFromRepeatedUint64Field = function(message, fieldNumber, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkUint64, void 0, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64, isExtension, 1, !1, !0);
};
jspb_internal_adapters.addAllToRepeatedUint64Field = function(message, fieldNumber, values) {
  return module$contents$jspb_internal_adapters_addAllToRepeatedFieldImpl(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkUint64, values, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64);
};
jspb_internal_adapters.setRepeatedIndexedUint64Field = function(message, fieldNumber, index, value, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkUint64, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64, isExtension, 1);
};
jspb_internal_adapters.setRepeatedInt64StringField = function(message, fieldNumber, value, isExtension) {
  return module$contents$jspb_internal_adapters_setRepeatedPrimitiveField(message, fieldNumber, value, module$contents$jspb$internal_accessor_helpers_checkInt64, isExtension);
};
jspb_internal_adapters.addToRepeatedInt64StringField = function(message, fieldNumber, value, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkInt64, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64String, isExtension);
};
jspb_internal_adapters.removeFromRepeatedInt64StringField = function(message, fieldNumber, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkInt64, void 0, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64String, isExtension, 1, !1, !0);
};
jspb_internal_adapters.addAllToRepeatedInt64StringField = function(message, fieldNumber, values) {
  return module$contents$jspb_internal_adapters_addAllToRepeatedFieldImpl(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkInt64, values, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64String);
};
jspb_internal_adapters.setRepeatedIndexedInt64StringField = function(message, fieldNumber, index, value, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkInt64, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64String, isExtension, 1);
};
jspb_internal_adapters.setRepeatedUint64StringField = function(message, fieldNumber, value, isExtension) {
  return module$contents$jspb_internal_adapters_setRepeatedPrimitiveField(message, fieldNumber, value, module$contents$jspb$internal_accessor_helpers_checkUint64, isExtension);
};
jspb_internal_adapters.addToRepeatedUint64StringField = function(message, fieldNumber, value, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkUint64, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64String, isExtension);
};
jspb_internal_adapters.removeFromRepeatedUint64StringField = function(message, fieldNumber, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkUint64, void 0, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64String, isExtension, 1, !1, !0);
};
jspb_internal_adapters.addAllToRepeatedUint64StringField = function(message, fieldNumber, values) {
  return module$contents$jspb_internal_adapters_addAllToRepeatedFieldImpl(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkUint64, values, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64String);
};
jspb_internal_adapters.setRepeatedIndexedUint64StringField = function(message, fieldNumber, index, value, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkUint64, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64String, isExtension, 1);
};
jspb_internal_adapters.setRepeatedFloatingPointField = function(message, fieldNumber, value, isExtension) {
  return module$contents$jspb_internal_adapters_setRepeatedPrimitiveField(message, fieldNumber, value, module$contents$jspb$internal_accessor_helpers_checkFloatingPoint, isExtension);
};
jspb_internal_adapters.addToRepeatedFloatingPointField = function(message, fieldNumber, value, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkFloatingPoint, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint, isExtension);
};
jspb_internal_adapters.removeFromRepeatedFloatingPointField = function(message, fieldNumber, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkFloatingPoint, void 0, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint, isExtension, 1, !1, !0);
};
jspb_internal_adapters.addAllToRepeatedFloatingPointField = function(message, fieldNumber, values) {
  return module$contents$jspb_internal_adapters_addAllToRepeatedFieldImpl(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkFloatingPoint, values, module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint);
};
jspb_internal_adapters.setRepeatedIndexedFloatingPointField = function(message, fieldNumber, index, value, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkFloatingPoint, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint, isExtension, 1);
};
jspb_internal_adapters.setRepeatedStringField = function(message, fieldNumber, value, isExtension) {
  return module$contents$jspb_internal_adapters_setRepeatedPrimitiveField(message, fieldNumber, value, module$contents$jspb$internal_accessor_helpers_checkString, isExtension);
};
jspb_internal_adapters.addToRepeatedStringField = function(message, fieldNumber, value, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkString, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishString, isExtension);
};
jspb_internal_adapters.removeFromRepeatedStringField = function(message, fieldNumber, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkString, void 0, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishString, isExtension, 1, !1, !0);
};
jspb_internal_adapters.addAllToRepeatedStringField = function(message, fieldNumber, values) {
  return module$contents$jspb_internal_adapters_addAllToRepeatedFieldImpl(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkString, values, module$contents$jspb$internal_accessor_helpers_coerceToNullishString);
};
jspb_internal_adapters.setRepeatedIndexedStringField = function(message, fieldNumber, index, value, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkString, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishString, isExtension, 1);
};
jspb_internal_adapters.setRepeatedBytesField = function(message, fieldNumber, value, isExtension) {
  return module$contents$jspb_internal_adapters_setRepeatedPrimitiveField(message, fieldNumber, value, module$contents$jspb_internal_adapters_checkBytes, isExtension);
};
jspb_internal_adapters.addToRepeatedBytesField = function(message, fieldNumber, value, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb_internal_adapters_checkBytes, value, index, module$contents$jspb_internal_adapters_coerceToNullishBytes, isExtension);
};
jspb_internal_adapters.removeFromRepeatedBytesField = function(message, fieldNumber, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb_internal_adapters_checkBytes, void 0, index, module$contents$jspb_internal_adapters_coerceToNullishBytes, isExtension, 1, !1, !0);
};
jspb_internal_adapters.addAllToRepeatedBytesField = function(message, fieldNumber, values) {
  return module$contents$jspb_internal_adapters_addAllToRepeatedFieldImpl(message, fieldNumber, module$contents$jspb_internal_adapters_checkBytes, values, module$contents$jspb_internal_adapters_coerceToNullishBytes);
};
jspb_internal_adapters.setRepeatedIndexedBytesField = function(message, fieldNumber, index, value, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb_internal_adapters_checkBytes, value, index, module$contents$jspb_internal_adapters_coerceToNullishBytes, isExtension, 1);
};
jspb_internal_adapters.setRepeatedEnumField = function(message, fieldNumber, value, isExtension) {
  return module$contents$jspb_internal_adapters_setRepeatedPrimitiveField(message, fieldNumber, value, module$contents$jspb$internal_accessor_helpers_checkEnum, isExtension);
};
jspb_internal_adapters.addToRepeatedEnumField = function(message, fieldNumber, value, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkEnum, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishEnum, isExtension);
};
jspb_internal_adapters.removeFromRepeatedEnumField = function(message, fieldNumber, index, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkEnum, void 0, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishEnum, isExtension, 1, !1, !0);
};
jspb_internal_adapters.addAllToRepeatedEnumField = function(message, fieldNumber, values) {
  return module$contents$jspb_internal_adapters_addAllToRepeatedFieldImpl(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkEnum, values, module$contents$jspb$internal_accessor_helpers_coerceToNullishEnum);
};
jspb_internal_adapters.setRepeatedIndexedEnumField = function(message, fieldNumber, index, value, isExtension) {
  return module$contents$jspb_internal_adapters_spliceRepeatedPrimitiveField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_checkEnum, value, index, module$contents$jspb$internal_accessor_helpers_coerceToNullishEnum, isExtension, 1);
};
jspb_internal_adapters.hasBooleanField = function(message, fieldNumber) {
  return jspb_internal_adapters.getBooleanFieldNullable(message, fieldNumber) != null;
};
jspb_internal_adapters.hasOneofBooleanField = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getOneofBooleanFieldNullable(message, fieldNumber, oneof) != null;
};
jspb_internal_adapters.hasInt32Field = function(message, fieldNumber) {
  return jspb_internal_adapters.getInt32FieldNullable(message, fieldNumber) != null;
};
jspb_internal_adapters.hasOneofInt32Field = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getOneofInt32FieldNullable(message, fieldNumber, oneof) != null;
};
jspb_internal_adapters.hasUint32Field = function(message, fieldNumber) {
  return jspb_internal_adapters.getUint32FieldNullable(message, fieldNumber) != null;
};
jspb_internal_adapters.hasOneofUint32Field = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getOneofUint32FieldNullable(message, fieldNumber, oneof) != null;
};
jspb_internal_adapters.hasInt64Field = function(message, fieldNumber) {
  return jspb_internal_adapters.getInt64FieldNullable(message, fieldNumber) != null;
};
jspb_internal_adapters.hasOneofInt64Field = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getOneofInt64FieldNullable(message, fieldNumber, oneof) != null;
};
jspb_internal_adapters.hasUint64Field = function(message, fieldNumber) {
  return jspb_internal_adapters.getUint64FieldNullable(message, fieldNumber) != null;
};
jspb_internal_adapters.hasOneofUint64Field = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getOneofUint64FieldNullable(message, fieldNumber, oneof) != null;
};
jspb_internal_adapters.hasInt64StringField = function(message, fieldNumber) {
  return jspb_internal_adapters.getInt64StringFieldNullable(message, fieldNumber) != null;
};
jspb_internal_adapters.hasOneofInt64StringField = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getOneofInt64StringFieldNullable(message, fieldNumber, oneof) != null;
};
jspb_internal_adapters.hasUint64StringField = function(message, fieldNumber) {
  return jspb_internal_adapters.getUint64StringFieldNullable(message, fieldNumber) != null;
};
jspb_internal_adapters.hasOneofUint64StringField = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getOneofUint64StringFieldNullable(message, fieldNumber, oneof) != null;
};
jspb_internal_adapters.hasFloatingPointField = function(message, fieldNumber) {
  return jspb_internal_adapters.getFloatingPointFieldNullable(message, fieldNumber) != null;
};
jspb_internal_adapters.hasOneofFloatingPointField = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getOneofFloatingPointFieldNullable(message, fieldNumber, oneof) != null;
};
jspb_internal_adapters.hasStringField = function(message, fieldNumber) {
  return jspb_internal_adapters.getStringFieldNullable(message, fieldNumber) != null;
};
jspb_internal_adapters.hasOneofStringField = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getOneofStringFieldNullable(message, fieldNumber, oneof) != null;
};
jspb_internal_adapters.hasBytesField = function(message, fieldNumber) {
  return jspb_internal_adapters.getBytesFieldNullable(message, fieldNumber) != null;
};
jspb_internal_adapters.hasOneofBytesField = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getOneofBytesFieldNullable(message, fieldNumber, oneof) != null;
};
jspb_internal_adapters.hasEnumField = function(message, fieldNumber) {
  return jspb_internal_adapters.getEnumFieldNullable(message, fieldNumber) != null;
};
jspb_internal_adapters.hasOneofEnumField = function(message, fieldNumber, oneof) {
  return jspb_internal_adapters.getOneofEnumFieldNullable(message, fieldNumber, oneof) != null;
};
jspb_internal_adapters.getBooleanBooleanMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps);
};
jspb_internal_adapters.putBooleanBooleanMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getBooleanBooleanMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllBooleanBooleanMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getBooleanBooleanMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setBooleanBooleanMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllBooleanBooleanMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteBooleanBooleanMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getBooleanBooleanMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getBooleanInt32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps);
};
jspb_internal_adapters.putBooleanInt32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getBooleanInt32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllBooleanInt32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getBooleanInt32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setBooleanInt32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllBooleanInt32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteBooleanInt32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getBooleanInt32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getBooleanUint32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint32ToApiForMaps);
};
jspb_internal_adapters.putBooleanUint32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getBooleanUint32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllBooleanUint32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getBooleanUint32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setBooleanUint32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllBooleanUint32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteBooleanUint32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getBooleanUint32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getBooleanInt64MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps, module$contents$jspb$internal_accessor_helpers_int64ToApiForMaps);
};
jspb_internal_adapters.putBooleanInt64MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getBooleanInt64MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllBooleanInt64MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getBooleanInt64MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setBooleanInt64MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllBooleanInt64MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteBooleanInt64MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getBooleanInt64MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getBooleanUint64MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint64ToApiForMaps);
};
jspb_internal_adapters.putBooleanUint64MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getBooleanUint64MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllBooleanUint64MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getBooleanUint64MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setBooleanUint64MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllBooleanUint64MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteBooleanUint64MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getBooleanUint64MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getBooleanFloatingPointMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps, module$contents$jspb$internal_accessor_helpers_floatToApiForMaps);
};
jspb_internal_adapters.putBooleanFloatingPointMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getBooleanFloatingPointMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllBooleanFloatingPointMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getBooleanFloatingPointMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setBooleanFloatingPointMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllBooleanFloatingPointMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteBooleanFloatingPointMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getBooleanFloatingPointMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getBooleanStringMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps);
};
jspb_internal_adapters.putBooleanStringMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getBooleanStringMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllBooleanStringMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getBooleanStringMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setBooleanStringMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllBooleanStringMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteBooleanStringMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getBooleanStringMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getBooleanBytesMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps, module$contents$jspb$internal_accessor_helpers_bytesToApiForMaps);
};
jspb_internal_adapters.putBooleanBytesMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getBooleanBytesMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllBooleanBytesMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getBooleanBytesMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setBooleanBytesMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllBooleanBytesMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteBooleanBytesMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getBooleanBytesMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getBooleanEnumMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps, module$contents$jspb$internal_accessor_helpers_enumToApiForMaps);
};
jspb_internal_adapters.putBooleanEnumMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getBooleanEnumMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllBooleanEnumMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getBooleanEnumMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setBooleanEnumMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllBooleanEnumMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteBooleanEnumMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getBooleanEnumMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getReadonlyBooleanWrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getReadonlyMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps);
};
jspb_internal_adapters.getBooleanWrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getMessageValuedMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps);
};
jspb_internal_adapters.putBooleanWrapperMapField = function(message, fieldNumber, key, value, valueCtor) {
  jspb_internal_adapters.getReadonlyBooleanWrapperMapField(message, fieldNumber, valueCtor).set(key, value);
  return message;
};
jspb_internal_adapters.putAllBooleanWrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getReadonlyBooleanWrapperMapField(message, fieldNumber, valueCtor));
  return message;
};
jspb_internal_adapters.setBooleanWrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllBooleanWrapperMapField(message, fieldNumber, newMap, valueCtor);
  return message;
};
jspb_internal_adapters.deleteBooleanWrapperMapField = function(message, fieldNumber, key, valueCtor) {
  jspb_internal_adapters.getReadonlyBooleanWrapperMapField(message, fieldNumber, valueCtor).delete(key);
  return message;
};
jspb_internal_adapters.getBooleanInt64GbigintMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps, module$contents$jspb$internal_accessor_helpers_int64GbigintToApiForMaps);
};
jspb_internal_adapters.putBooleanInt64GbigintMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getBooleanInt64GbigintMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllBooleanInt64GbigintMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getBooleanInt64GbigintMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setBooleanInt64GbigintMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllBooleanInt64GbigintMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteBooleanInt64GbigintMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getBooleanInt64GbigintMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getBooleanUint64GbigintMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint64GbigintToApiForMaps);
};
jspb_internal_adapters.putBooleanUint64GbigintMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getBooleanUint64GbigintMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllBooleanUint64GbigintMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getBooleanUint64GbigintMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setBooleanUint64GbigintMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllBooleanUint64GbigintMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteBooleanUint64GbigintMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getBooleanUint64GbigintMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt32BooleanMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps);
};
jspb_internal_adapters.putInt32BooleanMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt32BooleanMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt32BooleanMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt32BooleanMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt32BooleanMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt32BooleanMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt32BooleanMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt32BooleanMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt32Int32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps);
};
jspb_internal_adapters.putInt32Int32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt32Int32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt32Int32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt32Int32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt32Int32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt32Int32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt32Int32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt32Int32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt32Uint32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint32ToApiForMaps);
};
jspb_internal_adapters.putInt32Uint32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt32Uint32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt32Uint32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt32Uint32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt32Uint32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt32Uint32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt32Uint32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt32Uint32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt32Int64MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps, module$contents$jspb$internal_accessor_helpers_int64ToApiForMaps);
};
jspb_internal_adapters.putInt32Int64MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt32Int64MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt32Int64MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt32Int64MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt32Int64MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt32Int64MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt32Int64MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt32Int64MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt32Uint64MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint64ToApiForMaps);
};
jspb_internal_adapters.putInt32Uint64MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt32Uint64MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt32Uint64MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt32Uint64MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt32Uint64MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt32Uint64MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt32Uint64MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt32Uint64MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt32FloatingPointMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps, module$contents$jspb$internal_accessor_helpers_floatToApiForMaps);
};
jspb_internal_adapters.putInt32FloatingPointMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt32FloatingPointMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt32FloatingPointMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt32FloatingPointMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt32FloatingPointMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt32FloatingPointMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt32FloatingPointMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt32FloatingPointMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt32StringMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps);
};
jspb_internal_adapters.putInt32StringMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt32StringMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt32StringMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt32StringMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt32StringMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt32StringMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt32StringMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt32StringMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt32BytesMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps, module$contents$jspb$internal_accessor_helpers_bytesToApiForMaps);
};
jspb_internal_adapters.putInt32BytesMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt32BytesMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt32BytesMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt32BytesMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt32BytesMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt32BytesMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt32BytesMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt32BytesMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt32EnumMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps, module$contents$jspb$internal_accessor_helpers_enumToApiForMaps);
};
jspb_internal_adapters.putInt32EnumMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt32EnumMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt32EnumMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt32EnumMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt32EnumMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt32EnumMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt32EnumMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt32EnumMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getReadonlyInt32WrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getReadonlyMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps);
};
jspb_internal_adapters.getInt32WrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getMessageValuedMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps);
};
jspb_internal_adapters.putInt32WrapperMapField = function(message, fieldNumber, key, value, valueCtor) {
  jspb_internal_adapters.getReadonlyInt32WrapperMapField(message, fieldNumber, valueCtor).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt32WrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getReadonlyInt32WrapperMapField(message, fieldNumber, valueCtor));
  return message;
};
jspb_internal_adapters.setInt32WrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt32WrapperMapField(message, fieldNumber, newMap, valueCtor);
  return message;
};
jspb_internal_adapters.deleteInt32WrapperMapField = function(message, fieldNumber, key, valueCtor) {
  jspb_internal_adapters.getReadonlyInt32WrapperMapField(message, fieldNumber, valueCtor).delete(key);
  return message;
};
jspb_internal_adapters.getInt32Int64GbigintMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps, module$contents$jspb$internal_accessor_helpers_int64GbigintToApiForMaps);
};
jspb_internal_adapters.putInt32Int64GbigintMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt32Int64GbigintMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt32Int64GbigintMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt32Int64GbigintMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt32Int64GbigintMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt32Int64GbigintMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt32Int64GbigintMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt32Int64GbigintMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt32Uint64GbigintMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint64GbigintToApiForMaps);
};
jspb_internal_adapters.putInt32Uint64GbigintMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt32Uint64GbigintMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt32Uint64GbigintMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt32Uint64GbigintMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt32Uint64GbigintMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt32Uint64GbigintMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt32Uint64GbigintMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt32Uint64GbigintMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint32BooleanMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps);
};
jspb_internal_adapters.putUint32BooleanMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint32BooleanMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint32BooleanMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint32BooleanMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint32BooleanMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint32BooleanMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint32BooleanMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint32BooleanMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint32Int32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps);
};
jspb_internal_adapters.putUint32Int32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint32Int32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint32Int32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint32Int32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint32Int32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint32Int32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint32Int32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint32Int32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint32Uint32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint32ToApiForMaps);
};
jspb_internal_adapters.putUint32Uint32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint32Uint32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint32Uint32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint32Uint32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint32Uint32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint32Uint32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint32Uint32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint32Uint32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint32Int64MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_int64ToApiForMaps);
};
jspb_internal_adapters.putUint32Int64MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint32Int64MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint32Int64MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint32Int64MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint32Int64MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint32Int64MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint32Int64MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint32Int64MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint32Uint64MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint64ToApiForMaps);
};
jspb_internal_adapters.putUint32Uint64MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint32Uint64MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint32Uint64MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint32Uint64MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint32Uint64MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint32Uint64MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint32Uint64MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint32Uint64MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint32FloatingPointMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_floatToApiForMaps);
};
jspb_internal_adapters.putUint32FloatingPointMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint32FloatingPointMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint32FloatingPointMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint32FloatingPointMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint32FloatingPointMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint32FloatingPointMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint32FloatingPointMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint32FloatingPointMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint32StringMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps);
};
jspb_internal_adapters.putUint32StringMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint32StringMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint32StringMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint32StringMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint32StringMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint32StringMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint32StringMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint32StringMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint32BytesMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_bytesToApiForMaps);
};
jspb_internal_adapters.putUint32BytesMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint32BytesMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint32BytesMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint32BytesMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint32BytesMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint32BytesMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint32BytesMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint32BytesMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint32EnumMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_enumToApiForMaps);
};
jspb_internal_adapters.putUint32EnumMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint32EnumMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint32EnumMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint32EnumMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint32EnumMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint32EnumMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint32EnumMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint32EnumMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getReadonlyUint32WrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getReadonlyMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps);
};
jspb_internal_adapters.getUint32WrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getMessageValuedMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps);
};
jspb_internal_adapters.putUint32WrapperMapField = function(message, fieldNumber, key, value, valueCtor) {
  jspb_internal_adapters.getReadonlyUint32WrapperMapField(message, fieldNumber, valueCtor).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint32WrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getReadonlyUint32WrapperMapField(message, fieldNumber, valueCtor));
  return message;
};
jspb_internal_adapters.setUint32WrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint32WrapperMapField(message, fieldNumber, newMap, valueCtor);
  return message;
};
jspb_internal_adapters.deleteUint32WrapperMapField = function(message, fieldNumber, key, valueCtor) {
  jspb_internal_adapters.getReadonlyUint32WrapperMapField(message, fieldNumber, valueCtor).delete(key);
  return message;
};
jspb_internal_adapters.getUint32Int64GbigintMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_int64GbigintToApiForMaps);
};
jspb_internal_adapters.putUint32Int64GbigintMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint32Int64GbigintMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint32Int64GbigintMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint32Int64GbigintMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint32Int64GbigintMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint32Int64GbigintMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint32Int64GbigintMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint32Int64GbigintMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint32Uint64GbigintMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint32KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint64GbigintToApiForMaps);
};
jspb_internal_adapters.putUint32Uint64GbigintMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint32Uint64GbigintMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint32Uint64GbigintMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint32Uint64GbigintMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint32Uint64GbigintMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint32Uint64GbigintMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint32Uint64GbigintMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint32Uint64GbigintMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64BooleanMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps);
};
jspb_internal_adapters.putInt64BooleanMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64BooleanMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64BooleanMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64BooleanMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64BooleanMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64BooleanMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64BooleanMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64BooleanMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64Int32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps);
};
jspb_internal_adapters.putInt64Int32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64Int32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64Int32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64Int32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64Int32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64Int32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64Int32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64Int32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64Uint32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint32ToApiForMaps);
};
jspb_internal_adapters.putInt64Uint32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64Uint32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64Uint32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64Uint32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64Uint32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64Uint32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64Uint32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64Uint32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64Int64MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_int64ToApiForMaps);
};
jspb_internal_adapters.putInt64Int64MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64Int64MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64Int64MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64Int64MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64Int64MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64Int64MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64Int64MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64Int64MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64Uint64MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint64ToApiForMaps);
};
jspb_internal_adapters.putInt64Uint64MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64Uint64MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64Uint64MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64Uint64MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64Uint64MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64Uint64MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64Uint64MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64Uint64MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64FloatingPointMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_floatToApiForMaps);
};
jspb_internal_adapters.putInt64FloatingPointMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64FloatingPointMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64FloatingPointMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64FloatingPointMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64FloatingPointMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64FloatingPointMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64FloatingPointMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64FloatingPointMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64StringMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps);
};
jspb_internal_adapters.putInt64StringMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64StringMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64StringMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64StringMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64StringMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64StringMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64StringMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64StringMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64BytesMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_bytesToApiForMaps);
};
jspb_internal_adapters.putInt64BytesMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64BytesMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64BytesMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64BytesMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64BytesMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64BytesMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64BytesMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64BytesMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64EnumMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_enumToApiForMaps);
};
jspb_internal_adapters.putInt64EnumMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64EnumMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64EnumMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64EnumMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64EnumMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64EnumMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64EnumMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64EnumMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getReadonlyInt64WrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getReadonlyMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_int64KeyToApiForMaps);
};
jspb_internal_adapters.getInt64WrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getMessageValuedMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_int64KeyToApiForMaps);
};
jspb_internal_adapters.putInt64WrapperMapField = function(message, fieldNumber, key, value, valueCtor) {
  jspb_internal_adapters.getReadonlyInt64WrapperMapField(message, fieldNumber, valueCtor).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64WrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getReadonlyInt64WrapperMapField(message, fieldNumber, valueCtor));
  return message;
};
jspb_internal_adapters.setInt64WrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64WrapperMapField(message, fieldNumber, newMap, valueCtor);
  return message;
};
jspb_internal_adapters.deleteInt64WrapperMapField = function(message, fieldNumber, key, valueCtor) {
  jspb_internal_adapters.getReadonlyInt64WrapperMapField(message, fieldNumber, valueCtor).delete(key);
  return message;
};
jspb_internal_adapters.getUint64BooleanMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps);
};
jspb_internal_adapters.putUint64BooleanMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64BooleanMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64BooleanMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64BooleanMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64BooleanMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64BooleanMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64BooleanMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64BooleanMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64Int32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps);
};
jspb_internal_adapters.putUint64Int32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64Int32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64Int32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64Int32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64Int32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64Int32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64Int32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64Int32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64Uint32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint32ToApiForMaps);
};
jspb_internal_adapters.putUint64Uint32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64Uint32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64Uint32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64Uint32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64Uint32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64Uint32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64Uint32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64Uint32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64Int64MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_int64ToApiForMaps);
};
jspb_internal_adapters.putUint64Int64MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64Int64MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64Int64MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64Int64MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64Int64MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64Int64MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64Int64MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64Int64MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64Uint64MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint64ToApiForMaps);
};
jspb_internal_adapters.putUint64Uint64MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64Uint64MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64Uint64MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64Uint64MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64Uint64MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64Uint64MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64Uint64MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64Uint64MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64FloatingPointMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_floatToApiForMaps);
};
jspb_internal_adapters.putUint64FloatingPointMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64FloatingPointMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64FloatingPointMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64FloatingPointMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64FloatingPointMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64FloatingPointMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64FloatingPointMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64FloatingPointMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64StringMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps);
};
jspb_internal_adapters.putUint64StringMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64StringMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64StringMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64StringMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64StringMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64StringMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64StringMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64StringMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64BytesMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_bytesToApiForMaps);
};
jspb_internal_adapters.putUint64BytesMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64BytesMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64BytesMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64BytesMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64BytesMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64BytesMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64BytesMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64BytesMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64EnumMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64KeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_enumToApiForMaps);
};
jspb_internal_adapters.putUint64EnumMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64EnumMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64EnumMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64EnumMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64EnumMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64EnumMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64EnumMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64EnumMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getReadonlyUint64WrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getReadonlyMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_uint64KeyToApiForMaps);
};
jspb_internal_adapters.getUint64WrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getMessageValuedMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_uint64KeyToApiForMaps);
};
jspb_internal_adapters.putUint64WrapperMapField = function(message, fieldNumber, key, value, valueCtor) {
  jspb_internal_adapters.getReadonlyUint64WrapperMapField(message, fieldNumber, valueCtor).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64WrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getReadonlyUint64WrapperMapField(message, fieldNumber, valueCtor));
  return message;
};
jspb_internal_adapters.setUint64WrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64WrapperMapField(message, fieldNumber, newMap, valueCtor);
  return message;
};
jspb_internal_adapters.deleteUint64WrapperMapField = function(message, fieldNumber, key, valueCtor) {
  jspb_internal_adapters.getReadonlyUint64WrapperMapField(message, fieldNumber, valueCtor).delete(key);
  return message;
};
jspb_internal_adapters.getStringBooleanMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps);
};
jspb_internal_adapters.putStringBooleanMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getStringBooleanMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllStringBooleanMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getStringBooleanMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setStringBooleanMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllStringBooleanMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteStringBooleanMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getStringBooleanMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getStringInt32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps);
};
jspb_internal_adapters.putStringInt32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getStringInt32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllStringInt32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getStringInt32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setStringInt32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllStringInt32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteStringInt32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getStringInt32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getStringUint32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint32ToApiForMaps);
};
jspb_internal_adapters.putStringUint32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getStringUint32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllStringUint32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getStringUint32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setStringUint32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllStringUint32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteStringUint32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getStringUint32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getStringInt64MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps, module$contents$jspb$internal_accessor_helpers_int64ToApiForMaps);
};
jspb_internal_adapters.putStringInt64MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getStringInt64MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllStringInt64MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getStringInt64MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setStringInt64MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllStringInt64MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteStringInt64MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getStringInt64MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getStringUint64MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint64ToApiForMaps);
};
jspb_internal_adapters.putStringUint64MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getStringUint64MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllStringUint64MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getStringUint64MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setStringUint64MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllStringUint64MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteStringUint64MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getStringUint64MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getStringFloatingPointMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps, module$contents$jspb$internal_accessor_helpers_floatToApiForMaps);
};
jspb_internal_adapters.putStringFloatingPointMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getStringFloatingPointMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllStringFloatingPointMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getStringFloatingPointMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setStringFloatingPointMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllStringFloatingPointMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteStringFloatingPointMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getStringFloatingPointMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getStringStringMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps);
};
jspb_internal_adapters.putStringStringMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getStringStringMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllStringStringMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getStringStringMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setStringStringMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllStringStringMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteStringStringMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getStringStringMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getStringBytesMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps, module$contents$jspb$internal_accessor_helpers_bytesToApiForMaps);
};
jspb_internal_adapters.putStringBytesMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getStringBytesMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllStringBytesMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getStringBytesMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setStringBytesMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllStringBytesMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteStringBytesMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getStringBytesMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getStringEnumMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps, module$contents$jspb$internal_accessor_helpers_enumToApiForMaps);
};
jspb_internal_adapters.putStringEnumMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getStringEnumMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllStringEnumMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getStringEnumMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setStringEnumMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllStringEnumMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteStringEnumMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getStringEnumMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getReadonlyStringWrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getReadonlyMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps);
};
jspb_internal_adapters.getStringWrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getMessageValuedMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps);
};
jspb_internal_adapters.putStringWrapperMapField = function(message, fieldNumber, key, value, valueCtor) {
  jspb_internal_adapters.getReadonlyStringWrapperMapField(message, fieldNumber, valueCtor).set(key, value);
  return message;
};
jspb_internal_adapters.putAllStringWrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getReadonlyStringWrapperMapField(message, fieldNumber, valueCtor));
  return message;
};
jspb_internal_adapters.setStringWrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllStringWrapperMapField(message, fieldNumber, newMap, valueCtor);
  return message;
};
jspb_internal_adapters.deleteStringWrapperMapField = function(message, fieldNumber, key, valueCtor) {
  jspb_internal_adapters.getReadonlyStringWrapperMapField(message, fieldNumber, valueCtor).delete(key);
  return message;
};
jspb_internal_adapters.getStringInt64GbigintMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps, module$contents$jspb$internal_accessor_helpers_int64GbigintToApiForMaps);
};
jspb_internal_adapters.putStringInt64GbigintMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getStringInt64GbigintMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllStringInt64GbigintMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getStringInt64GbigintMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setStringInt64GbigintMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllStringInt64GbigintMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteStringInt64GbigintMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getStringInt64GbigintMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getStringUint64GbigintMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint64GbigintToApiForMaps);
};
jspb_internal_adapters.putStringUint64GbigintMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getStringUint64GbigintMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllStringUint64GbigintMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getStringUint64GbigintMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setStringUint64GbigintMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllStringUint64GbigintMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteStringUint64GbigintMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getStringUint64GbigintMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64GbigintBooleanMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps);
};
jspb_internal_adapters.putInt64GbigintBooleanMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64GbigintBooleanMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64GbigintBooleanMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64GbigintBooleanMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64GbigintBooleanMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64GbigintBooleanMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64GbigintBooleanMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64GbigintBooleanMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64GbigintInt32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps);
};
jspb_internal_adapters.putInt64GbigintInt32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64GbigintInt32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64GbigintInt32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64GbigintInt32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64GbigintInt32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64GbigintInt32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64GbigintInt32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64GbigintInt32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64GbigintUint32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint32ToApiForMaps);
};
jspb_internal_adapters.putInt64GbigintUint32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64GbigintUint32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64GbigintUint32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64GbigintUint32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64GbigintUint32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64GbigintUint32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64GbigintUint32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64GbigintUint32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64GbigintFloatingPointMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_floatToApiForMaps);
};
jspb_internal_adapters.putInt64GbigintFloatingPointMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64GbigintFloatingPointMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64GbigintFloatingPointMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64GbigintFloatingPointMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64GbigintFloatingPointMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64GbigintFloatingPointMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64GbigintFloatingPointMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64GbigintFloatingPointMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64GbigintStringMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps);
};
jspb_internal_adapters.putInt64GbigintStringMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64GbigintStringMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64GbigintStringMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64GbigintStringMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64GbigintStringMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64GbigintStringMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64GbigintStringMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64GbigintStringMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64GbigintBytesMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_bytesToApiForMaps);
};
jspb_internal_adapters.putInt64GbigintBytesMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64GbigintBytesMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64GbigintBytesMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64GbigintBytesMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64GbigintBytesMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64GbigintBytesMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64GbigintBytesMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64GbigintBytesMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64GbigintEnumMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_enumToApiForMaps);
};
jspb_internal_adapters.putInt64GbigintEnumMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64GbigintEnumMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64GbigintEnumMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64GbigintEnumMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64GbigintEnumMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64GbigintEnumMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64GbigintEnumMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64GbigintEnumMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getReadonlyInt64GbigintWrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getReadonlyMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_int64GbigintKeyToApiForMaps);
};
jspb_internal_adapters.getInt64GbigintWrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getMessageValuedMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_int64GbigintKeyToApiForMaps);
};
jspb_internal_adapters.putInt64GbigintWrapperMapField = function(message, fieldNumber, key, value, valueCtor) {
  jspb_internal_adapters.getReadonlyInt64GbigintWrapperMapField(message, fieldNumber, valueCtor).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64GbigintWrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getReadonlyInt64GbigintWrapperMapField(message, fieldNumber, valueCtor));
  return message;
};
jspb_internal_adapters.setInt64GbigintWrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64GbigintWrapperMapField(message, fieldNumber, newMap, valueCtor);
  return message;
};
jspb_internal_adapters.deleteInt64GbigintWrapperMapField = function(message, fieldNumber, key, valueCtor) {
  jspb_internal_adapters.getReadonlyInt64GbigintWrapperMapField(message, fieldNumber, valueCtor).delete(key);
  return message;
};
jspb_internal_adapters.getInt64GbigintInt64GbigintMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_int64GbigintToApiForMaps);
};
jspb_internal_adapters.putInt64GbigintInt64GbigintMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64GbigintInt64GbigintMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64GbigintInt64GbigintMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64GbigintInt64GbigintMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64GbigintInt64GbigintMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64GbigintInt64GbigintMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64GbigintInt64GbigintMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64GbigintInt64GbigintMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getInt64GbigintUint64GbigintMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_int64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint64GbigintToApiForMaps);
};
jspb_internal_adapters.putInt64GbigintUint64GbigintMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getInt64GbigintUint64GbigintMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllInt64GbigintUint64GbigintMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getInt64GbigintUint64GbigintMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setInt64GbigintUint64GbigintMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllInt64GbigintUint64GbigintMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteInt64GbigintUint64GbigintMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getInt64GbigintUint64GbigintMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64GbigintBooleanMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_booleanToApiForMaps);
};
jspb_internal_adapters.putUint64GbigintBooleanMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64GbigintBooleanMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64GbigintBooleanMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64GbigintBooleanMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64GbigintBooleanMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64GbigintBooleanMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64GbigintBooleanMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64GbigintBooleanMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64GbigintInt32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_int32ToApiForMaps);
};
jspb_internal_adapters.putUint64GbigintInt32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64GbigintInt32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64GbigintInt32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64GbigintInt32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64GbigintInt32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64GbigintInt32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64GbigintInt32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64GbigintInt32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64GbigintUint32MapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint32ToApiForMaps);
};
jspb_internal_adapters.putUint64GbigintUint32MapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64GbigintUint32MapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64GbigintUint32MapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64GbigintUint32MapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64GbigintUint32MapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64GbigintUint32MapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64GbigintUint32MapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64GbigintUint32MapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64GbigintFloatingPointMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_floatToApiForMaps);
};
jspb_internal_adapters.putUint64GbigintFloatingPointMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64GbigintFloatingPointMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64GbigintFloatingPointMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64GbigintFloatingPointMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64GbigintFloatingPointMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64GbigintFloatingPointMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64GbigintFloatingPointMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64GbigintFloatingPointMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64GbigintStringMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_stringToApiForMaps);
};
jspb_internal_adapters.putUint64GbigintStringMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64GbigintStringMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64GbigintStringMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64GbigintStringMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64GbigintStringMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64GbigintStringMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64GbigintStringMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64GbigintStringMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64GbigintBytesMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_bytesToApiForMaps);
};
jspb_internal_adapters.putUint64GbigintBytesMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64GbigintBytesMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64GbigintBytesMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64GbigintBytesMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64GbigintBytesMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64GbigintBytesMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64GbigintBytesMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64GbigintBytesMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64GbigintEnumMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_enumToApiForMaps);
};
jspb_internal_adapters.putUint64GbigintEnumMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64GbigintEnumMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64GbigintEnumMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64GbigintEnumMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64GbigintEnumMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64GbigintEnumMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64GbigintEnumMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64GbigintEnumMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getReadonlyUint64GbigintWrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getReadonlyMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_uint64GbigintKeyToApiForMaps);
};
jspb_internal_adapters.getUint64GbigintWrapperMapField = function(message, fieldNumber, valueCtor) {
  return module$contents$jspb_internal_adapters_getMessageValuedMapField(message, fieldNumber, valueCtor, module$contents$jspb$internal_accessor_helpers_uint64GbigintKeyToApiForMaps);
};
jspb_internal_adapters.putUint64GbigintWrapperMapField = function(message, fieldNumber, key, value, valueCtor) {
  jspb_internal_adapters.getReadonlyUint64GbigintWrapperMapField(message, fieldNumber, valueCtor).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64GbigintWrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getReadonlyUint64GbigintWrapperMapField(message, fieldNumber, valueCtor));
  return message;
};
jspb_internal_adapters.setUint64GbigintWrapperMapField = function(message, fieldNumber, newMap, valueCtor) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64GbigintWrapperMapField(message, fieldNumber, newMap, valueCtor);
  return message;
};
jspb_internal_adapters.deleteUint64GbigintWrapperMapField = function(message, fieldNumber, key, valueCtor) {
  jspb_internal_adapters.getReadonlyUint64GbigintWrapperMapField(message, fieldNumber, valueCtor).delete(key);
  return message;
};
jspb_internal_adapters.getUint64GbigintInt64GbigintMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_int64GbigintToApiForMaps);
};
jspb_internal_adapters.putUint64GbigintInt64GbigintMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64GbigintInt64GbigintMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64GbigintInt64GbigintMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64GbigintInt64GbigintMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64GbigintInt64GbigintMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64GbigintInt64GbigintMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64GbigintInt64GbigintMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64GbigintInt64GbigintMapField(message, fieldNumber).delete(key);
  return message;
};
jspb_internal_adapters.getUint64GbigintUint64GbigintMapField = function(message, fieldNumber) {
  return module$contents$jspb_internal_adapters_getPrimitiveMapField(message, fieldNumber, module$contents$jspb$internal_accessor_helpers_uint64GbigintKeyToApiForMaps, module$contents$jspb$internal_accessor_helpers_uint64GbigintToApiForMaps);
};
jspb_internal_adapters.putUint64GbigintUint64GbigintMapField = function(message, fieldNumber, key, value) {
  jspb_internal_adapters.getUint64GbigintUint64GbigintMapField(message, fieldNumber).set(key, value);
  return message;
};
jspb_internal_adapters.putAllUint64GbigintUint64GbigintMapField = function(message, fieldNumber, newMap) {
  module$contents$jspb$internal_checkNotImmutable(message);
  newMap.forEach(module$contents$jspb_internal_adapters_mapSetter, jspb_internal_adapters.getUint64GbigintUint64GbigintMapField(message, fieldNumber));
  return message;
};
jspb_internal_adapters.setUint64GbigintUint64GbigintMapField = function(message, fieldNumber, newMap) {
  jspb_internal_adapters.clearMapField(message, fieldNumber);
  newMap && jspb_internal_adapters.putAllUint64GbigintUint64GbigintMapField(message, fieldNumber, newMap);
  return message;
};
jspb_internal_adapters.deleteUint64GbigintUint64GbigintMapField = function(message, fieldNumber, key) {
  jspb_internal_adapters.getUint64GbigintUint64GbigintMapField(message, fieldNumber).delete(key);
  return message;
};
function module$contents$jspb$binary$errors_invalidWireTypeError(wireType, position) {
  return Error("Invalid wire type: " + wireType + " (at position " + position + ")");
}
function module$contents$jspb$binary$errors_invalidVarintError() {
  return Error("Failed to read varint, encoding is invalid.");
}
function module$contents$jspb$binary$errors_readTooFarError(expectedLength, readLength) {
  return Error("Tried to read past the end of the data " + readLength + " > " + expectedLength);
}
;function module$contents$jspb$binary$internal_buffer_bufferFromSource(data) {
  if (typeof data === "string") {
    return {buffer:module$contents$jspb$internal_bytes_decodeByteArray(data), isImmutable:!1};
  }
  if (Array.isArray(data)) {
    return {buffer:new Uint8Array(data), isImmutable:!1};
  }
  if (data.constructor === Uint8Array) {
    return {buffer:data, isImmutable:!1};
  }
  if (data.constructor === ArrayBuffer) {
    return {buffer:new Uint8Array(data), isImmutable:!1};
  }
  if (data.constructor === module$exports$jspb$bytestring.ByteString) {
    return {buffer:module$contents$jspb$unsafe_bytestring_unsafeUint8ArrayFromByteString(data), isImmutable:!0};
  }
  if (data instanceof Uint8Array) {
    return {buffer:new Uint8Array(data.buffer, data.byteOffset, data.byteLength), isImmutable:!1};
  }
  throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers");
}
;var module$exports$jspb$binary$decoder = {BinaryDecoder:function(bytes, start, length, options) {
  this.bytes_ = null;
  this.bytesAreImmutable_ = !1;
  module$contents$jspb$binary$decoder_ASSUME_DATAVIEW_IS_FAST && (this.dataView_ = null);
  this.cursor_ = this.end_ = this.start_ = 0;
  this.init(bytes, start, length, options);
}};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.init = function(bytes, start, length, $jscomp$destructuring$var29) {
  var $jscomp$destructuring$var30 = $jscomp$destructuring$var29 === void 0 ? {} : $jscomp$destructuring$var29;
  this.aliasBytesFields = $jscomp$destructuring$var30.aliasBytesFields === void 0 ? !1 : $jscomp$destructuring$var30.aliasBytesFields;
  bytes && this.setBlock(bytes, start, length);
};
module$exports$jspb$binary$decoder.BinaryDecoder.alloc = function(bytes, start, length, options) {
  if (module$exports$jspb$binary$decoder.BinaryDecoder.instanceCache_.length) {
    var newDecoder = module$exports$jspb$binary$decoder.BinaryDecoder.instanceCache_.pop();
    newDecoder.init(bytes, start, length, options);
    return newDecoder;
  }
  return new module$exports$jspb$binary$decoder.BinaryDecoder(bytes, start, length, options);
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.free = function() {
  this.clear();
  module$exports$jspb$binary$decoder.BinaryDecoder.instanceCache_.length < 100 && module$exports$jspb$binary$decoder.BinaryDecoder.instanceCache_.push(this);
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.clear = function() {
  this.bytes_ = null;
  this.bytesAreImmutable_ = !1;
  module$contents$jspb$binary$decoder_ASSUME_DATAVIEW_IS_FAST && (this.dataView_ = null);
  this.cursor_ = this.end_ = this.start_ = 0;
  this.aliasBytesFields = !1;
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.setBlock = function(data, start, length) {
  var unpackedData = module$contents$jspb$binary$internal_buffer_bufferFromSource(data);
  this.bytes_ = unpackedData.buffer;
  this.bytesAreImmutable_ = unpackedData.isImmutable;
  module$contents$jspb$binary$decoder_ASSUME_DATAVIEW_IS_FAST && (this.dataView_ = null);
  this.start_ = start || 0;
  this.end_ = length !== void 0 ? this.start_ + length : this.bytes_.length;
  this.cursor_ = this.start_;
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.setEnd = function(end) {
  this.end_ = end;
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.reset = function() {
  this.cursor_ = this.start_;
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.getCursor = function() {
  return this.cursor_;
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.setCursor = function(cursor) {
  this.cursor_ = cursor;
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.advance = function(count) {
  this.setCursorAndCheck(this.cursor_ + count);
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.atEnd = function() {
  return this.cursor_ == this.end_;
};
module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64 = function(decoder, convert) {
  var lowBits = 0, highBits = 0, shift = 0, bytes = decoder.bytes_, cursor = decoder.cursor_;
  do {
    var temp = bytes[cursor++];
    lowBits |= (temp & 127) << shift;
    shift += 7;
  } while (shift < 32 && temp & 128);
  shift > 32 && (highBits |= (temp & 127) >> 4);
  for (shift = 3; shift < 32 && temp & 128; shift += 7) {
    temp = bytes[cursor++], highBits |= (temp & 127) << shift;
  }
  decoder.setCursorAndCheck(cursor);
  if (temp < 128) {
    return convert(lowBits >>> 0, highBits >>> 0);
  }
  throw module$contents$jspb$binary$errors_invalidVarintError();
};
module$exports$jspb$binary$decoder.BinaryDecoder.readSplitZigzagVarint64 = function(decoder, convert) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64(decoder, function(low, high) {
    return module$contents$jspb$utils_fromZigzag64(low, high, convert);
  });
};
module$exports$jspb$binary$decoder.BinaryDecoder.readSplitFixed64 = function(decoder, convert) {
  var bytes = decoder.bytes_, cursor = decoder.cursor_;
  decoder.advance(8);
  for (var lowBits = 0, highBits = 0, i = cursor + 7; i >= cursor; i--) {
    lowBits = lowBits << 8 | bytes[i], highBits = highBits << 8 | bytes[i + 4];
  }
  return convert(lowBits, highBits);
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.skipVarint = function() {
  module$exports$jspb$binary$decoder.BinaryDecoder.readBool(this);
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.setCursorAndCheck = function(cursor) {
  this.cursor_ = cursor;
  if (cursor > this.end_) {
    throw module$contents$jspb$binary$errors_readTooFarError(this.end_, cursor);
  }
};
module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint32 = function(decoder) {
  var bytes = decoder.bytes_, cursor = decoder.cursor_, temp = bytes[cursor++], x = temp & 127;
  if (temp & 128 && (temp = bytes[cursor++], x |= (temp & 127) << 7, temp & 128 && (temp = bytes[cursor++], x |= (temp & 127) << 14, temp & 128 && (temp = bytes[cursor++], x |= (temp & 127) << 21, temp & 128 && (temp = bytes[cursor++], x |= temp << 28, temp & 128 && bytes[cursor++] & 128 && bytes[cursor++] & 128 && bytes[cursor++] & 128 && bytes[cursor++] & 128 && bytes[cursor++] & 128))))) {
    throw module$contents$jspb$binary$errors_invalidVarintError();
  }
  decoder.setCursorAndCheck(cursor);
  return x;
};
module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint32 = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint32(decoder) >>> 0;
};
module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint32 = function(decoder) {
  var zigzag = module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint32(decoder);
  return zigzag >>> 1 ^ -(zigzag & 1);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint64 = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64(decoder, module$contents$jspb$utils_joinUint64);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint64String = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64(decoder, module$contents$jspb$utils_joinUnsignedDecimalString);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint64Gbigint = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64(decoder, module$contents$jspb$utils_joinUint64Gbigint);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint64NumberOrString = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64(decoder, module$contents$jspb$utils_joinUnsignedNumberOrDecimalString);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint64 = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64(decoder, module$contents$jspb$utils_joinInt64);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint64String = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64(decoder, module$contents$jspb$utils_joinSignedDecimalString);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint64Gbigint = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64(decoder, module$contents$jspb$utils_joinInt64Gbigint);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint64NumberOrString = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64(decoder, module$contents$jspb$utils_joinSignedNumberOrDecimalString);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint64 = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64(decoder, module$contents$jspb$utils_joinZigzag64);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint64String = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitZigzagVarint64(decoder, module$contents$jspb$utils_joinSignedDecimalString);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint64Gbigint = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitZigzagVarint64(decoder, module$contents$jspb$utils_joinInt64Gbigint);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint64NumberOrString = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitZigzagVarint64(decoder, module$contents$jspb$utils_joinSignedNumberOrDecimalString);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readUint8 = function(decoder) {
  var a = decoder.bytes_[decoder.cursor_ + 0];
  decoder.advance(1);
  return a;
};
module$exports$jspb$binary$decoder.BinaryDecoder.readUint16 = function(decoder) {
  var a = decoder.bytes_[decoder.cursor_ + 0], b = decoder.bytes_[decoder.cursor_ + 1];
  decoder.advance(2);
  return a << 0 | b << 8;
};
module$exports$jspb$binary$decoder.BinaryDecoder.readUint32 = function(decoder) {
  var bytes = decoder.bytes_, cursor = decoder.cursor_, a = bytes[cursor + 0], b = bytes[cursor + 1], c = bytes[cursor + 2], d = bytes[cursor + 3];
  decoder.advance(4);
  return (a << 0 | b << 8 | c << 16 | d << 24) >>> 0;
};
module$exports$jspb$binary$decoder.BinaryDecoder.readUint64 = function(decoder) {
  var bitsLow = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder), bitsHigh = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder);
  return module$contents$jspb$utils_joinUint64(bitsLow, bitsHigh);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readUint64String = function(decoder) {
  var bitsLow = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder), bitsHigh = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder);
  return module$contents$jspb$utils_joinUnsignedDecimalString(bitsLow, bitsHigh);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readUint64Gbigint = function(decoder) {
  var bitsLow = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder), bitsHigh = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder);
  return module$contents$jspb$utils_joinUint64Gbigint(bitsLow, bitsHigh);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readUint64NumberOrString = function(decoder) {
  var bitsLow = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder), bitsHigh = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder);
  return module$contents$jspb$utils_joinUnsignedNumberOrDecimalString(bitsLow, bitsHigh);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readInt8 = function(decoder) {
  var a = decoder.bytes_[decoder.cursor_ + 0];
  decoder.advance(1);
  return a << 24 >> 24;
};
module$exports$jspb$binary$decoder.BinaryDecoder.readInt16 = function(decoder) {
  var a = decoder.bytes_[decoder.cursor_ + 0], b = decoder.bytes_[decoder.cursor_ + 1];
  decoder.advance(2);
  return (a << 0 | b << 8) << 16 >> 16;
};
module$exports$jspb$binary$decoder.BinaryDecoder.readInt32 = function(decoder) {
  var bytes = decoder.bytes_, cursor = decoder.cursor_, a = bytes[cursor + 0], b = bytes[cursor + 1], c = bytes[cursor + 2], d = bytes[cursor + 3];
  decoder.advance(4);
  return a << 0 | b << 8 | c << 16 | d << 24;
};
module$exports$jspb$binary$decoder.BinaryDecoder.readInt64 = function(decoder) {
  var bitsLow = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder), bitsHigh = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder);
  return module$contents$jspb$utils_joinInt64(bitsLow, bitsHigh);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readInt64String = function(decoder) {
  var bitsLow = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder), bitsHigh = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder);
  return module$contents$jspb$utils_joinSignedDecimalString(bitsLow, bitsHigh);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readInt64NumberOrString = function(decoder) {
  var bitsLow = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder), bitsHigh = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder);
  return module$contents$jspb$utils_joinSignedNumberOrDecimalString(bitsLow, bitsHigh);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readInt64Gbigint = function(decoder) {
  var bitsLow = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder), bitsHigh = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder);
  return module$contents$jspb$utils_joinInt64Gbigint(bitsLow, bitsHigh);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readFloat = function(decoder) {
  var bitsLow = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder), sign = (bitsLow >> 31) * 2 + 1, exp = bitsLow >>> 23 & 255, mant = bitsLow & 8388607;
  return exp == 255 ? mant ? NaN : sign * Infinity : exp == 0 ? sign * 1.401298464324817E-45 * mant : sign * Math.pow(2, exp - 150) * (mant + 8388608);
};
module$exports$jspb$binary$decoder.BinaryDecoder.readDouble = function(decoder) {
  if (module$contents$jspb$binary$decoder_ASSUME_DATAVIEW_IS_FAST) {
    var result = decoder.getDataView().getFloat64(decoder.cursor_, !0);
    decoder.advance(8);
    return result;
  }
  var bitsLow = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder), bitsHigh = module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(decoder), sign = (bitsHigh >> 31) * 2 + 1, exp = bitsHigh >>> 20 & 2047, mant = module$exports$jspb$BinaryConstants.TWO_TO_32 * (bitsHigh & 1048575) + bitsLow;
  return exp == 2047 ? mant ? NaN : sign * Infinity : exp == 0 ? sign * 4.9E-324 * mant : sign * Math.pow(2, exp - 1075) * (mant + module$exports$jspb$BinaryConstants.TWO_TO_52);
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.readDoubleArrayInto = function(len, dst) {
  var cursor = this.cursor_, byteLength = 8 * len;
  if (cursor + byteLength > this.end_) {
    throw module$contents$jspb$binary$errors_readTooFarError(byteLength, this.end_ - cursor);
  }
  var bytes = this.bytes_, bufferStart = cursor + bytes.byteOffset;
  if (module$contents$jspb$binary$decoder_ASSUME_DATAVIEW_IS_FAST) {
    this.cursor_ += byteLength;
    for (var subView = new DataView(bytes.buffer, bufferStart, byteLength), i = 0;;) {
      var next_i = i + 8;
      if (next_i > subView.byteLength) {
        break;
      }
      dst.push(subView.getFloat64(i, !0));
      i = next_i;
    }
  } else if (module$contents$jspb$binary$decoder_isLittleEndianCache === void 0 && (module$contents$jspb$binary$decoder_isLittleEndianCache = (new Uint16Array((new Uint8Array([1, 2])).buffer))[0] == 513), goog.asserts.assertBoolean(module$contents$jspb$binary$decoder_isLittleEndianCache)) {
    this.cursor_ += byteLength;
    for (var doubleArray = new Float64Array(bytes.buffer.slice(bufferStart, bufferStart + byteLength)), i$jscomp$0 = 0; i$jscomp$0 < doubleArray.length; i$jscomp$0++) {
      dst.push(doubleArray[i$jscomp$0]);
    }
  } else {
    for (var i$jscomp$1 = 0; i$jscomp$1 < len; i$jscomp$1++) {
      dst.push(module$exports$jspb$binary$decoder.BinaryDecoder.readDouble(this));
    }
  }
};
module$exports$jspb$binary$decoder.BinaryDecoder.readBool = function(decoder) {
  for (var varintBits = 0, cursor = decoder.cursor_, invalidCursor = cursor + 10, bytes = decoder.bytes_; cursor < invalidCursor;) {
    var byte = bytes[cursor++];
    varintBits |= byte;
    if ((byte & 128) === 0) {
      return decoder.setCursorAndCheck(cursor), !!(varintBits & 127);
    }
  }
  throw module$contents$jspb$binary$errors_invalidVarintError();
};
module$exports$jspb$binary$decoder.BinaryDecoder.readEnum = function(decoder) {
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint32(decoder);
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.checkReadLengthAndAdvance = function(length) {
  if (length < 0) {
    throw Error("Tried to read a negative byte length: " + length);
  }
  var cursor = this.cursor_, newCursor = cursor + length;
  if (newCursor > this.end_) {
    throw module$contents$jspb$binary$errors_readTooFarError(length, this.end_ - cursor);
  }
  this.cursor_ = newCursor;
  return cursor;
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.readString = function(length, parsingErrorsAreFatal) {
  var cursor = this.checkReadLengthAndAdvance(length), bytes = goog.asserts.assert(this.bytes_);
  if (module$contents$jspb$binary$utf8_useTextDecoderDecode) {
    var bytes$jscomp$0 = bytes;
    if (parsingErrorsAreFatal) {
      var instance = module$contents$jspb$binary$utf8_fatalDecoderInstance;
      instance || (instance = module$contents$jspb$binary$utf8_fatalDecoderInstance = new TextDecoder("utf-8", {fatal:!0}));
      var JSCompiler_temp = instance;
    } else {
      var instance$jscomp$0 = module$contents$jspb$binary$utf8_nonFatalDecoderInstance;
      instance$jscomp$0 || (instance$jscomp$0 = module$contents$jspb$binary$utf8_nonFatalDecoderInstance = new TextDecoder("utf-8", {fatal:!1}));
      JSCompiler_temp = instance$jscomp$0;
    }
    var decoder = JSCompiler_temp, bytes$jscomp$1 = bytes$jscomp$0, end = cursor + length;
    bytes$jscomp$0 = cursor === 0 && end === bytes$jscomp$1.length ? bytes$jscomp$1 : bytes$jscomp$1.subarray(cursor, end);
    try {
      var JSCompiler_temp$jscomp$0 = decoder.decode(bytes$jscomp$0);
    } catch (e) {
      var JSCompiler_temp$jscomp$1;
      if (JSCompiler_temp$jscomp$1 = parsingErrorsAreFatal) {
        if (module$contents$jspb$binary$utf8_isFatalTextDecoderCachableAfterThrowing_ === void 0) {
          try {
            decoder.decode(new Uint8Array([128]));
          } catch (e) {
          }
          try {
            decoder.decode(new Uint8Array([97])), module$contents$jspb$binary$utf8_isFatalTextDecoderCachableAfterThrowing_ = !0;
          } catch (e) {
            module$contents$jspb$binary$utf8_isFatalTextDecoderCachableAfterThrowing_ = !1;
          }
        }
        JSCompiler_temp$jscomp$1 = !module$contents$jspb$binary$utf8_isFatalTextDecoderCachableAfterThrowing_;
      }
      JSCompiler_temp$jscomp$1 && (module$contents$jspb$binary$utf8_fatalDecoderInstance = void 0);
      throw e;
    }
  } else {
    for (var cursor$jscomp$0 = cursor, end$jscomp$0 = cursor$jscomp$0 + length, codeUnits = [], result = null, c1, c2, c3, c4; cursor$jscomp$0 < end$jscomp$0;) {
      c1 = bytes[cursor$jscomp$0++];
      if (c1 < 128) {
        codeUnits.push(c1);
      } else if (c1 < 224) {
        if (cursor$jscomp$0 >= end$jscomp$0) {
          module$contents$jspb$binary$utf8_invalid(parsingErrorsAreFatal, codeUnits);
        } else {
          if (c2 = bytes[cursor$jscomp$0++], c1 < 194 || (c2 & 192) !== 128) {
            cursor$jscomp$0--, module$contents$jspb$binary$utf8_invalid(parsingErrorsAreFatal, codeUnits);
          } else {
            var codeUnit = (c1 & 31) << 6 | c2 & 63;
            (0,goog.asserts.assert)(codeUnit >= 128 && codeUnit <= 2047);
            codeUnits.push(codeUnit);
          }
        }
      } else if (c1 < 240) {
        if (cursor$jscomp$0 >= end$jscomp$0 - 1) {
          module$contents$jspb$binary$utf8_invalid(parsingErrorsAreFatal, codeUnits);
        } else {
          if (c2 = bytes[cursor$jscomp$0++], (c2 & 192) !== 128 || c1 === 224 && c2 < 160 || c1 === 237 && c2 >= 160 || ((c3 = bytes[cursor$jscomp$0++]) & 192) !== 128) {
            cursor$jscomp$0--, module$contents$jspb$binary$utf8_invalid(parsingErrorsAreFatal, codeUnits);
          } else {
            var codeUnit$jscomp$0 = (c1 & 15) << 12 | (c2 & 63) << 6 | c3 & 63;
            (0,goog.asserts.assert)(codeUnit$jscomp$0 >= 2048 && codeUnit$jscomp$0 <= 65535);
            (0,goog.asserts.assert)(codeUnit$jscomp$0 < 55296 || codeUnit$jscomp$0 > 57343);
            codeUnits.push(codeUnit$jscomp$0);
          }
        }
      } else if (c1 <= 244) {
        if (cursor$jscomp$0 >= end$jscomp$0 - 2) {
          module$contents$jspb$binary$utf8_invalid(parsingErrorsAreFatal, codeUnits);
        } else {
          if (c2 = bytes[cursor$jscomp$0++], (c2 & 192) !== 128 || (c1 << 28) + (c2 - 144) >> 30 !== 0 || ((c3 = bytes[cursor$jscomp$0++]) & 192) !== 128 || ((c4 = bytes[cursor$jscomp$0++]) & 192) !== 128) {
            cursor$jscomp$0--, module$contents$jspb$binary$utf8_invalid(parsingErrorsAreFatal, codeUnits);
          } else {
            var codepoint = (c1 & 7) << 18 | (c2 & 63) << 12 | (c3 & 63) << 6 | c4 & 63;
            (0,goog.asserts.assert)(codepoint >= 65536 && codepoint <= 1114111);
            codepoint -= 65536;
            codeUnits.push((codepoint >> 10 & 1023) + 55296, (codepoint & 1023) + 56320);
          }
        }
      } else {
        module$contents$jspb$binary$utf8_invalid(parsingErrorsAreFatal, codeUnits);
      }
      codeUnits.length >= 8192 && (result = module$contents$jspb$binary$utf8_codeUnitsToString(result, codeUnits), codeUnits.length = 0);
    }
    (0,goog.asserts.assert)(cursor$jscomp$0 === end$jscomp$0, "expected " + cursor$jscomp$0 + " === " + end$jscomp$0);
    JSCompiler_temp$jscomp$0 = module$contents$jspb$binary$utf8_codeUnitsToString(result, codeUnits);
  }
  return JSCompiler_temp$jscomp$0;
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.readByteString = function(length) {
  if (length == 0) {
    return module$exports$jspb$bytestring.ByteString.empty();
  }
  var cursor = this.checkReadLengthAndAdvance(length);
  if (this.aliasBytesFields && this.bytesAreImmutable_) {
    var JSCompiler_temp = this.bytes_.subarray(cursor, cursor + length);
  } else {
    var arr = goog.asserts.assert(this.bytes_), endIdx = cursor + length;
    JSCompiler_temp = cursor === endIdx ? new Uint8Array(0) : module$contents$jspb$utils_SUPPORTS_UINT8ARRAY_SLICING ? arr.slice(cursor, endIdx) : new Uint8Array(arr.subarray(cursor, endIdx));
  }
  return module$contents$jspb$unsafe_bytestring_unsafeByteStringFromUint8Array(JSCompiler_temp);
};
module$exports$jspb$binary$decoder.BinaryDecoder.prototype.getDataView = function() {
  var dataView = this.dataView_;
  if (!dataView) {
    var bytes = this.bytes_;
    dataView = this.dataView_ = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
  }
  return dataView;
};
module$exports$jspb$binary$decoder.BinaryDecoder.resetInstanceCache = function() {
  module$exports$jspb$binary$decoder.BinaryDecoder.instanceCache_ = [];
};
module$exports$jspb$binary$decoder.BinaryDecoder.getInstanceCache = function() {
  return module$exports$jspb$binary$decoder.BinaryDecoder.instanceCache_;
};
module$exports$jspb$binary$decoder.BinaryDecoder.instanceCache_ = [];
var module$contents$jspb$binary$decoder_isLittleEndianCache = void 0, module$contents$jspb$binary$decoder_ASSUME_DATAVIEW_IS_FAST = goog.FEATURESET_YEAR >= 2019;
var module$exports$jspb$binary$reader = {};
goog.asserts.assert(!0);
module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL = !0;
module$exports$jspb$binary$reader.BinaryReaderOptions = function() {
};
module$exports$jspb$binary$reader.BinaryReader = function(bytes, start, length, options) {
  this.decoder_ = module$exports$jspb$binary$decoder.BinaryDecoder.alloc(bytes, start, length, options);
  this.fieldCursor_ = this.decoder_.getCursor();
  this.nextField_ = module$exports$jspb$BinaryConstants.INVALID_FIELD_NUMBER;
  this.nextTag_ = module$exports$jspb$BinaryConstants.INVALID_TAG;
  this.nextWireType_ = module$exports$jspb$BinaryConstants.WireType.INVALID;
  this.setOptions(options);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.setOptions = function($jscomp$destructuring$var31) {
  var $jscomp$destructuring$var32 = $jscomp$destructuring$var31 === void 0 ? {} : $jscomp$destructuring$var31;
  this.discardUnknownFields = $jscomp$destructuring$var32.discardUnknownFields === void 0 ? !1 : $jscomp$destructuring$var32.discardUnknownFields;
};
module$exports$jspb$binary$reader.BinaryReader.alloc = function(bytes, start, length, options) {
  if (module$exports$jspb$binary$reader.BinaryReader.instanceCache_.length) {
    var newReader = module$exports$jspb$binary$reader.BinaryReader.instanceCache_.pop();
    newReader.setOptions(options);
    newReader.decoder_.init(bytes, start, length, options);
    return newReader;
  }
  return new module$exports$jspb$binary$reader.BinaryReader(bytes, start, length, options);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.free = function() {
  this.decoder_.clear();
  this.nextTag_ = module$exports$jspb$BinaryConstants.INVALID_TAG;
  this.nextField_ = module$exports$jspb$BinaryConstants.INVALID_FIELD_NUMBER;
  this.nextWireType_ = module$exports$jspb$BinaryConstants.WireType.INVALID;
  module$exports$jspb$binary$reader.BinaryReader.instanceCache_.length < 100 && module$exports$jspb$binary$reader.BinaryReader.instanceCache_.push(this);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.getCursor = function() {
  return this.decoder_.getCursor();
};
module$exports$jspb$binary$reader.BinaryReader.prototype.getTag = function() {
  return this.nextTag_;
};
module$exports$jspb$binary$reader.BinaryReader.prototype.isEndGroup = function() {
  return this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.END_GROUP;
};
module$exports$jspb$binary$reader.BinaryReader.prototype.isDelimited = function() {
  return this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.DELIMITED;
};
module$exports$jspb$binary$reader.BinaryReader.prototype.reset = function() {
  this.decoder_.reset();
  this.fieldCursor_ = this.decoder_.getCursor();
  this.nextTag_ = module$exports$jspb$BinaryConstants.INVALID_TAG;
  this.nextField_ = module$exports$jspb$BinaryConstants.INVALID_FIELD_NUMBER;
  this.nextWireType_ = module$exports$jspb$BinaryConstants.WireType.INVALID;
};
module$exports$jspb$binary$reader.BinaryReader.prototype.advance = function(count) {
  this.decoder_.advance(count);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.nextField = function() {
  if (this.decoder_.atEnd()) {
    return !1;
  }
  this.assertPriorFieldWasRead();
  this.fieldCursor_ = this.decoder_.getCursor();
  var header = module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint32(this.decoder_), nextField = header >>> 3, nextWireType = header & 7;
  if (!module$contents$jspb$BinaryConstants_isValidWireType(nextWireType)) {
    throw module$contents$jspb$binary$errors_invalidWireTypeError(nextWireType, this.fieldCursor_);
  }
  if (nextField < 1) {
    throw Error("Invalid field number: " + nextField + " (at position " + this.fieldCursor_ + ")");
  }
  this.nextTag_ = header;
  this.nextField_ = nextField;
  this.nextWireType_ = nextWireType;
  return !0;
};
module$exports$jspb$binary$reader.BinaryReader.prototype.assertPriorFieldWasRead = function() {
  if (module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && this.nextTag_ !== module$exports$jspb$BinaryConstants.INVALID_TAG) {
    var currentCursor = this.decoder_.getCursor();
    this.decoder_.setCursor(this.fieldCursor_);
    module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint32(this.decoder_);
    this.nextWireType_ === module$exports$jspb$BinaryConstants.WireType.END_GROUP || this.nextWireType_ === module$exports$jspb$BinaryConstants.WireType.START_GROUP ? goog.asserts.assert(currentCursor === this.decoder_.getCursor(), "Expected to not advance the cursor.  Group tags do not have values.") : goog.asserts.assert(currentCursor > this.decoder_.getCursor(), "Expected to read the field, did you forget to call a read or skip method?");
    this.decoder_.setCursor(currentCursor);
  }
};
module$exports$jspb$binary$reader.BinaryReader.prototype.skipVarintField = function() {
  this.nextWireType_ != module$exports$jspb$BinaryConstants.WireType.VARINT ? (goog.asserts.fail("Invalid wire type for skipVarintField"), this.skipField()) : this.decoder_.skipVarint();
};
module$exports$jspb$binary$reader.BinaryReader.prototype.skipDelimitedField = function() {
  if (this.nextWireType_ != module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return goog.asserts.fail("Invalid wire type for skipDelimitedField"), this.skipField(), 0;
  }
  var length = module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint32(this.decoder_);
  this.decoder_.advance(length);
  return length;
};
module$exports$jspb$binary$reader.BinaryReader.prototype.skipFixed32Field = function() {
  goog.asserts.assert(this.nextWireType_ === module$exports$jspb$BinaryConstants.WireType.FIXED32);
  this.decoder_.advance(4);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.skipFixed64Field = function() {
  goog.asserts.assert(this.nextWireType_ === module$exports$jspb$BinaryConstants.WireType.FIXED64);
  this.decoder_.advance(8);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.skipGroup = function() {
  var previousField = this.nextField_;
  do {
    if (!this.nextField()) {
      throw Error("Unmatched start-group tag: stream EOF");
    }
    if (this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.END_GROUP) {
      if (this.nextField_ != previousField) {
        throw Error("Unmatched end-group tag");
      }
      break;
    }
    this.skipField();
  } while (1);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.skipField = function() {
  switch(this.nextWireType_) {
    case module$exports$jspb$BinaryConstants.WireType.VARINT:
      this.skipVarintField();
      break;
    case module$exports$jspb$BinaryConstants.WireType.FIXED64:
      this.skipFixed64Field();
      break;
    case module$exports$jspb$BinaryConstants.WireType.DELIMITED:
      this.skipDelimitedField();
      break;
    case module$exports$jspb$BinaryConstants.WireType.FIXED32:
      this.skipFixed32Field();
      break;
    case module$exports$jspb$BinaryConstants.WireType.START_GROUP:
      this.skipGroup();
      break;
    default:
      throw module$contents$jspb$binary$errors_invalidWireTypeError(this.nextWireType_, this.fieldCursor_);
  }
};
module$exports$jspb$binary$reader.BinaryReader.prototype.skipToEnd = function() {
  this.decoder_.setCursor(this.decoder_.end_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readUnknownField = function() {
  var begin = this.fieldCursor_;
  this.skipField();
  return this.readUnknownFieldsStartingFrom(begin);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readUnknownFieldsStartingFrom = function(fieldOffset) {
  if (!this.discardUnknownFields) {
    var currentOffset = this.decoder_.getCursor(), fieldLength = currentOffset - fieldOffset;
    this.decoder_.setCursor(fieldOffset);
    var unknownField = this.decoder_.readByteString(fieldLength);
    goog.asserts.assert(currentOffset == this.decoder_.getCursor());
    return unknownField;
  }
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readMessage = function(message, reader, contextA, contextB, contextC) {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.DELIMITED);
  var oldEnd = this.decoder_.end_, length = module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint32(this.decoder_), newEnd = this.decoder_.getCursor() + length, underflowLength = newEnd - oldEnd;
  underflowLength <= 0 && (this.decoder_.setEnd(newEnd), reader(message, this, contextA, contextB, contextC), underflowLength = newEnd - this.decoder_.getCursor());
  if (underflowLength) {
    throw Error("Message parsing ended unexpectedly. Expected to read " + (length + " bytes, instead read " + (length - underflowLength) + " bytes, either the data ended unexpectedly or the message misreported its own length"));
  }
  this.decoder_.setCursor(newEnd);
  this.decoder_.setEnd(oldEnd);
  return message;
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readGroup = function(field, message, reader) {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.START_GROUP);
  goog.asserts.assert(this.nextField_ == field);
  reader(message, this);
  if (this.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.END_GROUP) {
    throw Error("Group submessage did not end with an END_GROUP tag");
  }
  if (this.nextField_ !== field) {
    throw Error("Unmatched end-group tag");
  }
  return message;
};
module$exports$jspb$binary$reader.BinaryReader.prototype.isMessageSetGroup = function() {
  return this.getTag() === module$contents$jspb$binary$reader_MESSAGE_SET_START_GROUP_TAG;
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readMessageSetGroup = function(readerCallback) {
  goog.asserts.assert(this.isMessageSetGroup());
  for (var typeId = 0, messageCursor = 0; this.nextField() && !this.isEndGroup();) {
    this.getTag() !== module$contents$jspb$binary$reader_MESSAGE_SET_TYPE_ID_TAG || typeId ? this.getTag() !== module$contents$jspb$binary$reader_MESSAGE_SET_MESSAGE_TAG || messageCursor ? this.skipField() : typeId ? (messageCursor = -1, this.readMessage(typeId, readerCallback)) : (messageCursor = this.fieldCursor_, this.skipDelimitedField()) : (typeId = this.readUint32(), messageCursor && (goog.asserts.assert(messageCursor > 0), module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && 
    (this.nextTag_ = module$exports$jspb$BinaryConstants.INVALID_TAG, this.nextWireType_ = module$exports$jspb$BinaryConstants.WireType.INVALID), this.decoder_.setCursor(messageCursor), messageCursor = 0));
  }
  if (this.getTag() !== module$contents$jspb$binary$reader_MESSAGE_SET_END_TAG || !messageCursor || !typeId) {
    throw Error("Malformed binary bytes for message set");
  }
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readInt32 = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint32(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readInt64 = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint64(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readInt64String = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint64String(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readInt64Gbigint = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint64Gbigint(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readInt64NumberOrString = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint64NumberOrString(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readUint32 = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint32(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readUint64 = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint64(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readUint64String = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint64String(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readUint64Gbigint = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint64Gbigint(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readUint64NumberOrString = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint64NumberOrString(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readSint32 = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint32(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readSint64 = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint64(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readSint64String = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint64String(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readSint64Gbigint = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint64Gbigint(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readFixed32 = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.FIXED32);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readUint32(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readFixed64 = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.FIXED64);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readUint64(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readFixed64String = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.FIXED64);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readUint64String(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readFixed64Gbigint = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.FIXED64);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readUint64Gbigint(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readSfixed32 = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.FIXED32);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readInt32(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readSfixed64 = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.FIXED64);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readInt64(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readSfixed64String = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.FIXED64);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readInt64String(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readSfixed64Gbigint = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.FIXED64);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readInt64Gbigint(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readFloat = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.FIXED32);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readFloat(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readDouble = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.FIXED64);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readDouble(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readBool = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readBool(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readEnum = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint32(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readString = function() {
  if (module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL) {
    return this.readStringRequireUtf8();
  }
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.DELIMITED);
  var length = module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint32(this.decoder_);
  return this.decoder_.readString(length, !1);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readStringRequireUtf8 = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.DELIMITED);
  var length = module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint32(this.decoder_);
  return this.decoder_.readString(length, !0);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readByteString = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.DELIMITED);
  var length = module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint32(this.decoder_);
  return this.decoder_.readByteString(length);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readSplitVarint64 = function(convert) {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64(this.decoder_, convert);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readSplitZigzagVarint64 = function(convert) {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.VARINT);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitVarint64(this.decoder_, function(lowBits, highBits) {
    return module$contents$jspb$utils_fromZigzag64(lowBits, highBits, convert);
  });
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readSplitFixed64 = function(convert) {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.FIXED64);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readSplitFixed64(this.decoder_, convert);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackedFieldInto_ = function(decodeMethod, dst) {
  for (var length = this.readPackedFieldLength_(), end = this.decoder_.getCursor() + length; this.decoder_.getCursor() < end;) {
    dst.push(decodeMethod(this.decoder_));
  }
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackedFieldLength_ = function() {
  goog.asserts.assert(this.nextWireType_ == module$exports$jspb$BinaryConstants.WireType.DELIMITED);
  return module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint32(this.decoder_);
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableInt32Into = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint32, dst) : dst.push(this.readInt32());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableInt64Into = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint64, dst) : dst.push(this.readInt64());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableInt64StringInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint64String, dst) : dst.push(this.readInt64String());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableInt64GbigintInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readSignedVarint64Gbigint, dst) : dst.push(this.readInt64Gbigint());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableUint32Into = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint32, dst) : dst.push(this.readUint32());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableUint64Into = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint64, dst) : dst.push(this.readUint64());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableUint64StringInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint64String, dst) : dst.push(this.readUint64String());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableUint64GbigintInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readUnsignedVarint64Gbigint, dst) : dst.push(this.readUint64Gbigint());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableSint32Into = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint32, dst) : dst.push(this.readSint32());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableSint64Into = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint64, dst) : dst.push(this.readSint64());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableSint64StringInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint64String, dst) : dst.push(this.readSint64String());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableSint64GbigintInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readZigzagVarint64Gbigint, dst) : dst.push(this.readSint64Gbigint());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableFixed32Into = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readUint32, dst) : dst.push(this.readFixed32());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableFixed64Into = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readUint64, dst) : dst.push(this.readFixed64());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableFixed64StringInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readUint64String, dst) : dst.push(this.readFixed64String());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableFixed64GbigintInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readUint64Gbigint, dst) : dst.push(this.readFixed64Gbigint());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableSfixed32Into = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readInt32, dst) : dst.push(this.readSfixed32());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableSfixed64Into = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readInt64, dst) : dst.push(this.readSfixed64());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableSfixed64StringInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readInt64String, dst) : dst.push(this.readSfixed64String());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableSfixed64GbigintInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readInt64Gbigint, dst) : dst.push(this.readSfixed64Gbigint());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableFloatInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readFloat, dst) : dst.push(this.readFloat());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableDoubleInto = function(dst) {
  this.isDelimited() ? this.decoder_.readDoubleArrayInto(this.readPackedFieldLength_() / 8, dst) : dst.push(this.readDouble());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableBoolInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readBool, dst) : dst.push(this.readBool());
};
module$exports$jspb$binary$reader.BinaryReader.prototype.readPackableEnumInto = function(dst) {
  this.isDelimited() ? this.readPackedFieldInto_(module$exports$jspb$binary$decoder.BinaryDecoder.readEnum, dst) : dst.push(this.readEnum());
};
module$exports$jspb$binary$reader.BinaryReader.resetInstanceCache = function() {
  module$exports$jspb$binary$reader.BinaryReader.instanceCache_ = [];
};
module$exports$jspb$binary$reader.BinaryReader.getInstanceCache = function() {
  return module$exports$jspb$binary$reader.BinaryReader.instanceCache_;
};
module$exports$jspb$binary$reader.BinaryReader.instanceCache_ = [];
var module$contents$jspb$binary$reader_MESSAGE_SET_START_GROUP_TAG = module$exports$jspb$BinaryConstants.MESSAGE_SET_GROUP_NUMBER * 8 + module$exports$jspb$BinaryConstants.WireType.START_GROUP, module$contents$jspb$binary$reader_MESSAGE_SET_TYPE_ID_TAG = module$exports$jspb$BinaryConstants.MESSAGE_SET_TYPE_ID_FIELD_NUMBER * 8 + module$exports$jspb$BinaryConstants.WireType.VARINT, module$contents$jspb$binary$reader_MESSAGE_SET_MESSAGE_TAG = module$exports$jspb$BinaryConstants.MESSAGE_SET_MESSAGE_FIELD_NUMBER * 
8 + module$exports$jspb$BinaryConstants.WireType.DELIMITED, module$contents$jspb$binary$reader_MESSAGE_SET_END_TAG = module$exports$jspb$BinaryConstants.MESSAGE_SET_GROUP_NUMBER * 8 + module$exports$jspb$BinaryConstants.WireType.END_GROUP;
var module$exports$google3$javascript$apps$jspb$descriptor = {DescriptorTypeReference:function(internalArg) {
  module$contents$google3$javascript$apps$jspb$descriptor_assertInternalArg(internalArg);
}, EnumDescriptorTypeReference:function(internalArg) {
  module$contents$google3$javascript$apps$jspb$descriptor_assertInternalArg(internalArg);
}};
function module$contents$google3$javascript$apps$jspb$descriptor_assertInternalArg(internalArg) {
  if (internalArg !== module$exports$jspb$internal.DESCRIPTOR_TYPE_REFERENCE_INTERNAL_ARG) {
    throw goog.DEBUG ? Error("do not construct your own descriptors") : Error();
  }
}
;function module$contents$jspb$internal_pivot_selectors_defaultPivotSelector(currentPivot) {
  return goog.DEBUG && module$contents$jspb$internal_options_getRandomizeSerializationFormat() && Math.random() < .5 ? 0 : currentPivot;
}
function module$contents$jspb$internal_pivot_selectors_noChangePivotSelector(currentPivot) {
  return currentPivot;
}
function module$contents$jspb$internal_pivot_selectors_memoryCostPivotSelector(currentPivot, arrayIndexOffset, array, sparseObject) {
  return module$contents$jspb$internal_pivot_selectors_costPivotSelector(currentPivot, arrayIndexOffset, array, sparseObject, module$contents$jspb$internal_pivot_selectors_arrayMemoryCost, module$contents$jspb$internal_pivot_selectors_objectMemoryCost);
}
function module$contents$jspb$internal_pivot_selectors_wireCostPivotSelector(currentPivot, arrayIndexOffset, array, sparseObject) {
  return module$contents$jspb$internal_pivot_selectors_costPivotSelector(currentPivot, arrayIndexOffset, array, sparseObject, module$contents$jspb$internal_pivot_selectors_arrayWireCost, module$contents$jspb$internal_pivot_selectors_objectWireCost);
}
function module$contents$jspb$internal_pivot_selectors_costPivotSelector(originalPivot, arrayIndexOffset, array, sparseObject, arrayCostFn, objectCostFn) {
  if (!array.length && !sparseObject) {
    return 0;
  }
  for (var initialMaxFieldNumberInObject = 0, initialFieldsInObject = 0, initialSetFieldsInArray = 0, initialArrayLength = 0, initialTotalObjectKeyBytes = 0, i = array.length - 1; i >= 0; i--) {
    var value = array[i];
    sparseObject && i === array.length - 1 && value === sparseObject || (initialArrayLength++, value != null && initialSetFieldsInArray++);
  }
  if (sparseObject) {
    for (var k in sparseObject) {
      var n = +k;
      isNaN(n) || (initialTotalObjectKeyBytes += module$contents$jspb$internal_pivot_selectors_keyBytes(n), initialFieldsInObject++, n > initialMaxFieldNumberInObject && (initialMaxFieldNumberInObject = n));
    }
  }
  for (var minCostPivot = originalPivot, minCost = arrayCostFn(initialArrayLength, initialSetFieldsInArray) + objectCostFn(initialFieldsInObject, initialMaxFieldNumberInObject, initialTotalObjectKeyBytes), setFieldsInArray = initialSetFieldsInArray, fieldsInObject = initialFieldsInObject, maxFieldNumberInObject = initialMaxFieldNumberInObject, totalObjectKeyBytes = initialTotalObjectKeyBytes, i$jscomp$0 = array.length - 1; i$jscomp$0 >= 0; i$jscomp$0--) {
    var value$jscomp$0 = array[i$jscomp$0];
    if (!(value$jscomp$0 == null || sparseObject && i$jscomp$0 === array.length - 1 && value$jscomp$0 === sparseObject)) {
      var n$jscomp$0 = module$contents$jspb$internal_fieldNumberFromIndex(i$jscomp$0, arrayIndexOffset), cost = arrayCostFn(n$jscomp$0, setFieldsInArray) + objectCostFn(fieldsInObject, maxFieldNumberInObject, totalObjectKeyBytes);
      cost < minCost && (minCostPivot = 1 + n$jscomp$0, minCost = cost);
      fieldsInObject++;
      setFieldsInArray--;
      totalObjectKeyBytes += module$contents$jspb$internal_pivot_selectors_keyBytes(n$jscomp$0);
      maxFieldNumberInObject = Math.max(maxFieldNumberInObject, n$jscomp$0);
    }
  }
  var zeroPivotCost = arrayCostFn(0, 0) + objectCostFn(fieldsInObject, maxFieldNumberInObject, totalObjectKeyBytes);
  zeroPivotCost < minCost && (minCostPivot = 0, minCost = zeroPivotCost);
  if (sparseObject) {
    fieldsInObject = initialFieldsInObject;
    maxFieldNumberInObject = initialMaxFieldNumberInObject;
    totalObjectKeyBytes = initialTotalObjectKeyBytes;
    setFieldsInArray = initialSetFieldsInArray;
    for (var k$jscomp$0 in sparseObject) {
      var n$jscomp$1 = +k$jscomp$0;
      if (!(isNaN(n$jscomp$1) || n$jscomp$1 >= 1024)) {
        fieldsInObject--;
        setFieldsInArray++;
        totalObjectKeyBytes -= k$jscomp$0.length;
        var cost$jscomp$0 = arrayCostFn(n$jscomp$1, setFieldsInArray) + objectCostFn(fieldsInObject, maxFieldNumberInObject, totalObjectKeyBytes);
        cost$jscomp$0 < minCost && (minCostPivot = 1 + n$jscomp$1, minCost = cost$jscomp$0);
      }
    }
  }
  return minCostPivot;
}
function module$contents$jspb$internal_pivot_selectors_objectWireCost(numFields, maxFieldNumber, totalObjectKeyBytes) {
  return totalObjectKeyBytes + numFields * 3 + (numFields > 1 ? numFields - 1 : 0);
}
function module$contents$jspb$internal_pivot_selectors_arrayWireCost(numEntriesInArray, setFieldsInArray) {
  return (numEntriesInArray > 1 ? numEntriesInArray - 1 : 0) + (numEntriesInArray - setFieldsInArray) * 4;
}
function module$contents$jspb$internal_pivot_selectors_objectMemoryCost(numFields, maxFieldNumber) {
  return numFields == 0 ? 0 : 9 * Math.max(1 << 32 - Math.clz32(numFields + numFields / 2 - 1), 4) <= maxFieldNumber ? numFields == 0 ? 0 : numFields < 4 ? 100 + (numFields - 1) * 16 : numFields < 6 ? 148 + (numFields - 4) * 16 : numFields < 12 ? 244 + (numFields - 6) * 16 : numFields < 22 ? 436 + (numFields - 12) * 19 : numFields < 44 ? 820 + (numFields - 22) * 17 : 52 + 32 * numFields : 40 + 4 * maxFieldNumber;
}
function module$contents$jspb$internal_pivot_selectors_arrayMemoryCost(maxFieldNumber) {
  return 40 + 4 * maxFieldNumber;
}
function module$contents$jspb$internal_pivot_selectors_keyBytes(value) {
  return value >= 100 ? value >= 1E4 ? Math.ceil(Math.log10(1 + value)) : value < 1E3 ? 3 : 4 : value < 10 ? 1 : 2;
}
function module$contents$jspb$internal_pivot_selectors_assertValidPivotSelector(obj) {
  return obj === module$contents$jspb$internal_pivot_selectors_noChangePivotSelector ? module$contents$jspb$internal_pivot_selectors_noChangePivotSelector : obj !== module$contents$jspb$internal_pivot_selectors_defaultPivotSelector && obj !== module$contents$jspb$internal_pivot_selectors_memoryCostPivotSelector && obj !== module$contents$jspb$internal_pivot_selectors_wireCostPivotSelector ? ((0,goog.asserts.fail)("Invalid pivot selector"), module$contents$jspb$internal_pivot_selectors_noChangePivotSelector) : 
  obj;
}
;Symbol(goog.DEBUG ? "jspb.knownfieldset" : void 0);
function module$contents$jspb$internal_dump_toObjectAnyValue(any) {
  var value = (0,jspb_internal_adapters.getFieldNullable)(any, 2);
  if (value == null) {
    return "";
  }
  if (typeof value === "string") {
    return value;
  }
  if (module$contents$jspb$internal_bytes_isU8(value)) {
    return module$contents$jspb$internal_bytes_encodeByteArray(value);
  }
  if (Array.isArray(value)) {
    return module$contents$jspb$internal_copy_cloneToJsonFormat(value);
  }
  if (value instanceof module$exports$jspb$bytestring.ByteString) {
    return value.asBase64();
  }
  if (value && module$contents$jspb$internal_isMessage(value)) {
    return value.toJSON();
  }
  throw Error("invalid value in Any.value field: " + value);
}
;goog.DEBUG ? Symbol("internalJspbHashCode") : Symbol();
var module$contents$jspb$internal$transfer_array_destroyTransferredArrays = goog.DEBUG, module$contents$jspb$internal$transfer_array_allTransferredArrays = module$contents$jspb$internal$transfer_array_destroyTransferredArrays ? new WeakMap() : void 0;
function module$contents$jspb$internal$transfer_array_transferArray(array) {
  if (module$contents$jspb$internal$transfer_array_destroyTransferredArrays && module$contents$jspb$internal$transfer_array_allTransferredArrays.get(array)) {
    throw Error("this array was already transferred");
  }
  if (!Array.isArray(array)) {
    throw Error("must be an array");
  }
  if (Object.isFrozen(array) || Object.isSealed(array) || !Object.isExtensible(array)) {
    throw Error("arrays passed to jspb constructors must be mutable");
  }
  module$contents$jspb$internal_array_state_markArrayTransferred(array);
  if (module$contents$jspb$internal$transfer_array_destroyTransferredArrays) {
    var oldArray = array;
    array = (0,module$exports$jspb$internal_copy.cloneRaw)(array);
    module$contents$jspb$internal$transfer_array_makeArrayUnusable(oldArray);
    module$contents$jspb$internal$transfer_array_allTransferredArrays.set(oldArray, array);
  }
  return array;
}
function module$contents$jspb$internal$transfer_array_makeValueUnusable(value$jscomp$0) {
  if (value$jscomp$0 != null) {
    if (Array.isArray(value$jscomp$0)) {
      module$contents$jspb$internal$transfer_array_makeArrayUnusable(value$jscomp$0);
    } else {
      if (value$jscomp$0 instanceof Uint8Array) {
        module$exports$jspb$internal_bytes.SUPPORTS_STRUCTURED_CLONE ? structuredClone(value$jscomp$0, {transfer:[value$jscomp$0.buffer]}) : value$jscomp$0.fill(97, 0, value$jscomp$0.length);
      } else {
        if (typeof value$jscomp$0 === "object") {
          for (var k in value$jscomp$0) {
            var value = value$jscomp$0[k];
            value$jscomp$0.hasOwnProperty(k) && (delete value$jscomp$0[k], module$contents$jspb$internal$transfer_array_makeValueUnusable(value));
          }
          Object.defineProperty(value$jscomp$0, "dontUseThisItBelongsToJspb", {enumerable:!0, get:module$contents$jspb$internal$transfer_array_dontUseThisItBelongsToJspb});
          value$jscomp$0.toJSON = module$contents$jspb$internal$transfer_array_dontUseThisItBelongsToJspb;
          module$contents$jspb$internal$transfer_array_badPrototype && Object.setPrototypeOf(value$jscomp$0, module$contents$jspb$internal$transfer_array_badPrototype);
          Object.freeze(value$jscomp$0);
        }
      }
    }
  }
}
var module$contents$jspb$internal$transfer_array_badPrototype;
if (module$contents$jspb$internal$transfer_array_destroyTransferredArrays && typeof Proxy !== "undefined") {
  var untypedHandlerMethod = module$contents$jspb$internal$transfer_array_dontUseThisItBelongsToJspb;
  module$contents$jspb$internal$transfer_array_badPrototype = new Proxy({}, {getPrototypeOf:untypedHandlerMethod, setPrototypeOf:untypedHandlerMethod, isExtensible:untypedHandlerMethod, preventExtensions:untypedHandlerMethod, getOwnPropertyDescriptor:untypedHandlerMethod, defineProperty:untypedHandlerMethod, has:untypedHandlerMethod, get:untypedHandlerMethod, set:untypedHandlerMethod, deleteProperty:untypedHandlerMethod, apply:untypedHandlerMethod, construct:untypedHandlerMethod});
}
function module$contents$jspb$internal$transfer_array_makeArrayUnusable(array) {
  for (var i = 0; i < array.length; i++) {
    module$contents$jspb$internal$transfer_array_makeValueUnusable(array[i]);
  }
  if (!Object.isExtensible(array)) {
    throw Error("cannot transfer a frozen or sealed array");
  }
  array.length = 1;
  array[0] = module$contents$jspb$internal$transfer_array_dontUseThisItBelongsToJspb;
  array.toJSON = module$contents$jspb$internal$transfer_array_dontUseThisItBelongsToJspb;
  module$contents$jspb$internal$transfer_array_badPrototype && Object.setPrototypeOf(array, module$contents$jspb$internal$transfer_array_badPrototype);
  Object.freeze(array);
}
function module$contents$jspb$internal$transfer_array_dontUseThisItBelongsToJspb() {
  if (goog.DEBUG) {
    throw Error("this array or object is owned by JSPB and should not be reused, did you mean to copy it with copyJspbArray? See go/jspb-api-gotchas#construct_from_array");
  }
  throw Error();
}
;var module$exports$jspb$message_interface = {ReadonlyMessageInterface:function() {
}};
module$exports$jspb$message_interface.ReadonlyMessageInterface.prototype.serialize = function() {
};
module$exports$jspb$message_interface.ReadonlyMessageInterface.prototype.equals = function() {
};
module$exports$jspb$message_interface.ReadonlyMessageInterface.prototype.hashCode = function() {
};
module$exports$jspb$message_interface.ReadonlyMessageInterface.prototype.toMutable = function() {
};
module$exports$jspb$message_interface.ReadonlyMessageInterface.prototype.clone = function() {
};
module$exports$jspb$message_interface.ReadonlyMessageInterface.prototype.getExtension = function() {
};
module$exports$jspb$message_interface.ReadonlyMessageInterface.prototype.hasExtension = function() {
};
module$exports$jspb$message_interface.MutableMessageInterface = function() {
};
module$exports$jspb$message_interface.MutableMessageInterface.prototype.build = function() {
};
module$exports$jspb$message_interface.MutableMessageInterface.prototype.clone = function() {
};
module$exports$jspb$message_interface.MutableMessageInterface.prototype.getExtension = function() {
};
module$exports$jspb$message_interface.MutableMessageInterface.prototype.hasExtension = function() {
};
var module$exports$jspb = {}, module$contents$jspb_currentPivotSelector, module$contents$jspb_inSerialize, module$contents$jspb_inToStructuredCloneableValue;
module$exports$jspb.Message = function(data, suggestedPivot, messageId) {
  goog.asserts.assertInstanceof(this, module$exports$jspb.Message, "The message constructor should only be used by subclasses");
  goog.asserts.assert(this.constructor !== module$exports$jspb.Message, "Message is an abstract class and cannot be directly constructed");
  if (module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && this[module$exports$jspb$internal.EXEMPTED_SUBCLASS_MARKER] !== !0 && module$exports$jspb$internal_options.USE_DETAILED_MESSAGE_TYPE_HIERARCHY) {
    goog.asserts.assert(this[module$exports$jspb$internal.GENERATED_SUBCLASS_MARKER] === !0, "Message can only be subclassed by proto gencode.");
    var parentPrototype = Object.getPrototypeOf(goog.asserts.assert(Object.getPrototypeOf(this)));
    goog.asserts.assert(parentPrototype.hasOwnProperty(module$exports$jspb$internal.GENERATED_SUBCLASS_MARKER), "Generated jspb classes should not be extended");
  }
  this.internalArray_ = module$contents$jspb$internal_construct_constructMessageArray(data, suggestedPivot, messageId);
  module$contents$jspb$internal_disallowPassingToStructuredClone(this);
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && module$contents$jspb$internal_operations_logOperation({constructMessage:1});
};
module$exports$jspb.Message.prototype.getJsPbMessageId = function() {
  return this.constructor.messageId;
};
module$exports$jspb.Message.prototype.toJSON = function() {
  return module$contents$jspb_toRawInternal(this);
};
module$exports$jspb.Message.prototype.toStructuredCloneableValue = function(pivotSelector) {
  try {
    return goog.asserts.assert(!module$contents$jspb_inSerialize && !module$contents$jspb_inToStructuredCloneableValue), module$contents$jspb_inToStructuredCloneableValue = !0, pivotSelector && (module$contents$jspb_currentPivotSelector = module$contents$jspb$internal_pivot_selectors_assertValidPivotSelector(pivotSelector)), module$contents$jspb_toRawInternal(this);
  } finally {
    pivotSelector && (module$contents$jspb_currentPivotSelector = void 0), module$contents$jspb_inToStructuredCloneableValue = !1;
  }
};
module$exports$jspb.Message.prototype.serialize = function(pivotSelector) {
  var $jscomp$this$m341892119$9 = this;
  goog.asserts.assert(module$contents$jspb_currentPivotSelector === void 0);
  try {
    module$contents$jspb_inSerialize = !0;
    var orig;
    module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && (orig = module$contents$jspb$internal_operations_withoutLogging(function() {
      return module$exports$jspb.Message.deserializeWithCtor($jscomp$this$m341892119$9.constructor, JSON.stringify(module$contents$jspb_toRawInternal($jscomp$this$m341892119$9), module$contents$jspb$internal_json_jspbJsonStringifyReplacer));
    }));
    pivotSelector && (module$contents$jspb_currentPivotSelector = module$contents$jspb$internal_pivot_selectors_assertValidPivotSelector(pivotSelector));
    goog.asserts.assert(module$contents$jspb_inSerialize && !module$contents$jspb_inToStructuredCloneableValue);
    var result = JSON.stringify(module$contents$jspb_toRawInternal(this), module$contents$jspb$internal_json_jspbJsonStringifyReplacer);
    module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && module$contents$jspb$internal_operations_withoutLogging(function() {
      goog.asserts.assert(module$contents$jspb$internal_compare_compareFields(goog.asserts.assertExists(orig), $jscomp$this$m341892119$9));
      goog.asserts.assert(module$contents$jspb$internal_compare_compareMessages(goog.asserts.assertExists(orig), module$exports$jspb.Message.deserializeWithCtor($jscomp$this$m341892119$9.constructor, result)));
    });
    return result;
  } finally {
    pivotSelector && (module$contents$jspb_currentPivotSelector = void 0), module$contents$jspb_inSerialize = !1;
  }
};
module$exports$jspb.Message.deserializeWithCtor = function(ctor, data) {
  goog.asserts.assertFunction(ctor);
  if (data == null || data == "") {
    return goog.asserts.assertInstanceof(new ctor(), module$exports$jspb.Message);
  }
  goog.asserts.assertString(data);
  var array = JSON.parse(data);
  if (!Array.isArray(array)) {
    throw Error(goog.DEBUG ? "Expected to deserialize an Array but got " + goog.typeOf(array) + ": " + array : "dnarr");
  }
  return module$contents$jspb$internal_construct_internalConstructFromOwnedArray(ctor, module$contents$jspb$internal_array_state_markMutableReferencesAreOwned(array));
};
module$exports$jspb.Message.prototype.getExtension = function(fieldInfo) {
  goog.asserts.assertInstanceof(this, fieldInfo.extendeeCtor);
  var self = goog.asserts.assertInstanceof(this, module$exports$jspb.Message), value = fieldInfo.ctor ? fieldInfo.isRepeated ? fieldInfo.getExtensionFn(self, fieldInfo.ctor, fieldInfo.fieldIndex, (0,jspb_internal_adapters.getRepeatedFieldReturnType)(void 0, !0), !0) : fieldInfo.getExtensionFn(self, fieldInfo.ctor, fieldInfo.fieldIndex, !0) : fieldInfo.isRepeated ? fieldInfo.getExtensionFn(self, fieldInfo.fieldIndex, (0,jspb_internal_adapters.getRepeatedFieldReturnType)(void 0, !0), !0) : fieldInfo.getExtensionFn(self, 
  fieldInfo.fieldIndex, fieldInfo.defaultValue, !0);
  return fieldInfo.isDelegating && value == null ? fieldInfo.defaultValue : value;
};
module$exports$jspb.Message.prototype.getExtensionOrUndefined = function(fieldInfo) {
  goog.asserts.assert(!fieldInfo.isRepeated, "repeated extensions don't support getExtensionOrUndefined");
  goog.asserts.assertInstanceof(this, fieldInfo.extendeeCtor);
  var self = goog.asserts.assertInstanceof(this, module$exports$jspb.Message), result = fieldInfo.ctor ? fieldInfo.getExtensionFn(self, fieldInfo.ctor, fieldInfo.fieldIndex, !0) : fieldInfo.getExtensionFn(self, fieldInfo.fieldIndex, null, !0);
  return result === null ? void 0 : result;
};
module$exports$jspb.Message.prototype.hasExtension = function(fieldInfo) {
  goog.asserts.assert(!fieldInfo.isRepeated, "repeated extensions don't support hasExtension");
  return fieldInfo.ctor ? (0,jspb_internal_adapters.hasWrapperField)(this, fieldInfo.ctor, fieldInfo.fieldIndex, !0) : this.getExtensionOrUndefined(fieldInfo) !== void 0;
};
module$exports$jspb.Message.difference = function(m1, m2) {
  if (!(m1 instanceof module$exports$jspb.Message)) {
    throw Error("Message.difference called on non-Message.");
  }
  if (m1.constructor !== m2.constructor) {
    throw Error("Messages have different types.");
  }
  var isImmutable = module$contents$jspb$internal_isImmutableMessage(m1);
  if (isImmutable !== module$contents$jspb$internal_isImmutableMessage(m2)) {
    throw Error("Messages must both be immutable or both be mutable.");
  }
  var arr1 = m1.internalArray_, arr2 = m2.internalArray_, res = module$contents$jspb$internal_operations_logNewArray([]), firstFieldIndex = 0, length = Math.max(arr1.length, arr2.length), messageId = m1.getJsPbMessageId();
  messageId && (res[0] = messageId, firstFieldIndex = 1);
  for (var i = firstFieldIndex; i < length; i++) {
    var v1 = arr1[i], v2 = arr2[i];
    if (i === arr2.length - 1 && module$contents$jspb$internal_isSparseObject(v2)) {
      var resObj = res[i] = {}, fromObj = module$contents$jspb$internal_isSparseObject(v1) ? v1 : {}, toObj = arr2[i], key;
      for (key in toObj) {
        module$contents$jspb$internal_compare_compareFields(fromObj[key], toObj[key]) || (resObj[key] = module$contents$jspb$internal_immutability_copyImmutableFieldValue(toObj[key]));
      }
    } else {
      module$contents$jspb$internal_compare_compareFields(v1, v2) || (res[i] = module$contents$jspb$internal_immutability_copyImmutableFieldValue(v2));
    }
  }
  isImmutable && module$contents$jspb$internal_array_state_markArrayImmutable(res);
  return module$contents$jspb$internal_construct_internalConstructFromOwnedArray(m1.constructor, module$contents$jspb$internal_array_state_markMutableReferencesAreOwned(res));
};
module$exports$jspb.Message.equals = function(m1, m2) {
  var result = m1 == m2 || !(!m1 || !m2) && m1 instanceof m2.constructor && module$contents$jspb$internal_compare_compareMessages(m1, m2);
  if (module$contents$jspb$internal_options_checkEqualsDoesNotChangeWithTypeInformation && goog.DEBUG && m1 && m2 && m1.constructor === m2.constructor && !result) {
    var ctor = m1.constructor, makeCrossSerializerComparisonsCompatible = ctor.makeCrossSerializerComparisonsCompatible;
    makeCrossSerializerComparisonsCompatible && module$contents$jspb$internal_operations_withoutLogging(function() {
      var m1WithTypeInfo = new ctor(m1.toStructuredCloneableValue());
      makeCrossSerializerComparisonsCompatible(m1WithTypeInfo);
      if (module$contents$jspb$internal_compare_compareMessages(m1WithTypeInfo, goog.asserts.assert(m2))) {
        throw Error("Comparison between protos had a false negative and would have changed from false to true with type information. Please add a call to " + (ctor.displayName + ".makeCrossSerializerComparisonsCompatible to one or both sides of the comparison to ensure it is reliable.\n\nCompared protos were:\n") + (m1.serialize() + " and " + m2.serialize() + "\n"));
      }
    });
  }
  return result;
};
module$exports$jspb.Message.prototype.clone = function() {
  var self = goog.asserts.assertInstanceof(this, module$exports$jspb.Message);
  return module$contents$jspb$internal_immutability_copyMutableWithImmutableFields(self);
};
module$exports$jspb.Message.prototype.isImmutable = function() {
  return module$contents$jspb$internal_isImmutableMessage(this);
};
module$exports$jspb.Message.prototype.toMutable = function() {
  return module$contents$jspb$internal_immutability_messageToMutable(this);
};
goog.DEBUG && module$contents$jspb$internal_setMessageCtorInDebug(module$exports$jspb.Message);
module$exports$jspb.Message.prototype.messagePrototypeMarker = module$exports$jspb$internal.MESSAGE_PROTOTYPE_MARKER_VALUE;
module$exports$jspb.Message.prototype.toString = function() {
  try {
    return module$contents$jspb_inSerialize = !0, module$contents$jspb_toRawInternal(this).toString();
  } finally {
    module$contents$jspb_inSerialize = !1;
  }
};
function module$contents$jspb_toRawInternal(message) {
  var arr = module$contents$jspb_inSerialize ? message.internalArray_ : module$contents$jspb_inToStructuredCloneableValue ? module$contents$jspb$internal_copy_cloneToStructuredCloneableFormat(message.internalArray_) : module$contents$jspb$internal_copy_cloneToJsonFormat(message.internalArray_);
  var externalArray = !module$contents$jspb_inSerialize, arrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(externalArray ? message.internalArray_ : arr), length = arr.length;
  if (length) {
    var oldSparseObject = arr[length - 1], hasSparseObject = module$contents$jspb$internal_isSparseObject(oldSparseObject);
    hasSparseObject ? length-- : oldSparseObject = void 0;
    var arrayIndexOffset = module$contents$jspb$internal_array_state_getArrayIndexOffset(arrayState), oldPivot = module$contents$jspb$internal_fieldNumberFromIndex(length, arrayIndexOffset), pivotMayChange = (goog.DEBUG || !!module$contents$jspb_currentPivotSelector) && !(arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_MESSAGE_ID), $jscomp$inline_511, pivotSelector = ($jscomp$inline_511 = module$contents$jspb_currentPivotSelector) != null ? $jscomp$inline_511 : goog.DEBUG ? 
    module$contents$jspb$internal_pivot_selectors_defaultPivotSelector : module$contents$jspb$internal_pivot_selectors_noChangePivotSelector, newPivot = pivotMayChange ? pivotSelector(oldPivot, arrayIndexOffset, arr, oldSparseObject) : oldPivot, slicedForPivotChange = pivotMayChange && oldPivot !== newPivot, result = slicedForPivotChange ? module$contents$jspb$internal_operations_sliceWithLength(arr, 0, length) : arr;
    if (hasSparseObject || slicedForPivotChange) {
      b: {
        var resultArray = result, sparseObject = oldSparseObject, result$jscomp$0, changed = !1;
        if (slicedForPivotChange) {
          for (var i = Math.max(0, newPivot + arrayIndexOffset); i < resultArray.length; i++) {
            var oldValue = resultArray[i], n = module$contents$jspb$internal_fieldNumberFromIndex(i, arrayIndexOffset);
            if (oldValue != null && !module$contents$jspb$internal_isEmptyRepeatedField(oldValue, void 0, n) && !module$contents$jspb$internal_isEmptyMap(oldValue)) {
              var $jscomp$inline_846 = resultArray[i] = void 0;
              (($jscomp$inline_846 = result$jscomp$0) != null ? $jscomp$inline_846 : result$jscomp$0 = {})[n] = oldValue;
              changed = !0;
            }
          }
        }
        if (sparseObject) {
          for (var key in sparseObject) {
            if (module$contents$jspb$internal_hasOwnPropertyIfNotTrusted(sparseObject, key)) {
              var n$jscomp$0 = +key;
              if (isNaN(n$jscomp$0)) {
                var $jscomp$inline_849 = void 0;
                (($jscomp$inline_849 = result$jscomp$0) != null ? $jscomp$inline_849 : result$jscomp$0 = {})[key] = sparseObject[key];
              } else {
                var value = sparseObject[key];
                Array.isArray(value) && (module$contents$jspb$internal_isEmptyRepeatedField(value, void 0, +key) || module$contents$jspb$internal_isEmptyMap(value)) && (value = null);
                value == null && (changed = !0);
                if (slicedForPivotChange && n$jscomp$0 < newPivot) {
                  changed = !0;
                  for (var i$jscomp$0 = module$contents$jspb$internal_indexFromFieldNumber(n$jscomp$0, arrayIndexOffset), j = resultArray.length; j <= i$jscomp$0; j++) {
                    resultArray.push(void 0);
                  }
                  resultArray[i$jscomp$0] = sparseObject[n$jscomp$0];
                } else {
                  if (value != null) {
                    var $jscomp$inline_853 = void 0;
                    (($jscomp$inline_853 = result$jscomp$0) != null ? $jscomp$inline_853 : result$jscomp$0 = {})[key] = value;
                  }
                }
              }
            }
          }
        }
        changed || (result$jscomp$0 = sparseObject);
        if (result$jscomp$0) {
          for (var key$jscomp$0 in result$jscomp$0) {
            var sparseObject$jscomp$0 = result$jscomp$0;
            break b;
          }
        }
        sparseObject$jscomp$0 = null;
      }
      var sparseObjectChanged = sparseObject$jscomp$0 == null ? oldSparseObject != null : sparseObject$jscomp$0 !== oldSparseObject;
    }
    slicedForPivotChange && (length = result.length);
    for (var denseArrayChanged; length > 0; length--) {
      var index = length - 1, value$jscomp$0 = result[index], fieldNumber = module$contents$jspb$internal_fieldNumberFromIndex(index, arrayIndexOffset);
      if (value$jscomp$0 != null && !module$contents$jspb$internal_isEmptyRepeatedField(value$jscomp$0, void 0, fieldNumber) && !module$contents$jspb$internal_isEmptyMap(value$jscomp$0)) {
        break;
      }
      denseArrayChanged = !0;
    }
    if (result !== arr || sparseObjectChanged || denseArrayChanged) {
      if (!slicedForPivotChange && !externalArray) {
        result = module$contents$jspb$internal_operations_sliceWithLength(result, 0, length);
      } else if (denseArrayChanged || sparseObjectChanged || sparseObject$jscomp$0) {
        result.length = length;
      }
      sparseObject$jscomp$0 && result.push(sparseObject$jscomp$0);
    }
    var result$jscomp$1 = result;
  } else {
    result$jscomp$1 = arr;
  }
  module$exports$jspb$internal_options.DETAILED_JSPB_ASSERTS && !module$contents$jspb_inSerialize && (result$jscomp$1 = module$contents$jspb$internal$transfer_array_transferArray(result$jscomp$1));
  return result$jscomp$1;
}
var module$contents$jspb_clearFieldValue = function(v) {
  return Array.isArray(v) && module$contents$jspb$internal_array_state_isRepeatedField(v) ? module$exports$jspb$internal.EMPTY_LIST_SENTINEL : void 0;
};
function module$contents$jspb_clearMessage(msg) {
  goog.asserts.assertInstanceof(msg, module$exports$jspb.Message);
  module$contents$jspb$internal_checkNotImmutable(msg);
  for (var array = msg.internalArray_, hasSparseObject = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(array) & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT, end = array.length + (hasSparseObject ? -1 : 0), i = msg.getJsPbMessageId() != null ? 1 : 0; i < end; i++) {
    array[i] = module$contents$jspb_clearFieldValue(array[i]);
  }
  if (hasSparseObject) {
    var sparseObject = array[array.length - 1], key;
    for (key in sparseObject) {
      module$contents$jspb$internal_hasOwnPropertyIfNotTrusted(sparseObject, key) && (sparseObject[key] = module$contents$jspb_clearFieldValue(sparseObject[key]));
    }
  }
  module$contents$jspb$internal_clearUnknownFields(array);
  return msg;
}
function module$contents$jspb_copyMessage(toMessage, fromMessage) {
  goog.asserts.assertInstanceof(toMessage, module$exports$jspb.Message);
  goog.asserts.assertInstanceof(fromMessage, module$exports$jspb.Message);
  goog.asserts.assert(fromMessage.constructor == toMessage.constructor, "Copy source and target message should have the same type.");
  module$contents$jspb$internal_checkNotImmutable(toMessage);
  var fromArray = fromMessage.internalArray_, toArray = toMessage.internalArray_, fromArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(fromArray), toArrayState = (0,module$exports$jspb$internal_array_state.getMessageArrayState)(toArray);
  toArrayState &= ~module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT;
  toArrayState = module$contents$jspb$internal_array_state_setPivot(toArrayState, module$contents$jspb$internal_array_state_getPivot(fromArrayState));
  var fromArrayLength = fromArray.length;
  toArray.length = fromArrayLength;
  for (var fromSparseObject = module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT & fromArrayState ? fromArray[fromArrayLength - 1] : void 0, end = fromSparseObject ? fromArrayLength - 1 : fromArrayLength, i = 0; i < end; i++) {
    toArray[i] = module$contents$jspb$internal_immutability_copyImmutableFieldValue(fromArray[i]);
  }
  if (fromSparseObject) {
    toArrayState |= module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT;
    var newSparseObject = toArray[end] = {}, key;
    for (key in fromSparseObject) {
      module$contents$jspb$internal_hasOwnPropertyIfNotTrusted(fromSparseObject, key) && (newSparseObject[key] = module$contents$jspb$internal_immutability_copyImmutableFieldValue(fromSparseObject[key]));
    }
  }
  (0,module$exports$jspb$internal_array_state.setArrayState)(toArray, toArrayState);
  module$contents$jspb$internal_copyUnknownFields(toArray, fromArray, !0);
  return toMessage;
}
function module$contents$jspb_newMutableMessageFromTransferredArray(ctor, array) {
  if (array == null) {
    return new ctor();
  }
  array = module$contents$jspb$internal$transfer_array_transferArray(array);
  var newMessage = module$contents$jspb$internal_construct_internalConstructFromOwnedArray(ctor, module$contents$jspb$internal_array_state_markMutableReferencesAreOwned(array));
  goog.asserts.assertInstanceof(newMessage, module$exports$jspb.Message);
  return newMessage;
}
function module$contents$jspb_newImmutableMessageFromTransferredArray(defaultInstance, array) {
  goog.asserts.assertInstanceof(defaultInstance, module$exports$jspb.Message);
  goog.asserts.assert(defaultInstance.isImmutable());
  var newMessage = array == null ? module$contents$jspb$internal_accessor_helpers_getDefaultImmutableInstance(defaultInstance.constructor) : module$contents$jspb$internal_construct_internalConstructFromOwnedArray(defaultInstance.constructor, module$contents$jspb$internal_array_state_markArrayImmutable(module$contents$jspb$internal$transfer_array_transferArray(array)));
  goog.asserts.assertInstanceof(newMessage, module$exports$jspb.Message);
  return newMessage;
}
module$exports$jspb.clearMessage = module$contents$jspb_clearMessage;
module$exports$jspb.cloneJspbArray = function(array) {
  return (0,module$exports$jspb$internal_copy.cloneRaw)(array);
};
module$exports$jspb.copyMessage = module$contents$jspb_copyMessage;
module$exports$jspb.copyMessageOrClear = function(toMessage, fromMessage) {
  return fromMessage != null ? module$contents$jspb_copyMessage(toMessage, fromMessage) : module$contents$jspb_clearMessage(toMessage);
};
module$exports$jspb.newImmutableMessageFromTransferredArray = module$contents$jspb_newImmutableMessageFromTransferredArray;
module$exports$jspb.newMutableMessageFromTransferredArray = module$contents$jspb_newMutableMessageFromTransferredArray;
function module$contents$jspb$immutable_message_ImmutableMessage() {
  throw Error("ImmutableMessage is not instantiable");
}
module$contents$jspb$immutable_message_ImmutableMessage.equals = function() {
  throw Error("Call equals directly on the Message class, not a subclass");
};
if (module$exports$jspb$internal_options.USE_DETAILED_MESSAGE_TYPE_HIERARCHY && module$exports$jspb$internal.SUPPORTS_HAS_INSTANCE) {
  var rejectInstanceof$jscomp$1 = function() {
    throw Error(goog.DEBUG ? "Cannot perform instanceof checks for ImmutableMessage. Please use .isMutable or .isImmutable to determine whether a message is mutable. See go/jspb-api-gotchas#immutable-classes for more information" : void 0);
  }, $jscomp$compprop59 = {};
  Object.defineProperties(module$contents$jspb$immutable_message_ImmutableMessage, ($jscomp$compprop59[Symbol.hasInstance] = module$contents$jspb$internal_invisiblePropValue(rejectInstanceof$jscomp$1), $jscomp$compprop59));
  (0,goog.asserts.assert)(module$contents$jspb$immutable_message_ImmutableMessage[Symbol.hasInstance] === rejectInstanceof$jscomp$1, "broken defineProperties implementation");
}
;var module$exports$jspb$arith = {UInt64:function(lo, hi) {
  this.lo = lo >>> 0;
  this.hi = hi >>> 0;
}};
module$exports$jspb$arith.UInt64.prototype.negateInTwosComplement = function() {
  return this.lo === 0 ? new module$exports$jspb$arith.UInt64(0, 1 + ~this.hi) : new module$exports$jspb$arith.UInt64(~this.lo + 1, ~this.hi);
};
module$exports$jspb$arith.UInt64.fromBigInt = function(n) {
  var asU64 = BigInt.asUintN(64, n);
  return new module$exports$jspb$arith.UInt64(Number(asU64 & BigInt(4294967295)), Number(asU64 >> BigInt(32)));
};
module$exports$jspb$arith.UInt64.fromString = function(s) {
  if (!s) {
    return module$exports$jspb$arith.UInt64.getZero();
  }
  if (!/^\d+$/.test(s)) {
    return null;
  }
  module$contents$jspb$utils_splitDecimalString(s);
  return new module$exports$jspb$arith.UInt64(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High);
};
module$exports$jspb$arith.UInt64.fromNumber = function(n) {
  return new module$exports$jspb$arith.UInt64(n & 4294967295, n / 4294967296);
};
module$exports$jspb$arith.UInt64.getZero = function() {
  return module$contents$jspb$arith_uint64Zero || (module$contents$jspb$arith_uint64Zero = new module$exports$jspb$arith.UInt64(0, 0));
};
var module$contents$jspb$arith_uint64Zero;
module$exports$jspb$arith.Int64 = function(lo, hi) {
  this.lo = lo >>> 0;
  this.hi = hi >>> 0;
};
module$exports$jspb$arith.Int64.fromBigInt = function(n) {
  var asUint64 = BigInt.asUintN(64, n);
  return new module$exports$jspb$arith.Int64(Number(asUint64 & BigInt(4294967295)), Number(asUint64 >> BigInt(32)));
};
module$exports$jspb$arith.Int64.fromString = function(s) {
  if (!s) {
    return module$exports$jspb$arith.Int64.getZero();
  }
  if (!/^-?\d+$/.test(s)) {
    return null;
  }
  module$contents$jspb$utils_splitDecimalString(s);
  return new module$exports$jspb$arith.Int64(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High);
};
module$exports$jspb$arith.Int64.fromNumber = function(n) {
  return new module$exports$jspb$arith.Int64(n & 4294967295, n / 4294967296);
};
module$exports$jspb$arith.Int64.getZero = function() {
  return module$contents$jspb$arith_int64Zero || (module$contents$jspb$arith_int64Zero = new module$exports$jspb$arith.Int64(0, 0));
};
var module$contents$jspb$arith_int64Zero;
var module$exports$jspb$binary$encoder = {BinaryEncoder:function() {
  this.buffer_ = [];
}};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.length = function() {
  return this.buffer_.length;
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.end = function() {
  var buffer = this.buffer_;
  this.buffer_ = [];
  return buffer;
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeSplitVarint64 = function(lowBits, highBits) {
  goog.asserts.assert(lowBits == Math.floor(lowBits));
  goog.asserts.assert(highBits == Math.floor(highBits));
  goog.asserts.assert(lowBits >= 0 && lowBits < module$exports$jspb$BinaryConstants.TWO_TO_32);
  for (goog.asserts.assert(highBits >= 0 && highBits < module$exports$jspb$BinaryConstants.TWO_TO_32); highBits > 0 || lowBits > 127;) {
    this.buffer_.push(lowBits & 127 | 128), lowBits = (lowBits >>> 7 | highBits << 25) >>> 0, highBits >>>= 7;
  }
  this.buffer_.push(lowBits);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeSplitFixed64 = function(lowBits, highBits) {
  goog.asserts.assert(lowBits == Math.floor(lowBits));
  goog.asserts.assert(highBits == Math.floor(highBits));
  goog.asserts.assert(lowBits >= 0 && lowBits < module$exports$jspb$BinaryConstants.TWO_TO_32);
  goog.asserts.assert(highBits >= 0 && highBits < module$exports$jspb$BinaryConstants.TWO_TO_32);
  this.writeUint32(lowBits);
  this.writeUint32(highBits);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeUnsignedVarint32 = function(value) {
  goog.asserts.assert(value == Math.floor(value));
  for (goog.asserts.assert(value >= 0 && value < module$exports$jspb$BinaryConstants.TWO_TO_32); value > 127;) {
    this.buffer_.push(value & 127 | 128), value >>>= 7;
  }
  this.buffer_.push(value);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeSignedVarint32 = function(value) {
  goog.asserts.assert(value == Math.floor(value));
  goog.asserts.assert(value >= -module$exports$jspb$BinaryConstants.TWO_TO_31 && value < module$exports$jspb$BinaryConstants.TWO_TO_31);
  if (value >= 0) {
    this.writeUnsignedVarint32(value);
  } else {
    for (var i = 0; i < 9; i++) {
      this.buffer_.push(value & 127 | 128), value >>= 7;
    }
    this.buffer_.push(1);
  }
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeUnsignedVarint64 = function(value) {
  goog.asserts.assert(value == Math.floor(value));
  goog.asserts.assert(value >= 0 && value < module$exports$jspb$BinaryConstants.TWO_TO_64);
  module$contents$jspb$utils_splitInt64(value);
  this.writeSplitVarint64(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeSignedVarint64 = function(value) {
  goog.asserts.assert(value == Math.floor(value));
  goog.asserts.assert(value >= -module$exports$jspb$BinaryConstants.TWO_TO_63 && value < module$exports$jspb$BinaryConstants.TWO_TO_63);
  module$contents$jspb$utils_splitInt64(value);
  this.writeSplitVarint64(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeZigzagVarint32 = function(value) {
  goog.asserts.assert(value == Math.floor(value));
  goog.asserts.assert(value >= -module$exports$jspb$BinaryConstants.TWO_TO_31 && value < module$exports$jspb$BinaryConstants.TWO_TO_31);
  this.writeUnsignedVarint32((value << 1 ^ value >> 31) >>> 0);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeZigzagVarint64 = function(value$jscomp$0) {
  goog.asserts.assert(value$jscomp$0 == Math.floor(value$jscomp$0));
  goog.asserts.assert(value$jscomp$0 >= -module$exports$jspb$BinaryConstants.TWO_TO_63 && value$jscomp$0 < module$exports$jspb$BinaryConstants.TWO_TO_63);
  var value = value$jscomp$0, sign = value < 0;
  value = Math.abs(value) * 2;
  module$contents$jspb$utils_splitUint64(value);
  var lowBits = module$contents$jspb$utils_split64Low, highBits = module$contents$jspb$utils_split64High;
  sign && (lowBits == 0 ? highBits == 0 ? highBits = lowBits = 4294967295 : (highBits--, lowBits = 4294967295) : lowBits--);
  module$contents$jspb$utils_split64Low = lowBits;
  module$contents$jspb$utils_split64High = highBits;
  this.writeSplitVarint64(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeZigzagVarint64BigInt = function(value) {
  goog.asserts.assert(value >= BigInt(-module$exports$jspb$BinaryConstants.TWO_TO_63) && value < BigInt(module$exports$jspb$BinaryConstants.TWO_TO_63));
  (0,goog.asserts.assert)(value === BigInt.asIntN(64, value));
  var zigzag = value << BigInt(1) ^ value >> BigInt(63);
  module$contents$jspb$utils_split64Low = Number(BigInt.asUintN(32, zigzag));
  module$contents$jspb$utils_split64High = Number(BigInt.asUintN(32, zigzag >> BigInt(32)));
  this.writeSplitVarint64(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeZigzagVarint64String = function(value) {
  var $jscomp$this$1017428144$14 = this;
  module$contents$jspb$utils_splitDecimalString(value);
  module$contents$jspb$utils_toZigzag64(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High, function(lo, hi) {
    $jscomp$this$1017428144$14.writeSplitVarint64(lo >>> 0, hi >>> 0);
  });
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeUint32 = function(value) {
  goog.asserts.assert(value == Math.floor(value));
  goog.asserts.assert(value >= 0 && value < module$exports$jspb$BinaryConstants.TWO_TO_32);
  this.buffer_.push(value >>> 0 & 255);
  this.buffer_.push(value >>> 8 & 255);
  this.buffer_.push(value >>> 16 & 255);
  this.buffer_.push(value >>> 24 & 255);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeUint64 = function(value) {
  goog.asserts.assert(value == Math.floor(value));
  goog.asserts.assert(value >= 0 && value < module$exports$jspb$BinaryConstants.TWO_TO_64);
  module$contents$jspb$utils_splitUint64(value);
  this.writeUint32(module$contents$jspb$utils_split64Low);
  this.writeUint32(module$contents$jspb$utils_split64High);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeInt32 = function(value) {
  goog.asserts.assert(value == Math.floor(value));
  goog.asserts.assert(value >= -module$exports$jspb$BinaryConstants.TWO_TO_31 && value < module$exports$jspb$BinaryConstants.TWO_TO_31);
  this.buffer_.push(value >>> 0 & 255);
  this.buffer_.push(value >>> 8 & 255);
  this.buffer_.push(value >>> 16 & 255);
  this.buffer_.push(value >>> 24 & 255);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeInt64 = function(value) {
  goog.asserts.assert(value == Math.floor(value));
  goog.asserts.assert(value >= -module$exports$jspb$BinaryConstants.TWO_TO_63 && value < module$exports$jspb$BinaryConstants.TWO_TO_63);
  module$contents$jspb$utils_splitInt64(value);
  this.writeSplitFixed64(module$contents$jspb$utils_split64Low, module$contents$jspb$utils_split64High);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeFloat = function(value) {
  goog.asserts.assert(value == Infinity || value == -Infinity || isNaN(value) || typeof value === "number" && value >= -module$exports$jspb$BinaryConstants.FLOAT32_MAX && value <= module$exports$jspb$BinaryConstants.FLOAT32_MAX);
  var scratch = module$contents$jspb$utils_getScratchpad(4);
  scratch.setFloat32(0, +value, !0);
  module$contents$jspb$utils_split64High = 0;
  module$contents$jspb$utils_split64Low = scratch.getUint32(0, !0);
  this.writeUint32(module$contents$jspb$utils_split64Low);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeDouble = function(value) {
  goog.asserts.assert(typeof value === "number" || value === "Infinity" || value === "-Infinity" || value === "NaN");
  var scratch = module$contents$jspb$utils_getScratchpad(8);
  scratch.setFloat64(0, +value, !0);
  module$contents$jspb$utils_split64Low = scratch.getUint32(0, !0);
  module$contents$jspb$utils_split64High = scratch.getUint32(4, !0);
  this.writeUint32(module$contents$jspb$utils_split64Low);
  this.writeUint32(module$contents$jspb$utils_split64High);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeBool = function(value) {
  goog.asserts.assert(typeof value === "boolean" || typeof value === "number");
  this.buffer_.push(value ? 1 : 0);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeEnum = function(value) {
  goog.asserts.assert(value == Math.floor(value));
  goog.asserts.assert(value >= -module$exports$jspb$BinaryConstants.TWO_TO_31 && value < module$exports$jspb$BinaryConstants.TWO_TO_31);
  this.writeSignedVarint32(value);
};
module$exports$jspb$binary$encoder.BinaryEncoder.prototype.writeBytes = function(bytes) {
  for (; bytes.length > 8192;) {
    Array.prototype.push.apply(this.buffer_, bytes.subarray(0, 8192)), bytes = bytes.subarray(8192);
  }
  Array.prototype.push.apply(this.buffer_, bytes);
};
var module$exports$jspb$binary$writer = {}, module$contents$jspb$binary$writer_REJECT_UNPAIRED_SURROGATES = goog.DEBUG;
module$exports$jspb$binary$writer.BinaryWriter = function() {
  this.blocks_ = [];
  this.totalLength_ = 0;
  this.encoder_ = new module$exports$jspb$binary$encoder.BinaryEncoder();
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.pushBlock = function(buffer) {
  buffer.length !== 0 && (this.blocks_.push(buffer), this.totalLength_ += buffer.length);
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.appendUint8Array_ = function(arr) {
  this.pushBlock(this.encoder_.end());
  this.pushBlock(arr);
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.beginDelimited_ = function(field) {
  this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.DELIMITED);
  var bookmark = this.encoder_.end();
  this.pushBlock(bookmark);
  bookmark.push(this.totalLength_);
  return bookmark;
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.endDelimited_ = function(bookmark) {
  var oldLength = bookmark.pop(), messageLength = this.totalLength_ + this.encoder_.length() - oldLength;
  for ((0,goog.asserts.assert)(messageLength >= 0); messageLength > 127;) {
    bookmark.push(messageLength & 127 | 128), messageLength >>>= 7, this.totalLength_++;
  }
  bookmark.push(messageLength);
  this.totalLength_++;
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeUnknownFields = function(unknownFields) {
  this.pushBlock(this.encoder_.end());
  for (var i = 0; i < unknownFields.length; i++) {
    this.pushBlock(module$contents$jspb$unsafe_bytestring_unsafeUint8ArrayFromByteString(unknownFields[i]));
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.getResultBuffer = function() {
  this.pushBlock(this.encoder_.end());
  for (var flat = new Uint8Array(this.totalLength_), blocks = this.blocks_, blockCount = blocks.length, offset = 0, i = 0; i < blockCount; i++) {
    var block = blocks[i];
    flat.set(block, offset);
    offset += block.length;
  }
  (0,goog.asserts.assert)(offset == flat.length);
  this.blocks_ = [flat];
  return flat;
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.getResultBufferAsByteString = function() {
  return module$contents$jspb$unsafe_bytestring_unsafeByteStringFromUint8Array(this.getResultBuffer());
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeFieldHeader_ = function(field, wireType) {
  (0,goog.asserts.assert)(field >= 1 && field == Math.floor(field));
  this.encoder_.writeUnsignedVarint32(field * 8 + wireType);
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeUnsignedVarint32_ = function(field, value) {
  value != null && (this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.VARINT), this.encoder_.writeUnsignedVarint32(value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeSignedVarint32_ = function(field, value) {
  value != null && (module$contents$jspb$binary$writer_assertSignedInteger(field, value), this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.VARINT), this.encoder_.writeSignedVarint32(value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeUnsignedVarint64_ = function(field, value) {
  if (value != null) {
    switch(this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.VARINT), typeof value) {
      case "number":
        this.encoder_.writeUnsignedVarint64(value);
        break;
      case "bigint":
        var num = module$exports$jspb$arith.UInt64.fromBigInt(value);
        this.encoder_.writeSplitVarint64(num.lo, num.hi);
        break;
      default:
        var num$jscomp$0 = module$exports$jspb$arith.UInt64.fromString(value);
        this.encoder_.writeSplitVarint64(num$jscomp$0.lo, num$jscomp$0.hi);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeUnsignedVarint64ToleratingNegatives_ = function(field, value) {
  value != null && (this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.VARINT), module$contents$jspb$binary$writer_encodeUnsignedInt64ToleratingNegatives(this.encoder_, field, value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeSignedVarint64_ = function(field, value) {
  if (value != null) {
    switch(this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.VARINT), typeof value) {
      case "number":
        this.encoder_.writeSignedVarint64(value);
        break;
      case "bigint":
        var num = module$exports$jspb$arith.Int64.fromBigInt(value);
        this.encoder_.writeSplitVarint64(num.lo, num.hi);
        break;
      default:
        var num$jscomp$0 = module$exports$jspb$arith.Int64.fromString(value);
        this.encoder_.writeSplitVarint64(num$jscomp$0.lo, num$jscomp$0.hi);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeZigzagVarint32_ = function(field, value) {
  value != null && (this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.VARINT), this.encoder_.writeZigzagVarint32(value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeZigzagVarint64_ = function(field, value) {
  if (value != null) {
    switch(this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.VARINT), typeof value) {
      case "number":
        this.encoder_.writeZigzagVarint64(value);
        break;
      case "bigint":
        this.encoder_.writeZigzagVarint64BigInt(value);
        break;
      default:
        this.encoder_.writeZigzagVarint64String(value);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeInt32 = function(field, value) {
  value != null && (module$contents$jspb$binary$writer_assertThat(field, value, value >= -module$exports$jspb$BinaryConstants.TWO_TO_31 && value < module$exports$jspb$BinaryConstants.TWO_TO_31), this.writeSignedVarint32_(field, value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeInt64 = function(field, value) {
  value != null && (module$contents$jspb$binary$writer_assertSignedInt64(field, value), this.writeSignedVarint64_(field, value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeUint32 = function(field, value) {
  value != null && (module$contents$jspb$binary$writer_assertThat(field, value, value >= 0 && value < module$exports$jspb$BinaryConstants.TWO_TO_32), this.writeUnsignedVarint32_(field, value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeUint64 = function(field, value) {
  value != null && (module$contents$jspb$binary$writer_assertUnsignedInt64(field, value), this.writeUnsignedVarint64_(field, value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeUint64ToleratingNegatives = function(field, value) {
  value != null && this.writeUnsignedVarint64ToleratingNegatives_(field, value);
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeSint32 = function(field, value) {
  value != null && (module$contents$jspb$binary$writer_assertThat(field, value, value >= -module$exports$jspb$BinaryConstants.TWO_TO_31 && value < module$exports$jspb$BinaryConstants.TWO_TO_31), this.writeZigzagVarint32_(field, value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeSint64 = function(field, value) {
  value != null && (module$contents$jspb$binary$writer_assertSignedInt64(field, value), this.writeZigzagVarint64_(field, value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeFixed32 = function(field, value) {
  value != null && (module$contents$jspb$binary$writer_assertThat(field, value, value >= 0 && value < module$exports$jspb$BinaryConstants.TWO_TO_32), this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.FIXED32), this.encoder_.writeUint32(value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeFixed64 = function(field, value) {
  if (value != null) {
    switch(module$contents$jspb$binary$writer_assertUnsignedInt64(field, value), this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.FIXED64), typeof value) {
      case "number":
        this.encoder_.writeUint64(value);
        break;
      case "bigint":
        var num = module$exports$jspb$arith.UInt64.fromBigInt(value);
        this.encoder_.writeSplitFixed64(num.lo, num.hi);
        break;
      default:
        var num$jscomp$0 = module$exports$jspb$arith.UInt64.fromString(value);
        this.encoder_.writeSplitFixed64(num$jscomp$0.lo, num$jscomp$0.hi);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeFixed64ToleratingNegatives = function(field, value) {
  value != null && (module$contents$jspb$binary$writer_assertUnsignedInt64ToleratingNegatives(field, value), this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.FIXED64), module$contents$jspb$binary$writer_encodeFixed64ToleratingNegatives(this.encoder_, field, value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeSfixed32 = function(field, value) {
  value != null && (module$contents$jspb$binary$writer_assertThat(field, value, value >= -module$exports$jspb$BinaryConstants.TWO_TO_31 && value < module$exports$jspb$BinaryConstants.TWO_TO_31), this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.FIXED32), this.encoder_.writeInt32(value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeSfixed64 = function(field, value) {
  if (value != null) {
    switch(module$contents$jspb$binary$writer_assertSignedInt64(field, value), this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.FIXED64), typeof value) {
      case "number":
        this.encoder_.writeInt64(value);
        break;
      case "bigint":
        var int64Big = module$exports$jspb$arith.Int64.fromBigInt(value);
        this.encoder_.writeSplitFixed64(int64Big.lo, int64Big.hi);
        break;
      default:
        var int64Str = module$exports$jspb$arith.Int64.fromString(value);
        this.encoder_.writeSplitFixed64(int64Str.lo, int64Str.hi);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeFloat = function(field, value) {
  value != null && (this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.FIXED32), this.encoder_.writeFloat(value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeDouble = function(field, value) {
  value != null && (this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.FIXED64), this.encoder_.writeDouble(value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeBool = function(field, value) {
  value != null && (module$contents$jspb$binary$writer_assertThat(field, value, typeof value === "boolean" || typeof value === "number"), this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.VARINT), this.encoder_.writeBool(value));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeEnum = function(field, value) {
  if (value != null) {
    var intValue = parseInt(value, 10);
    module$contents$jspb$binary$writer_assertSignedInteger(field, intValue);
    this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.VARINT);
    this.encoder_.writeSignedVarint32(intValue);
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeString = function(field, value) {
  value != null && this.writeUint8Array(field, module$contents$jspb$binary$utf8_encodeUtf8(value, module$contents$jspb$binary$writer_REJECT_UNPAIRED_SURROGATES));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeBytes = function(field, value) {
  value != null && this.writeUint8Array(field, module$contents$jspb$binary$internal_buffer_bufferFromSource(value).buffer);
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeUint8Array = function(field, value) {
  this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.DELIMITED);
  this.encoder_.writeUnsignedVarint32(value.length);
  this.appendUint8Array_(value);
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeMessage = function(field, value, writerCallback) {
  if (value != null) {
    var bookmark = this.beginDelimited_(field);
    writerCallback(value, this);
    this.endDelimited_(bookmark);
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeMessageSet = function(field, value, writerCallback) {
  if (value != null) {
    this.writeFieldHeader_(1, module$exports$jspb$BinaryConstants.WireType.START_GROUP);
    this.writeFieldHeader_(2, module$exports$jspb$BinaryConstants.WireType.VARINT);
    this.encoder_.writeSignedVarint32(field);
    var bookmark = this.beginDelimited_(3);
    writerCallback(value, this);
    this.endDelimited_(bookmark);
    this.writeFieldHeader_(1, module$exports$jspb$BinaryConstants.WireType.END_GROUP);
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeGroup = function(field, value, writerCallback) {
  value != null && (this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.START_GROUP), writerCallback(value, this), this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.END_GROUP));
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeSplitFixed64 = function(field, lowBits, highBits) {
  this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.FIXED64);
  this.encoder_.writeSplitFixed64(lowBits, highBits);
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeSplitVarint64 = function(field, lowBits, highBits) {
  this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.VARINT);
  this.encoder_.writeSplitVarint64(lowBits, highBits);
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedInt32 = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeSignedVarint32_(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedInt64 = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeSignedVarint64_(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedUint32 = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeUnsignedVarint32_(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedUint64 = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeUnsignedVarint64_(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedUint64ToleratingNegatives = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeUnsignedVarint64ToleratingNegatives_(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedSint32 = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeZigzagVarint32_(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedSint64 = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeZigzagVarint64_(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedFixed32 = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeFixed32(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedFixed64 = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeFixed64(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedFixed64ToleratingNegatives = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeFixed64ToleratingNegatives(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedSfixed32 = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeSfixed32(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedSfixed64 = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeSfixed64(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedFloat = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeFloat(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedDouble = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeDouble(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedBool = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeBool(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedEnum = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeEnum(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedString = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeString(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writeRepeatedBytes = function(field, value) {
  if (value != null) {
    for (var i = 0; i < value.length; i++) {
      this.writeBytes(field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedInt32 = function(field, value) {
  if (value != null && value.length) {
    for (var bookmark = this.beginDelimited_(field), i = 0; i < value.length; i++) {
      module$contents$jspb$binary$writer_assertSignedInteger(field, value[i]), this.encoder_.writeSignedVarint32(value[i]);
    }
    this.endDelimited_(bookmark);
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedInt64 = function(field, value) {
  if (value != null && value.length) {
    for (var bookmark = this.beginDelimited_(field), i = 0; i < value.length; i++) {
      var v = value[i];
      switch(typeof v) {
        case "number":
          this.encoder_.writeSignedVarint64(v);
          break;
        case "bigint":
          var num = module$exports$jspb$arith.Int64.fromBigInt(v);
          this.encoder_.writeSplitVarint64(num.lo, num.hi);
          break;
        default:
          var num$jscomp$0 = module$exports$jspb$arith.Int64.fromString(v);
          this.encoder_.writeSplitVarint64(num$jscomp$0.lo, num$jscomp$0.hi);
      }
    }
    this.endDelimited_(bookmark);
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedUint32 = function(field, value) {
  if (value != null && value.length) {
    for (var bookmark = this.beginDelimited_(field), i = 0; i < value.length; i++) {
      this.encoder_.writeUnsignedVarint32(value[i]);
    }
    this.endDelimited_(bookmark);
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedUint64 = function(field, value) {
  if (value != null && value.length) {
    for (var bookmark = this.beginDelimited_(field), i = 0; i < value.length; i++) {
      var v = value[i];
      switch(typeof v) {
        case "number":
          this.encoder_.writeUnsignedVarint64(v);
          break;
        case "bigint":
          var n = Number(v);
          if (Number.isSafeInteger(n)) {
            this.encoder_.writeUnsignedVarint64(n);
          } else {
            var num = module$exports$jspb$arith.UInt64.fromBigInt(v);
            this.encoder_.writeSplitVarint64(num.lo, num.hi);
          }
          break;
        default:
          var num$jscomp$0 = module$exports$jspb$arith.UInt64.fromString(v);
          this.encoder_.writeSplitVarint64(num$jscomp$0.lo, num$jscomp$0.hi);
      }
    }
    this.endDelimited_(bookmark);
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedUint64ToleratingNegatives = function(field, value) {
  if (value != null && value.length) {
    for (var bookmark = this.beginDelimited_(field), i = 0; i < value.length; i++) {
      module$contents$jspb$binary$writer_encodeUnsignedInt64ToleratingNegatives(this.encoder_, field, value[i]);
    }
    this.endDelimited_(bookmark);
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedSint32 = function(field, value) {
  if (value != null && value.length) {
    for (var bookmark = this.beginDelimited_(field), i = 0; i < value.length; i++) {
      this.encoder_.writeZigzagVarint32(value[i]);
    }
    this.endDelimited_(bookmark);
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedSint64 = function(field, value) {
  if (value != null && value.length) {
    for (var bookmark = this.beginDelimited_(field), i = 0; i < value.length; i++) {
      var v = value[i];
      switch(typeof v) {
        case "number":
          this.encoder_.writeZigzagVarint64(v);
          break;
        case "bigint":
          this.encoder_.writeZigzagVarint64BigInt(v);
          break;
        default:
          this.encoder_.writeZigzagVarint64String(v);
      }
    }
    this.endDelimited_(bookmark);
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedFixed32 = function(field, value) {
  if (value != null && value.length) {
    this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.DELIMITED);
    this.encoder_.writeUnsignedVarint32(value.length * 4);
    for (var i = 0; i < value.length; i++) {
      this.encoder_.writeUint32(value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedFixed64 = function(field, value) {
  if (value != null && value.length) {
    this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.DELIMITED);
    this.encoder_.writeUnsignedVarint32(value.length * 8);
    for (var i = 0; i < value.length; i++) {
      var v = value[i];
      switch(typeof v) {
        case "number":
          this.encoder_.writeUint64(v);
          break;
        case "bigint":
          var fromBigint = module$exports$jspb$arith.UInt64.fromBigInt(v);
          this.encoder_.writeSplitFixed64(fromBigint.lo, fromBigint.hi);
          break;
        default:
          var fromString = module$exports$jspb$arith.UInt64.fromString(v);
          this.encoder_.writeSplitFixed64(fromString.lo, fromString.hi);
      }
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedFixed64ToleratingNegatives = function(field, value) {
  if (value != null && value.length) {
    this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.DELIMITED);
    this.encoder_.writeUnsignedVarint32(value.length * 8);
    for (var i = 0; i < value.length; i++) {
      module$contents$jspb$binary$writer_encodeFixed64ToleratingNegatives(this.encoder_, field, value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedSfixed32 = function(field, value) {
  if (value != null && value.length) {
    this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.DELIMITED);
    this.encoder_.writeUnsignedVarint32(value.length * 4);
    for (var i = 0; i < value.length; i++) {
      this.encoder_.writeInt32(value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedSfixed64 = function(field, value) {
  if (value != null && value.length) {
    this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.DELIMITED);
    this.encoder_.writeUnsignedVarint32(value.length * 8);
    for (var i = 0; i < value.length; i++) {
      var v = value[i];
      switch(typeof v) {
        case "number":
          this.encoder_.writeInt64(v);
          break;
        case "bigint":
          var num = module$exports$jspb$arith.Int64.fromBigInt(v);
          this.encoder_.writeSplitFixed64(num.lo, num.hi);
          break;
        default:
          var num$jscomp$0 = module$exports$jspb$arith.Int64.fromString(v);
          this.encoder_.writeSplitFixed64(num$jscomp$0.lo, num$jscomp$0.hi);
      }
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedFloat = function(field, value) {
  if (value != null && value.length) {
    this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.DELIMITED);
    this.encoder_.writeUnsignedVarint32(value.length * 4);
    for (var i = 0; i < value.length; i++) {
      this.encoder_.writeFloat(value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedDouble = function(field, value) {
  if (value != null && value.length) {
    this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.DELIMITED);
    this.encoder_.writeUnsignedVarint32(value.length * 8);
    for (var i = 0; i < value.length; i++) {
      this.encoder_.writeDouble(value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedBool = function(field, value) {
  if (value != null && value.length) {
    this.writeFieldHeader_(field, module$exports$jspb$BinaryConstants.WireType.DELIMITED);
    this.encoder_.writeUnsignedVarint32(value.length);
    for (var i = 0; i < value.length; i++) {
      this.encoder_.writeBool(value[i]);
    }
  }
};
module$exports$jspb$binary$writer.BinaryWriter.prototype.writePackedEnum = function(field, value) {
  if (value != null && value.length) {
    for (var bookmark = this.beginDelimited_(field), i = 0; i < value.length; i++) {
      this.encoder_.writeEnum(value[i]);
    }
    this.endDelimited_(bookmark);
  }
};
function module$contents$jspb$binary$writer_assertSignedInteger(field, value) {
  module$contents$jspb$binary$writer_assertThat(field, value, value === Math.floor(value));
  module$contents$jspb$binary$writer_assertThat(field, value, value >= -module$exports$jspb$BinaryConstants.TWO_TO_31 && value < module$exports$jspb$BinaryConstants.TWO_TO_31);
}
function module$contents$jspb$binary$writer_assertSignedInt64(field, value) {
  switch(typeof value) {
    case "string":
      module$contents$jspb$binary$writer_assertThat(field, value, module$exports$jspb$arith.Int64.fromString(value));
      break;
    case "number":
      module$contents$jspb$binary$writer_assertThat(field, value, value >= -module$exports$jspb$BinaryConstants.TWO_TO_63 && value < module$exports$jspb$BinaryConstants.TWO_TO_63);
      break;
    default:
      module$contents$jspb$binary$writer_assertThat(field, value, value >= BigInt(-module$exports$jspb$BinaryConstants.TWO_TO_63) && value < BigInt(module$exports$jspb$BinaryConstants.TWO_TO_63));
  }
}
function module$contents$jspb$binary$writer_assertUnsignedInt64(field, value) {
  switch(typeof value) {
    case "string":
      module$contents$jspb$binary$writer_assertThat(field, value, module$exports$jspb$arith.UInt64.fromString(value));
      break;
    case "number":
      module$contents$jspb$binary$writer_assertThat(field, value, value >= 0 && value < module$exports$jspb$BinaryConstants.TWO_TO_64);
      break;
    default:
      module$contents$jspb$binary$writer_assertThat(field, value, value >= BigInt(0) && value < BigInt(module$exports$jspb$BinaryConstants.TWO_TO_64));
  }
}
function module$contents$jspb$binary$writer_assertUnsignedInt64ToleratingNegatives(field, value) {
  switch(typeof value) {
    case "string":
      module$contents$jspb$binary$writer_assertThat(field, value, value.length && value[0] === "-" ? module$exports$jspb$arith.UInt64.fromString(value.substring(1)) : module$exports$jspb$arith.UInt64.fromString(value));
      break;
    case "number":
      module$contents$jspb$binary$writer_assertThat(field, value, value >= -module$exports$jspb$BinaryConstants.TWO_TO_63 && value < module$exports$jspb$BinaryConstants.TWO_TO_64);
      break;
    default:
      module$contents$jspb$binary$writer_assertThat(field, value, value >= BigInt(-module$exports$jspb$BinaryConstants.TWO_TO_63) && value < BigInt(module$exports$jspb$BinaryConstants.TWO_TO_64));
  }
}
function module$contents$jspb$binary$writer_encodeUnsignedInt64ToleratingNegatives(encoder, field, value) {
  module$contents$jspb$binary$writer_assertUnsignedInt64ToleratingNegatives(field, value);
  switch(typeof value) {
    case "number":
      if (value < 0) {
        var num = module$exports$jspb$arith.UInt64.fromNumber(-value).negateInTwosComplement();
        encoder.writeSplitVarint64(num.lo, num.hi);
      } else {
        encoder.writeUnsignedVarint64(value);
      }
      break;
    case "bigint":
      var num$jscomp$0 = value < BigInt(0) ? module$exports$jspb$arith.UInt64.fromBigInt(-value).negateInTwosComplement() : module$exports$jspb$arith.UInt64.fromBigInt(value);
      encoder.writeSplitVarint64(num$jscomp$0.lo, num$jscomp$0.hi);
      break;
    default:
      var num$jscomp$1 = value.length && value[0] === "-" ? module$exports$jspb$arith.UInt64.fromString(value.substring(1)).negateInTwosComplement() : module$exports$jspb$arith.UInt64.fromString(value);
      encoder.writeSplitVarint64(num$jscomp$1.lo, num$jscomp$1.hi);
  }
}
function module$contents$jspb$binary$writer_encodeFixed64ToleratingNegatives(encoder, field, value) {
  module$contents$jspb$binary$writer_assertUnsignedInt64ToleratingNegatives(field, value);
  switch(typeof value) {
    case "number":
      if (value < 0) {
        var num = module$exports$jspb$arith.UInt64.fromNumber(-value).negateInTwosComplement();
        encoder.writeSplitFixed64(num.lo, num.hi);
      } else {
        encoder.writeUint64(value);
      }
      break;
    case "bigint":
      var num$jscomp$0 = value < BigInt(0) ? module$exports$jspb$arith.UInt64.fromBigInt(-value).negateInTwosComplement() : module$exports$jspb$arith.UInt64.fromBigInt(value);
      encoder.writeSplitFixed64(num$jscomp$0.lo, num$jscomp$0.hi);
      break;
    default:
      var num$jscomp$1 = value.length && value[0] === "-" ? module$exports$jspb$arith.UInt64.fromString(value.substring(1)).negateInTwosComplement() : module$exports$jspb$arith.UInt64.fromString(value);
      encoder.writeSplitFixed64(num$jscomp$1.lo, num$jscomp$1.hi);
  }
}
function module$contents$jspb$binary$writer_assertThat(field, value, condition) {
  condition || (0,goog.asserts.fail)("for [" + value + "] at [" + field + "]");
}
;var module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens = {OpaqueTypeToken:function() {
}};
function module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken() {
  var t = function() {
    throw goog.DEBUG ? Error("cannot construct an instance of a type token") : Error();
  };
  Object.setPrototypeOf(t, t.prototype);
  return t;
}
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.typeTokensEqual = function(a, b) {
  return a instanceof b;
};
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.REPEATED = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("REPEATED");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.MAP = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("MAP");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.MESSAGE = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("MESSAGE");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.GROUP = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("GROUP");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BOOLEAN = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("BOOLEAN");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("STRING");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT32 = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("INT32");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT32 = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("UINT32");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT32 = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("SINT32");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED32 = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("FIXED32");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED32 = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("SFIXED32");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64 = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("INT64");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64 = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("UINT64");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64 = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("SINT64");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64 = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("FIXED64");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64 = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("SFIXED64");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FLOAT = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("FLOAT");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.DOUBLE = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("DOUBLE");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BYTES = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("BYTES");
module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.ENUM = module$contents$google3$javascript$apps$jspb$internal_binary_type_tokens_newOpaqueTypeToken("ENUM");
var module$exports$google3$javascript$apps$jspb$internal_binary_fields = {ReaderWriterPair:function($$binaryReaderFn, $$binaryWriterFn, $$isRepeated, $$valueType) {
  this.$$binaryReaderFn = $$binaryReaderFn;
  this.$$binaryWriterFn = $$binaryWriterFn;
  this.$$isRepeated = $$isRepeated;
  this.$$valueType = $$valueType;
  var typeToken = module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.MESSAGE, JSCompiler_temp;
  if (!(JSCompiler_temp = !!typeToken && $$valueType === typeToken)) {
    var typeToken$jscomp$0 = module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.GROUP;
    JSCompiler_temp = !!typeToken$jscomp$0 && $$valueType === typeToken$jscomp$0;
  }
  this.$$isMsg = JSCompiler_temp;
}};
function module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMsgRWPair(reader, writer, typeToken) {
  typeToken = typeToken === void 0 ? module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.MESSAGE : typeToken;
  return new module$exports$google3$javascript$apps$jspb$internal_binary_fields.ReaderWriterPair(reader, writer, !1, typeToken);
}
module$exports$google3$javascript$apps$jspb$internal_binary_fields.makeMsgRWPair = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMsgRWPair;
function module$contents$google3$javascript$apps$jspb$internal_binary_fields_writeMessage(w, v, fn, mm, wc) {
  w.writeMessage(fn, module$contents$google3$javascript$apps$jspb$internal_binary_fields_asMessageArray(v, mm), wc);
}
var module$contents$google3$javascript$apps$jspb$internal_binary_fields_rwMessage = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMsgRWPair(function(r, m, fn, mm, mr) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readMessage((0,jspb_internal_adapters.getMutableWrapperArrayForBinary)(m, mm, fn), mr);
  return !0;
}, module$contents$google3$javascript$apps$jspb$internal_binary_fields_writeMessage), module$contents$google3$javascript$apps$jspb$internal_binary_fields_rwMessageExt = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMsgRWPair(function(r, m, fn, mm, mr) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readMessage((0,jspb_internal_adapters.getMutableWrapperArrayForBinary)(m, mm, fn, !0), mr);
  return !0;
}, module$contents$google3$javascript$apps$jspb$internal_binary_fields_writeMessage);
module$exports$google3$javascript$apps$jspb$internal_binary_fields.tryParseMessageMeta = function(messageMeta) {
  return module$contents$jspb$internal_construct_tryParseMessageMeta(messageMeta);
};
module$exports$google3$javascript$apps$jspb$internal_binary_fields.Deserializers = function() {
};
module$exports$google3$javascript$apps$jspb$internal_binary_fields.Serializers = function() {
};
module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_SERIALIZERS = Symbol();
module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_DESERIALIZERS = Symbol();
module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_DESERIALIZE_BINARY_FROM_READER = Symbol();
module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_SERIALIZE_BINARY_TO_WRITER = Symbol();
module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_COMPARISON_TYPE_INFO = Symbol();
module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_TYPE_INFO = Symbol();
module$exports$google3$javascript$apps$jspb$internal_binary_fields.BinaryExtensionSet = function() {
};
module$exports$google3$javascript$apps$jspb$internal_binary_fields.MessageFieldTable = function() {
};
module$exports$google3$javascript$apps$jspb$internal_binary_fields.FieldTypeInfo = function() {
};
module$exports$google3$javascript$apps$jspb$internal_binary_fields.SubmessageFieldTypeInfo = function() {
};
module$exports$google3$javascript$apps$jspb$internal_binary_fields.TypeInfoTable = function() {
};
var module$contents$google3$javascript$apps$jspb$internal_binary_fields_deserializeBinaryMessageSetFn;
function module$contents$google3$javascript$apps$jspb$internal_binary_fields_getDeserializeBinaryMessageSet() {
  return (0,goog.asserts.assert)(module$contents$google3$javascript$apps$jspb$internal_binary_fields_deserializeBinaryMessageSetFn);
}
module$exports$google3$javascript$apps$jspb$internal_binary_fields.getDeserializeBinaryMessageSet = module$contents$google3$javascript$apps$jspb$internal_binary_fields_getDeserializeBinaryMessageSet;
var module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMessageSetExtensionWriterFn;
function module$contents$google3$javascript$apps$jspb$internal_binary_fields_getMakeMessageSetExtensionWriterFn() {
  return (0,goog.asserts.assert)(module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMessageSetExtensionWriterFn);
}
module$exports$google3$javascript$apps$jspb$internal_binary_fields.getMakeMessageSetExtensionWriterFn = module$contents$google3$javascript$apps$jspb$internal_binary_fields_getMakeMessageSetExtensionWriterFn;
function module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMessageFieldTable(cacheKey, emptyTable, addPrimitiveField, addMessageField, binaryFields) {
  var cached = binaryFields[cacheKey];
  if (cached) {
    return cached;
  }
  var table = emptyTable ? emptyTable() : {};
  table.messageMetadata = (0,goog.asserts.assert)(module$contents$jspb$internal_construct_tryParseMessageMeta(binaryFields[0]));
  var cur = binaryFields[1], i = 1;
  cur && cur.constructor === Object && (table.extensions = cur, cur = binaryFields[++i], typeof cur === "function" && (module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && module$contents$google3$javascript$apps$jspb$internal_binary_fields_deserializeBinaryMessageSetFn != null && ((0,goog.asserts.assert)(module$contents$google3$javascript$apps$jspb$internal_binary_fields_deserializeBinaryMessageSetFn === cur), (0,goog.asserts.assert)(module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMessageSetExtensionWriterFn === 
  binaryFields[1 + i])), table.isMessageSet = !0, module$contents$google3$javascript$apps$jspb$internal_binary_fields_deserializeBinaryMessageSetFn != null || (module$contents$google3$javascript$apps$jspb$internal_binary_fields_deserializeBinaryMessageSetFn = cur), module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMessageSetExtensionWriterFn != null || (module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMessageSetExtensionWriterFn = (0,goog.asserts.assertFunction)(binaryFields[i + 
  1])), cur = binaryFields[i += 2]));
  for (var oneofIndex = {}; cur && module$contents$google3$javascript$apps$jspb$internal_binary_fields_isOneofArray(cur);) {
    for (var j = 0; j < cur.length; j++) {
      oneofIndex[cur[j]] = cur;
    }
    cur = binaryFields[++i];
  }
  for (var field = 1; cur !== void 0;) {
    typeof cur === "number" && ((0,goog.asserts.assert)(cur > 0), field += cur, cur = binaryFields[++i]);
    var binaryFieldsObject = void 0;
    if (cur instanceof module$exports$google3$javascript$apps$jspb$internal_binary_fields.ReaderWriterPair) {
      var readerWriter = cur;
    } else {
      readerWriter = module$contents$google3$javascript$apps$jspb$internal_binary_fields_rwMessage, i--;
    }
    var $jscomp$optchain$tmp1789880692$0 = void 0;
    if (($jscomp$optchain$tmp1789880692$0 = readerWriter) == null ? 0 : $jscomp$optchain$tmp1789880692$0.$$isMsg) {
      cur = binaryFields[++i];
      var parent = binaryFields, index = i, value = cur;
      typeof value === "function" && ((0,goog.asserts.assert)(value.length === 0), value = value(), parent[index] = value);
      module$contents$google3$javascript$apps$jspb$internal_binary_fields_assertBinaryFields(value);
      binaryFieldsObject = value;
    }
    cur = binaryFields[++i];
    var end = field + 1;
    typeof cur === "number" && cur < 0 && (end -= cur, cur = binaryFields[++i]);
    for (; field < end; field++) {
      var oneof = oneofIndex[field];
      binaryFieldsObject ? addMessageField(table, field, (0,goog.asserts.assert)(readerWriter), binaryFieldsObject, oneof) : addPrimitiveField(table, field, (0,goog.asserts.assert)(readerWriter), oneof);
    }
  }
  return binaryFields[cacheKey] = table;
}
module$exports$google3$javascript$apps$jspb$internal_binary_fields.makeMessageFieldTable = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMessageFieldTable;
function module$contents$google3$javascript$apps$jspb$internal_binary_fields_isOneofArray(v) {
  return Array.isArray(v) && !!v.length && typeof v[0] === "number" && v[0] > 0;
}
module$exports$google3$javascript$apps$jspb$internal_binary_fields.assertBinaryFieldsOrUndefined = function(value) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && (value === void 0 || module$contents$google3$javascript$apps$jspb$internal_binary_fields_assertBinaryFields(value));
  return value;
};
function module$contents$google3$javascript$apps$jspb$internal_binary_fields_assertBinaryFields(value) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && (0,goog.asserts.assert)(module$contents$google3$javascript$apps$jspb$internal_binary_fields_isMessageBinaryFieldsArray(value));
  return value;
}
module$exports$google3$javascript$apps$jspb$internal_binary_fields.assertBinaryFields = module$contents$google3$javascript$apps$jspb$internal_binary_fields_assertBinaryFields;
function module$contents$google3$javascript$apps$jspb$internal_binary_fields_isMessageBinaryFieldsArray(array) {
  if (!Array.isArray(array) || !array.length) {
    return !1;
  }
  var maybeMessageMeta = array[0], parsed = module$contents$jspb$internal_construct_tryParseMessageMeta(maybeMessageMeta);
  parsed != null && parsed !== maybeMessageMeta && (array[0] = parsed);
  return parsed != null;
}
module$exports$google3$javascript$apps$jspb$internal_binary_fields.isMessageBinaryFieldsArray = module$contents$google3$javascript$apps$jspb$internal_binary_fields_isMessageBinaryFieldsArray;
function module$contents$google3$javascript$apps$jspb$internal_binary_fields_getBinaryExtensionTuple(fieldInfo) {
  return Array.isArray(fieldInfo) ? fieldInfo[0] instanceof module$exports$google3$javascript$apps$jspb$internal_binary_fields.ReaderWriterPair ? ((0,goog.asserts.assert)(fieldInfo.length === 2), module$contents$google3$javascript$apps$jspb$internal_binary_fields_assertBinaryFields(fieldInfo[1]), fieldInfo) : [module$contents$google3$javascript$apps$jspb$internal_binary_fields_rwMessageExt, module$contents$google3$javascript$apps$jspb$internal_binary_fields_assertBinaryFields(fieldInfo)] : [(0,goog.asserts.assertInstanceof)(fieldInfo, 
  module$exports$google3$javascript$apps$jspb$internal_binary_fields.ReaderWriterPair), void 0];
}
module$exports$google3$javascript$apps$jspb$internal_binary_fields.getBinaryExtensionTuple = module$contents$google3$javascript$apps$jspb$internal_binary_fields_getBinaryExtensionTuple;
var module$contents$google3$javascript$apps$jspb$internal_binary_fields_asyncThrowsForIndirectBinaryExtensions = 0;
module$exports$google3$javascript$apps$jspb$internal_binary_fields.recordExtensionNotRequiredDirectly = function(fieldNumber) {
  module$contents$google3$javascript$apps$jspb$internal_binary_fields_asyncThrowsForIndirectBinaryExtensions++ < 5 && module$contents$jspb$exceptions_asyncThrowWarning(goog.DEBUG ? "binary extension " + fieldNumber + " accessed via indirect require" : "beireq" + fieldNumber);
};
function module$contents$google3$javascript$apps$jspb$internal_binary_fields_asMessageArray(v, mm) {
  if (v instanceof module$exports$jspb.Message) {
    return v.internalArray_;
  }
  if (Array.isArray(v)) {
    return module$contents$jspb$internal_construct_constructMessageArrayFromMetaForBinary(v, mm, !1);
  }
}
module$exports$google3$javascript$apps$jspb$internal_binary_fields.asMessageArray = module$contents$google3$javascript$apps$jspb$internal_binary_fields_asMessageArray;
var module$exports$google3$javascript$apps$jspb$internal_binary_comparison = {BinaryComparisonTypeInfo:function(messageMetadata) {
  this.messageMetadata = messageMetadata;
}};
module$exports$google3$javascript$apps$jspb$internal_binary_comparison.BinaryComparisonTypeInfo.prototype.getRepeatedFields = function() {
  var repeatedFields = this.repeatedFields;
  return repeatedFields ? repeatedFields : module$contents$google3$javascript$apps$jspb$internal_binary_comparison_getEmptySet();
};
module$exports$google3$javascript$apps$jspb$internal_binary_comparison.BinaryComparisonTypeInfo.prototype.getMapFields = function() {
  var mapFields = this.mapFields;
  return mapFields ? mapFields : module$contents$google3$javascript$apps$jspb$internal_binary_comparison_getEmptySet();
};
module$exports$google3$javascript$apps$jspb$internal_binary_comparison.BinaryComparisonTypeInfo.prototype.getFieldComparisonTypeInfo = function(fieldNumber) {
  var directField = this[fieldNumber];
  if (directField != null) {
    return Array.isArray(directField) ? this[fieldNumber] = module$contents$google3$javascript$apps$jspb$internal_binary_comparison_binaryComparisonTypeInfoForBinaryFields(module$contents$google3$javascript$apps$jspb$internal_binary_fields_assertBinaryFields(directField)) : (0,goog.asserts.assertInstanceof)(directField, module$exports$google3$javascript$apps$jspb$internal_binary_comparison.BinaryComparisonTypeInfo);
  }
  var extensions = this.extensions;
  if (extensions != null) {
    var thisExt = extensions[fieldNumber];
    if (thisExt != null) {
      var tuple = module$contents$google3$javascript$apps$jspb$internal_binary_fields_getBinaryExtensionTuple(thisExt), $jscomp$optchain$tmp1876766884$3;
      !tuple[0].$$isRepeated || ($jscomp$optchain$tmp1876766884$3 = this.repeatedFields) != null && $jscomp$optchain$tmp1876766884$3.has(fieldNumber) || (this.repeatedFields || (this.repeatedFields = new Set())).add(fieldNumber);
      var extBinaryFields = tuple[1];
      if (extBinaryFields != null) {
        return this[fieldNumber] = module$contents$google3$javascript$apps$jspb$internal_binary_comparison_binaryComparisonTypeInfoForBinaryFields(module$contents$google3$javascript$apps$jspb$internal_binary_fields_assertBinaryFields(extBinaryFields));
      }
    }
  }
};
function module$contents$google3$javascript$apps$jspb$internal_binary_comparison_makeEmptyComparisonTypeInfo() {
  return new module$exports$google3$javascript$apps$jspb$internal_binary_comparison.BinaryComparisonTypeInfo(module$contents$jspb$internal_construct_tryParseMessageMeta(0));
}
function module$contents$google3$javascript$apps$jspb$internal_binary_comparison_addSingularFieldInfoToComparisonTable(table, fieldNumber, readerWriterPair) {
  module$contents$google3$javascript$apps$jspb$internal_binary_comparison_addFieldInfoToComparisonTable(table, fieldNumber, !!readerWriterPair.$$isRepeated, void 0);
}
function module$contents$google3$javascript$apps$jspb$internal_binary_comparison_addMessageFieldInfoToComparisonTable(table, fieldNumber, readerWriterPair, submessageBinaryFields) {
  module$contents$google3$javascript$apps$jspb$internal_binary_comparison_addFieldInfoToComparisonTable(table, fieldNumber, !!readerWriterPair.$$isRepeated, submessageBinaryFields);
}
function module$contents$google3$javascript$apps$jspb$internal_binary_comparison_addFieldInfoToComparisonTable(parentTypeInfo, fieldNumber, isRepeated, childBinaryFields) {
  if (childBinaryFields) {
    var maybeChildComparisonTypeInfo = childBinaryFields[module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_COMPARISON_TYPE_INFO];
    var childMeta = maybeChildComparisonTypeInfo ? maybeChildComparisonTypeInfo.messageMetadata : (0,goog.asserts.assert)(module$contents$jspb$internal_construct_tryParseMessageMeta(childBinaryFields[0]));
    parentTypeInfo[fieldNumber] = maybeChildComparisonTypeInfo != null ? maybeChildComparisonTypeInfo : childBinaryFields;
  }
  if (childMeta && module$contents$jspb$internal_construct_isMapEntryMessageMeta(childMeta)) {
    var $jscomp$nullish$tmp29, mapFields = ($jscomp$nullish$tmp29 = parentTypeInfo.mapFields) != null ? $jscomp$nullish$tmp29 : parentTypeInfo.mapFields = new Set();
    (0,goog.asserts.assertInstanceof)(mapFields, Set).add(fieldNumber);
  } else if (isRepeated) {
    var $jscomp$nullish$tmp30, repeatedFields = ($jscomp$nullish$tmp30 = parentTypeInfo.repeatedFields) != null ? $jscomp$nullish$tmp30 : parentTypeInfo.repeatedFields = new Set();
    (0,goog.asserts.assertInstanceof)(repeatedFields, Set).add(fieldNumber);
  }
}
function module$contents$google3$javascript$apps$jspb$internal_binary_comparison_binaryComparisonTypeInfoForBinaryFields(binaryFields) {
  var cachedValue = binaryFields[module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_COMPARISON_TYPE_INFO];
  if (cachedValue) {
    return cachedValue;
  }
  var comparisonTypeInfo = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMessageFieldTable(module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_COMPARISON_TYPE_INFO, module$contents$google3$javascript$apps$jspb$internal_binary_comparison_makeEmptyComparisonTypeInfo, module$contents$google3$javascript$apps$jspb$internal_binary_comparison_addSingularFieldInfoToComparisonTable, module$contents$google3$javascript$apps$jspb$internal_binary_comparison_addMessageFieldInfoToComparisonTable, 
  binaryFields), $jscomp$optchain$tmp1876766884$4, $jscomp$optchain$tmp1876766884$5;
  if (!(comparisonTypeInfo.extensions || (($jscomp$optchain$tmp1876766884$4 = comparisonTypeInfo.repeatedFields) == null ? 0 : $jscomp$optchain$tmp1876766884$4.size) || (($jscomp$optchain$tmp1876766884$5 = comparisonTypeInfo.mapFields) == null ? 0 : $jscomp$optchain$tmp1876766884$5.size))) {
    var empty = !0, k;
    for (k in comparisonTypeInfo) {
      isNaN(k) || (empty = !1);
    }
    if (empty) {
      var isMapEntry = module$contents$jspb$internal_construct_isMapEntryMessageMeta((0,goog.asserts.assert)(module$contents$jspb$internal_construct_tryParseMessageMeta(binaryFields[0]))), JSCompiler_temp_const = module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_COMPARISON_TYPE_INFO;
      if (isMapEntry) {
        if (module$contents$google3$javascript$apps$jspb$internal_binary_comparison_emptyMapEntryComparisonInfo) {
          var JSCompiler_temp = module$contents$google3$javascript$apps$jspb$internal_binary_comparison_emptyMapEntryComparisonInfo;
        } else {
          var typeInfo = new module$exports$google3$javascript$apps$jspb$internal_binary_comparison.BinaryComparisonTypeInfo(module$contents$jspb$internal_construct_tryParseMessageMeta(module$exports$jspb$internal_construct.ENCODED_MAP_META));
          typeInfo.messageMetadata = (0,goog.asserts.assert)(module$contents$jspb$internal_construct_tryParseMessageMeta(module$exports$jspb$internal_construct.ENCODED_MAP_META));
          JSCompiler_temp = module$contents$google3$javascript$apps$jspb$internal_binary_comparison_emptyMapEntryComparisonInfo = typeInfo;
        }
      } else {
        var $jscomp$inline_549;
        JSCompiler_temp = ($jscomp$inline_549 = module$contents$google3$javascript$apps$jspb$internal_binary_comparison_emptyComparisonInfo) != null ? $jscomp$inline_549 : module$contents$google3$javascript$apps$jspb$internal_binary_comparison_emptyComparisonInfo = new module$exports$google3$javascript$apps$jspb$internal_binary_comparison.BinaryComparisonTypeInfo(module$contents$jspb$internal_construct_tryParseMessageMeta(0));
      }
      return binaryFields[JSCompiler_temp_const] = JSCompiler_temp;
    }
    comparisonTypeInfo.onlySubmessages = !0;
  }
  return (0,goog.asserts.assert)(comparisonTypeInfo);
}
module$exports$google3$javascript$apps$jspb$internal_binary_comparison.binaryComparisonTypeInfoForBinaryFields = module$contents$google3$javascript$apps$jspb$internal_binary_comparison_binaryComparisonTypeInfoForBinaryFields;
var module$contents$google3$javascript$apps$jspb$internal_binary_comparison_emptyComparisonInfo, module$contents$google3$javascript$apps$jspb$internal_binary_comparison_emptyMapEntryComparisonInfo;
function module$contents$google3$javascript$apps$jspb$internal_binary_comparison_isEmptyComparisonInfo(info) {
  return info === module$contents$google3$javascript$apps$jspb$internal_binary_comparison_emptyComparisonInfo || info === module$contents$google3$javascript$apps$jspb$internal_binary_comparison_emptyMapEntryComparisonInfo;
}
module$exports$google3$javascript$apps$jspb$internal_binary_comparison.isEmptyComparisonInfo = module$contents$google3$javascript$apps$jspb$internal_binary_comparison_isEmptyComparisonInfo;
var module$contents$google3$javascript$apps$jspb$internal_binary_comparison_emptySet;
function module$contents$google3$javascript$apps$jspb$internal_binary_comparison_getEmptySet() {
  var $jscomp$nullish$tmp32;
  return ($jscomp$nullish$tmp32 = module$contents$google3$javascript$apps$jspb$internal_binary_comparison_emptySet) != null ? $jscomp$nullish$tmp32 : module$contents$google3$javascript$apps$jspb$internal_binary_comparison_emptySet = new Set();
}
;function module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_deserializersForBinaryFields(binaryFields) {
  return module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMessageFieldTable(module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_DESERIALIZERS, void 0, module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_addPrimitiveFieldToDeserializers, module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_addMessageFieldToDeserializers, binaryFields);
}
function module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_addPrimitiveFieldToDeserializers(table, fieldNumber, readerWriterPair, oneofGroup) {
  var readFn = readerWriterPair.$$binaryReaderFn;
  table[fieldNumber] = oneofGroup ? function(reader, messageArray, fieldNumber) {
    return readFn(reader, messageArray, fieldNumber, oneofGroup);
  } : readFn;
}
function module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_addMessageFieldToDeserializers(table, fieldNumber, readerWriterPair, submessageBinaryFields, oneofGroup) {
  var readFn = readerWriterPair.$$binaryReaderFn, deserializeBinaryFromReader, messageMetadata;
  table[fieldNumber] = function(reader, messageArray, fieldNumber) {
    return readFn(reader, messageArray, fieldNumber, messageMetadata || (messageMetadata = module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_deserializersForBinaryFields(submessageBinaryFields).messageMetadata), deserializeBinaryFromReader || (deserializeBinaryFromReader = module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_makeDeserializeBinaryFromReaderFromBinaryFields(submessageBinaryFields)), oneofGroup);
  };
}
function module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_makeDeserializeBinaryFromReaderFromBinaryFields(binaryFields) {
  var readerFn = binaryFields[module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_DESERIALIZE_BINARY_FROM_READER];
  if (readerFn != null) {
    return readerFn;
  }
  var deserializers = module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_deserializersForBinaryFields(binaryFields);
  readerFn = deserializers.isMessageSet ? function(messageArray, reader) {
    return module$contents$google3$javascript$apps$jspb$internal_binary_fields_getDeserializeBinaryMessageSet()(messageArray, reader, deserializers);
  } : function(messageArray, reader) {
    var originalState = module$contents$jspb$internal_array_state_getPossiblyUnconstructedMessageArrayState(messageArray);
    for ((0,goog.asserts.assert)(!(originalState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY)); reader.nextField() && !reader.isEndGroup();) {
      var fieldNumber = reader.nextField_, parser = deserializers[fieldNumber];
      if (parser == null) {
        var extensions = deserializers.extensions;
        if (extensions) {
          var binaryFieldInfo = extensions[fieldNumber];
          if (binaryFieldInfo) {
            var parserFromExtension = module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_makeParserFromBinaryExtension(binaryFieldInfo);
            parserFromExtension != null && (parser = deserializers[fieldNumber] = parserFromExtension);
          }
        }
      }
      parser != null && parser(reader, messageArray, fieldNumber) || module$contents$jspb$internal_addUnknownField(messageArray, reader.readUnknownField());
    }
    originalState & module$exports$jspb$internal_array_state.ArrayStateFlags.DESERIALIZED_FROM_BINARY && module$contents$jspb$internal_array_state_markArrayImmutable(messageArray);
    return !0;
  };
  return binaryFields[module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_DESERIALIZE_BINARY_FROM_READER] = readerFn;
}
function module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_makeParserFromBinaryExtension(binaryFieldInfo) {
  var tuple = module$contents$google3$javascript$apps$jspb$internal_binary_fields_getBinaryExtensionTuple(binaryFieldInfo), readerFn = (0,goog.asserts.assertInstanceof)(tuple[0], module$exports$google3$javascript$apps$jspb$internal_binary_fields.ReaderWriterPair).$$binaryReaderFn, binaryFields = tuple[1];
  if (binaryFields) {
    var deserializeBinaryFromReader = module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_makeDeserializeBinaryFromReaderFromBinaryFields(module$contents$google3$javascript$apps$jspb$internal_binary_fields_assertBinaryFields(binaryFields)), messageMetadata = module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_deserializersForBinaryFields(module$contents$google3$javascript$apps$jspb$internal_binary_fields_assertBinaryFields(binaryFields)).messageMetadata;
    return function(reader, messageArray, fieldNumber) {
      return readerFn(reader, messageArray, fieldNumber, messageMetadata, deserializeBinaryFromReader);
    };
  }
  return readerFn;
}
;function module$contents$google3$javascript$apps$jspb$internal_binary_serializers_serializersForBinaryFields(binaryFields) {
  return module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMessageFieldTable(module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_SERIALIZERS, void 0, module$contents$google3$javascript$apps$jspb$internal_binary_serializers_addSingularFieldToSerializers, module$contents$google3$javascript$apps$jspb$internal_binary_serializers_addMessageFieldToSerializers, binaryFields);
}
function module$contents$google3$javascript$apps$jspb$internal_binary_serializers_addSingularFieldToSerializers(table, fieldNumber, readerWriterPair) {
  table[fieldNumber] = readerWriterPair.$$binaryWriterFn;
}
function module$contents$google3$javascript$apps$jspb$internal_binary_serializers_addMessageFieldToSerializers(table, fieldNumber, readerWriterPair, submessageBinaryFields) {
  var serializeBinaryToWriterFn, messageMetadata, writeFn = readerWriterPair.$$binaryWriterFn;
  table[fieldNumber] = function(writer, value, fieldNumber) {
    return writeFn(writer, value, fieldNumber, messageMetadata || (messageMetadata = module$contents$google3$javascript$apps$jspb$internal_binary_serializers_serializersForBinaryFields(submessageBinaryFields).messageMetadata), serializeBinaryToWriterFn || (serializeBinaryToWriterFn = module$contents$google3$javascript$apps$jspb$internal_binary_serializers_makeSerializeBinaryToWriterFromBinaryFields(submessageBinaryFields)));
  };
}
function module$contents$google3$javascript$apps$jspb$internal_binary_serializers_makeSerializeBinaryToWriterFromBinaryFields(binaryFields) {
  var writerFn = binaryFields[module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_SERIALIZE_BINARY_TO_WRITER];
  if (!writerFn) {
    var binarySerializers = module$contents$google3$javascript$apps$jspb$internal_binary_serializers_serializersForBinaryFields(binaryFields);
    writerFn = function(messageArray, writer) {
      return module$contents$google3$javascript$apps$jspb$internal_binary_serializers_serializeBinaryToWriterGenericImpl(messageArray, writer, binarySerializers);
    };
    binaryFields[module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_SERIALIZE_BINARY_TO_WRITER] = writerFn;
  }
  return writerFn;
}
function module$contents$google3$javascript$apps$jspb$internal_binary_serializers_serializeBinaryToWriterGenericImpl(messageArray, writer, serializers) {
  for (var arrayState = (0,module$exports$jspb$internal_array_state.getArrayState)(messageArray), arrayIndexOffset = module$contents$jspb$internal_array_state_getArrayIndexOffset(arrayState), arrayLength = messageArray.length, end = arrayLength + (arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT ? -1 : 0), i = arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_MESSAGE_ID ? 1 : 0; i < end; i++) {
    var item = messageArray[i];
    if (item != null) {
      var fieldNumber = module$contents$jspb$internal_fieldNumberFromIndex(i, arrayIndexOffset), writerFn = module$contents$google3$javascript$apps$jspb$internal_binary_serializers_getWriterFn(serializers, fieldNumber);
      writerFn && writerFn(writer, item, fieldNumber);
    }
  }
  if (arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.HAS_SPARSE_OBJECT) {
    var sparseObject = messageArray[arrayLength - 1];
    (0,goog.asserts.assert)(module$contents$jspb$internal_isSparseObject(sparseObject));
    for (var k in sparseObject) {
      if (module$contents$jspb$internal_hasOwnPropertyIfNotTrusted(sparseObject, k)) {
        var fieldNumber$jscomp$0 = +k;
        if (!Number.isNaN(fieldNumber$jscomp$0)) {
          var sparseItem = sparseObject[fieldNumber$jscomp$0];
          if (sparseItem != null) {
            var writerFn$jscomp$0 = module$contents$google3$javascript$apps$jspb$internal_binary_serializers_getWriterFn(serializers, fieldNumber$jscomp$0);
            writerFn$jscomp$0 && writerFn$jscomp$0(writer, sparseItem, fieldNumber$jscomp$0);
          }
        }
      }
    }
  }
  var unknownFields = module$contents$jspb$internal_getUnknownFields(messageArray);
  unknownFields && writer.writeUnknownFields(unknownFields);
}
function module$contents$google3$javascript$apps$jspb$internal_binary_serializers_getWriterFn(serializers, fieldNumber) {
  var writerFn = serializers[fieldNumber];
  if (writerFn) {
    return writerFn;
  }
  var extensions = serializers.extensions;
  if (extensions) {
    var binaryFieldInfo = extensions[fieldNumber];
    if (binaryFieldInfo) {
      var tuple = module$contents$google3$javascript$apps$jspb$internal_binary_fields_getBinaryExtensionTuple(binaryFieldInfo), baseWriterFn = (0,goog.asserts.assertInstanceof)(tuple[0], module$exports$google3$javascript$apps$jspb$internal_binary_fields.ReaderWriterPair).$$binaryWriterFn, binaryFields = tuple[1];
      if (binaryFields) {
        binaryFields = module$contents$google3$javascript$apps$jspb$internal_binary_fields_assertBinaryFields(binaryFields);
        var writerCallback = module$contents$google3$javascript$apps$jspb$internal_binary_serializers_makeSerializeBinaryToWriterFromBinaryFields(binaryFields), messageMetadata = module$contents$google3$javascript$apps$jspb$internal_binary_serializers_serializersForBinaryFields(binaryFields).messageMetadata;
        writerFn = serializers.isMessageSet ? module$contents$google3$javascript$apps$jspb$internal_binary_fields_getMakeMessageSetExtensionWriterFn()(messageMetadata, writerCallback) : function(w, value, fieldNumber) {
          return baseWriterFn(w, value, fieldNumber, messageMetadata, writerCallback);
        };
      } else {
        writerFn = baseWriterFn;
      }
      return serializers[fieldNumber] = writerFn;
    }
  }
}
;var jspb_internal_binary = {deserializeBinaryMessageSet:function(messageArray, reader, deserializers) {
  (0,goog.asserts.assert)(Array.isArray(messageArray));
  var extensions = deserializers.extensions, originalState = module$contents$jspb$internal_array_state_getPossiblyUnconstructedMessageArrayState(messageArray);
  (0,goog.asserts.assert)(!(originalState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY));
  for (var $jscomp$loop$m1110314009$11 = {}; reader.nextField() && !reader.isEndGroup(); $jscomp$loop$m1110314009$11 = {unknown$jscomp$1:void 0}) {
    if (reader.isMessageSetGroup()) {
      var startPosition = reader.fieldCursor_;
      $jscomp$loop$m1110314009$11.unknown$jscomp$1 = !1;
      reader.readMessageSetGroup(function($jscomp$loop$m1110314009$11) {
        return function(fieldNumber, payloadReader) {
          var deserializer = deserializers[fieldNumber];
          if (deserializer == null) {
            var binaryFieldInfo = extensions == null ? void 0 : extensions[fieldNumber];
            if (binaryFieldInfo) {
              var binaryFields = module$contents$google3$javascript$apps$jspb$internal_binary_fields_assertBinaryFields(binaryFieldInfo), deserializeBinaryFromReader = module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_makeDeserializeBinaryFromReaderFromBinaryFields(binaryFields), messageMetadata = module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_deserializersForBinaryFields(binaryFields).messageMetadata;
              deserializer = deserializers[fieldNumber] = function(subReader, messageArray, fieldNumber) {
                return deserializeBinaryFromReader((0,jspb_internal_adapters.getMutableWrapperArrayForBinary)(messageArray, messageMetadata, fieldNumber, !0), subReader);
              };
            }
          }
          deserializer != null ? deserializer(payloadReader, messageArray, fieldNumber) : ($jscomp$loop$m1110314009$11.unknown$jscomp$1 = !0, payloadReader.skipToEnd());
        };
      }($jscomp$loop$m1110314009$11));
      $jscomp$loop$m1110314009$11.unknown$jscomp$1 && module$contents$jspb$internal_addUnknownField(messageArray, reader.readUnknownFieldsStartingFrom(startPosition));
    } else {
      module$contents$jspb$internal_addUnknownField(messageArray, reader.readUnknownField());
    }
  }
  originalState & module$exports$jspb$internal_array_state.ArrayStateFlags.DESERIALIZED_FROM_BINARY && module$contents$jspb$internal_array_state_markArrayImmutable(messageArray);
  return !0;
}}, module$contents$jspb_internal_binary_GBIGINT_ZERO = module$contents$google3$javascript$common$bigint$index_toGbigint(0);
jspb_internal_binary.makeMessageSetExtensionWriterFn = function(messageMetadata, writerCallback) {
  return function(w, subMessage, fieldNumber) {
    return w.writeMessageSet(fieldNumber, module$contents$google3$javascript$apps$jspb$internal_binary_fields_asMessageArray(subMessage, messageMetadata), writerCallback);
  };
};
function module$contents$jspb_internal_binary_asCoercedArray(coercionFn, v, markApiFormatted) {
  if (Array.isArray(v)) {
    var arrayState = (0,module$exports$jspb$internal_array_state.getArrayState)(v);
    if (arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED) {
      return v;
    }
    for (var from = 0, to = 0; from < v.length; from++) {
      var coerced = coercionFn(v[from]);
      coerced != null && (v[to++] = coerced);
    }
    to < from && (v.length = to);
    markApiFormatted && ((0,module$exports$jspb$internal_array_state.setArrayState)(v, (arrayState | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_API_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.IS_REPEATED_FIELD) & ~(module$exports$jspb$internal_array_state.ArrayStateFlags.STRING_FORMATTED | module$exports$jspb$internal_array_state.ArrayStateFlags.GBIGINT_FORMATTED)), arrayState & module$exports$jspb$internal_array_state.ArrayStateFlags.IS_IMMUTABLE_ARRAY && 
    Object.freeze(v));
    return v;
  }
}
jspb_internal_binary.makeDeserializeBinaryFromReaderFromBinaryFields = module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_makeDeserializeBinaryFromReaderFromBinaryFields;
function module$contents$jspb_internal_binary_getChildBinaryComparisonTypeInfo(fieldNumber, parentBinaryComparisonTypeInfo) {
  var childBinaryComparisonTypeInfo = parentBinaryComparisonTypeInfo[fieldNumber];
  if (childBinaryComparisonTypeInfo) {
    return module$contents$google3$javascript$apps$jspb$internal_binary_fields_isMessageBinaryFieldsArray(childBinaryComparisonTypeInfo) && (parentBinaryComparisonTypeInfo[fieldNumber] = childBinaryComparisonTypeInfo = module$contents$google3$javascript$apps$jspb$internal_binary_comparison_binaryComparisonTypeInfoForBinaryFields(childBinaryComparisonTypeInfo)), childBinaryComparisonTypeInfo;
  }
}
function module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleForField(fieldNumber, parentBinaryComparisonTypeInfo, field) {
  var childBinaryComparisonTypeInfo = module$contents$jspb_internal_binary_getChildBinaryComparisonTypeInfo(fieldNumber, parentBinaryComparisonTypeInfo);
  if (childBinaryComparisonTypeInfo) {
    if (field instanceof module$exports$jspb$internal_map.JspbMap) {
      var messageBinaryComparisonTypeInfo = module$contents$jspb_internal_binary_getChildBinaryComparisonTypeInfo(2, childBinaryComparisonTypeInfo);
      return messageBinaryComparisonTypeInfo ? field.forEach(function(v) {
        module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleGenericImpl((0,goog.asserts.assertInstanceof)(v, module$exports$jspb.Message).internalArray_, (0,goog.asserts.assert)(messageBinaryComparisonTypeInfo));
      }) : void 0;
    }
    if (parentBinaryComparisonTypeInfo.getRepeatedFields().has(fieldNumber) || parentBinaryComparisonTypeInfo.getMapFields().has(fieldNumber)) {
      if (Array.isArray(field)) {
        for (var i = 0; i < field.length; i++) {
          var value = field[i];
          if (value instanceof module$exports$jspb.Message) {
            value = value.internalArray_;
          } else if (!Array.isArray(value)) {
            throw goog.DEBUG ? Error("found a bad value in place of a message: " + value + " with field number " + fieldNumber + " and comparison info " + JSON.stringify(parentBinaryComparisonTypeInfo)) : Error();
          }
          module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleGenericImpl(value, childBinaryComparisonTypeInfo);
        }
      }
    } else {
      if (field instanceof module$exports$jspb.Message) {
        field = field.internalArray_;
      } else if (!Array.isArray(field)) {
        throw goog.DEBUG ? Error("found a bad value in place of a message") : Error();
      }
      module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleGenericImpl(field, childBinaryComparisonTypeInfo);
    }
  }
}
function module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleGenericImpl(messageArray, comparisonTypeInfo) {
  (0,goog.asserts.assertArray)(messageArray);
  if (!module$contents$google3$javascript$apps$jspb$internal_binary_comparison_isEmptyComparisonInfo(comparisonTypeInfo)) {
    comparisonTypeInfo.onlySubmessages || (messageArray[module$contents$jspb$internal_getComparisonTypeInfoArraySymbol()] = comparisonTypeInfo);
    for (var arrayLen = messageArray.length, arrayIndexOffset = module$contents$jspb$internal_construct_arrayIndexOffsetForMeta((0,goog.asserts.assert)(comparisonTypeInfo.messageMetadata)), i = 0; i < messageArray.length; i++) {
      var value = messageArray[i];
      if (value && typeof value === "object") {
        if (i === arrayLen - 1 && module$contents$jspb$internal_isSparseObject(value)) {
          var sparseObject = value, k;
          for (k in sparseObject) {
            if (module$contents$jspb$internal_hasOwnPropertyIfNotTrusted(sparseObject, k)) {
              var fieldNumber = +k;
              if (!Number.isNaN(fieldNumber)) {
                var value$jscomp$0 = sparseObject[k];
                value$jscomp$0 && typeof value$jscomp$0 === "object" && module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleForField(fieldNumber, comparisonTypeInfo, value$jscomp$0);
              }
            }
          }
        } else {
          var fieldNumber$jscomp$0 = module$contents$jspb$internal_fieldNumberFromIndex(i, arrayIndexOffset);
          module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleForField(fieldNumber$jscomp$0, comparisonTypeInfo, value);
        }
      }
    }
  }
}
var module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleCache = goog.DEBUG ? Symbol("makeCrossSerializerComparisonsCompatible") : Symbol();
function module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleFromBinaryFields(binaryFieldsInitializer) {
  var makeCrossSerializerComparisonsCompatibleFn = binaryFieldsInitializer[module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleCache];
  if (!makeCrossSerializerComparisonsCompatibleFn) {
    var comparisonInfo = module$contents$google3$javascript$apps$jspb$internal_binary_comparison_binaryComparisonTypeInfoForBinaryFields(binaryFieldsInitializer);
    makeCrossSerializerComparisonsCompatibleFn = function(messageArray) {
      return module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleGenericImpl(messageArray, comparisonInfo);
    };
    binaryFieldsInitializer[module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleCache] = makeCrossSerializerComparisonsCompatibleFn;
  }
  return makeCrossSerializerComparisonsCompatibleFn;
}
jspb_internal_binary.makeCrossSerializerComparisonsCompatible = function(msg, binaryFields) {
  module$contents$jspb_internal_binary_makeCrossSerializerComparisonsCompatibleFromBinaryFields(binaryFields)((0,goog.asserts.assertInstanceof)(msg, module$exports$jspb.Message).internalArray_);
};
jspb_internal_binary.deserializeBinary = function(bytes, ctor, binaryFields, options) {
  var reader = module$exports$jspb$binary$reader.BinaryReader.alloc(bytes, void 0, void 0, options);
  try {
    var msg = new ctor(), arr = msg.internalArray_;
    module$contents$google3$javascript$apps$jspb$internal_binary_deserializers_makeDeserializeBinaryFromReaderFromBinaryFields(binaryFields)(arr, reader);
    return msg;
  } finally {
    reader.free();
  }
};
jspb_internal_binary.serializeBinary = function(message, binaryFieldsInitializer) {
  var writer = new module$exports$jspb$binary$writer.BinaryWriter();
  module$contents$google3$javascript$apps$jspb$internal_binary_serializers_serializeBinaryToWriterGenericImpl((0,goog.asserts.assertInstanceof)(message, module$exports$jspb.Message).internalArray_, writer, module$contents$google3$javascript$apps$jspb$internal_binary_serializers_serializersForBinaryFields(binaryFieldsInitializer));
  return writer.getResultBuffer();
};
jspb_internal_binary.serializeBinaryToByteString = function(message, binaryFieldsInitializer) {
  var writer = new module$exports$jspb$binary$writer.BinaryWriter();
  module$contents$google3$javascript$apps$jspb$internal_binary_serializers_serializeBinaryToWriterGenericImpl((0,goog.asserts.assertInstanceof)(message, module$exports$jspb.Message).internalArray_, writer, module$contents$google3$javascript$apps$jspb$internal_binary_serializers_serializersForBinaryFields(binaryFieldsInitializer));
  return writer.getResultBufferAsByteString();
};
function module$contents$jspb_internal_binary_makeRWPair(reader, writer, typeToken) {
  return new module$exports$google3$javascript$apps$jspb$internal_binary_fields.ReaderWriterPair(reader, writer, !1, typeToken);
}
function module$contents$jspb_internal_binary_makeRepeatedRWPair(reader, writer, typeToken) {
  return new module$exports$google3$javascript$apps$jspb$internal_binary_fields.ReaderWriterPair(reader, writer, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.REPEATED, typeToken);
}
function module$contents$jspb_internal_binary_makeRepeatedMsgRWPair(reader, writer, typeToken) {
  typeToken = typeToken === void 0 ? module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.MESSAGE : typeToken;
  return new module$exports$google3$javascript$apps$jspb$internal_binary_fields.ReaderWriterPair(reader, writer, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.REPEATED, typeToken);
}
function module$contents$jspb_internal_binary_setFieldBinary(messageArray, fieldNumber, value, isExtension) {
  module$contents$jspb_internal_adapters_setFieldIgnoringImmutabilityInternal(messageArray, module$contents$jspb$internal_array_state_getPossiblyUnconstructedMessageArrayState(messageArray), fieldNumber, value, isExtension);
}
function module$contents$jspb_internal_binary_addAndReturnBinary(messageArray, meta, fieldNumber, isExtension) {
  var value = module$contents$jspb$internal_construct_constructMessageArrayFromMetaForBinary(void 0, meta, !0);
  (0,jspb_internal_adapters.addRepeatedWrapperArrayForBinary)(messageArray, fieldNumber, value, isExtension);
  return value;
}
jspb_internal_binary.RBytesIgnoringDefaultWAnyValueBytes = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readBytesIgnoringDefault, function(w, value, fn) {
  if (value != null) {
    if (value instanceof module$exports$jspb.Message) {
      var serializeBinaryFnForAnyProto = value.serializeBinaryFnForAnyProto_;
      serializeBinaryFnForAnyProto && w.writeBytes(fn, serializeBinaryFnForAnyProto(value));
      return;
    }
    if (Array.isArray(value)) {
      return;
    }
  }
  module$contents$jspb_internal_binary_writeBytes(w, value, fn);
}, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BYTES);
jspb_internal_binary.RWMapEntry = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMsgRWPair(function(reader, messageArray, mapFieldNumber, messageEntryMeta, messageEntryReader) {
  if (reader.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  var entry = reader.readMessage(module$contents$jspb$internal_construct_constructMessageArrayFromMetaForBinary([void 0, void 0], messageEntryMeta, !0), messageEntryReader);
  (0,jspb_internal_adapters.putIntoMapForBinary)(messageArray, mapFieldNumber, entry);
  return !0;
}, function(writer, mapValue, mapFieldNumber, mm, wc) {
  if (mapValue instanceof module$exports$jspb$internal_map.JspbMap) {
    mapValue.forEach(function(value, key) {
      writer.writeMessage(mapFieldNumber, module$contents$jspb$internal_construct_constructMessageArrayFromMetaForBinary([key, value], mm, !1), wc);
    });
  } else if (Array.isArray(mapValue)) {
    for (var i = 0; i < mapValue.length; i++) {
      var entry = mapValue[i];
      Array.isArray(entry) && writer.writeMessage(mapFieldNumber, module$contents$jspb$internal_construct_constructMessageArrayFromMetaForBinary(entry, mm, !1), wc);
    }
  }
});
function module$contents$jspb_internal_binary_createMapEntryBinaryFields(keyAdapter, valueAdapter) {
  return [module$exports$jspb$internal_construct.ENCODED_MAP_META, keyAdapter, valueAdapter];
}
jspb_internal_binary.createMessageMapEntryBinaryFields = function(keyAdapter, messageBinaryFields) {
  return [module$exports$jspb$internal_construct.ENCODED_MAP_META, keyAdapter, messageBinaryFields];
};
function module$contents$jspb_internal_binary_writeDouble(w, v, fn) {
  w.writeDouble(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint(v));
}
function module$contents$jspb_internal_binary_writeRepeatedDouble(w, v, fn) {
  w.writeRepeatedDouble(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint, v, !0));
}
function module$contents$jspb_internal_binary_writePackedDouble(w, v, fn) {
  w.writePackedDouble(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint, v, !0));
}
function module$contents$jspb_internal_binary_writeFloat(w, v, fn) {
  w.writeFloat(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint(v));
}
function module$contents$jspb_internal_binary_writeRepeatedFloat(w, v, fn) {
  w.writeRepeatedFloat(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint, v, !0));
}
function module$contents$jspb_internal_binary_writePackedFloat(w, v, fn) {
  w.writePackedFloat(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishFloatingPoint, v, !0));
}
function module$contents$jspb_internal_binary_writeInt64(w, v, fn) {
  w.writeInt64(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64StringOrNumber(v));
}
function module$contents$jspb_internal_binary_writeRepeatedInt64(w, v, fn) {
  w.writeRepeatedInt64(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writePackedInt64(w, v, fn) {
  w.writePackedInt64(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writeUint64ToleratingNegatives(w, v, fn) {
  w.writeUint64ToleratingNegatives(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber(v));
}
function module$contents$jspb_internal_binary_writeRepeatedUint64ToleratingNegatives(w, v, fn) {
  w.writeRepeatedUint64ToleratingNegatives(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writePackedUint64ToleratingNegatives(w, v, fn) {
  w.writePackedUint64ToleratingNegatives(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writeUint64(w, v, fn) {
  w.writeUint64(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber(v));
}
function module$contents$jspb_internal_binary_writeRepeatedUint64(w, v, fn) {
  w.writeRepeatedUint64(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writePackedUint64(w, v, fn) {
  w.writePackedUint64(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writeInt32(w, v, fn) {
  w.writeInt32(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32(v));
}
function module$contents$jspb_internal_binary_writeRepeatedInt32(w, v, fn) {
  w.writeRepeatedInt32(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32, v, !0));
}
function module$contents$jspb_internal_binary_writePackedInt32(w, v, fn) {
  w.writePackedInt32(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32, v, !0));
}
function module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives(w, v, fn) {
  w.writeFixed64ToleratingNegatives(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber(v));
}
function module$contents$jspb_internal_binary_writeRepeatedFixed64ToleratingNegatives(w, v, fn) {
  w.writeRepeatedFixed64ToleratingNegatives(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writePackedFixed64ToleratingNegatives(w, v, fn) {
  w.writePackedFixed64ToleratingNegatives(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writeFixed64(w, v, fn) {
  w.writeFixed64(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber(v));
}
function module$contents$jspb_internal_binary_writeRepeatedFixed64(w, v, fn) {
  w.writeRepeatedFixed64(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writePackedFixed64(w, v, fn) {
  w.writePackedFixed64(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishUint64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writeFixed32(w, v, fn) {
  w.writeFixed32(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32(v));
}
function module$contents$jspb_internal_binary_writeRepeatedFixed32(w, v, fn) {
  w.writeRepeatedFixed32(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32, v, !0));
}
function module$contents$jspb_internal_binary_writePackedFixed32(w, v, fn) {
  w.writePackedFixed32(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32, v, !0));
}
function module$contents$jspb_internal_binary_writeBool(w, v, fn) {
  w.writeBool(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishBoolean(v));
}
function module$contents$jspb_internal_binary_writeRepeatedBool(w, v, fn) {
  w.writeRepeatedBool(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishBoolean, v, !0));
}
function module$contents$jspb_internal_binary_writePackedBool(w, v, fn) {
  w.writePackedBool(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishBoolean, v, !0));
}
function module$contents$jspb_internal_binary_writeString(w, v, fn) {
  w.writeString(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishString(v));
}
function module$contents$jspb_internal_binary_writeRepeatedString(w, v, fn) {
  w.writeRepeatedString(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishString, v, !0));
}
function module$contents$jspb_internal_binary_writeGroup(w, v, fn, mm, wc) {
  w.writeGroup(fn, module$contents$google3$javascript$apps$jspb$internal_binary_fields_asMessageArray(v, mm), wc);
}
function module$contents$jspb_internal_binary_writeRepeatedGroup(w, v, fn, mm, wc) {
  if (Array.isArray(v)) {
    for (var i = 0; i < v.length; i++) {
      module$contents$jspb_internal_binary_writeGroup(w, v[i], fn, mm, wc);
    }
  }
}
function module$contents$jspb_internal_binary_writeMessage(w, v, fn, mm, wc) {
  w.writeMessage(fn, module$contents$google3$javascript$apps$jspb$internal_binary_fields_asMessageArray(v, mm), wc);
}
function module$contents$jspb_internal_binary_writeRepeatedMessage(w, v, fn, mm, wc) {
  if (Array.isArray(v)) {
    for (var i = 0; i < v.length; i++) {
      module$contents$jspb_internal_binary_writeMessage(w, v[i], fn, mm, wc);
    }
  }
}
function module$contents$jspb_internal_binary_writeBytes(w, v, fn) {
  w.writeBytes(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishBytesAsStringByteStringOrUint8Array(v));
}
function module$contents$jspb_internal_binary_writeRepeatedBytes(w, v, fn) {
  w.writeRepeatedBytes(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishBytesAsStringByteStringOrUint8Array, v, !1));
}
function module$contents$jspb_internal_binary_writeUint32(w, v, fn) {
  w.writeUint32(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32(v));
}
function module$contents$jspb_internal_binary_writeRepeatedUint32(w, v, fn) {
  w.writeRepeatedUint32(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32, v, !0));
}
function module$contents$jspb_internal_binary_writePackedUint32(w, v, fn) {
  w.writePackedUint32(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishUint32, v, !0));
}
function module$contents$jspb_internal_binary_writeEnum(w, v, fn) {
  w.writeEnum(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32(v));
}
function module$contents$jspb_internal_binary_writeRepeatedEnum(w, v, fn) {
  w.writeRepeatedEnum(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32, v, !0));
}
function module$contents$jspb_internal_binary_writePackedEnum(w, v, fn) {
  w.writePackedEnum(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32, v, !0));
}
function module$contents$jspb_internal_binary_writeSfixed32(w, v, fn) {
  w.writeSfixed32(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32(v));
}
function module$contents$jspb_internal_binary_writeRepeatedSfixed32(w, v, fn) {
  w.writeRepeatedSfixed32(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32, v, !0));
}
function module$contents$jspb_internal_binary_writePackedSfixed32(w, v, fn) {
  w.writePackedSfixed32(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32, v, !0));
}
function module$contents$jspb_internal_binary_writeSfixed64(w, v, fn) {
  w.writeSfixed64(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64StringOrNumber(v));
}
function module$contents$jspb_internal_binary_writeRepeatedSfixed64(w, v, fn) {
  w.writeRepeatedSfixed64(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writePackedSfixed64(w, v, fn) {
  w.writePackedSfixed64(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writeSint32(w, v, fn) {
  w.writeSint32(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32(v));
}
function module$contents$jspb_internal_binary_writeRepeatedSint32(w, v, fn) {
  w.writeRepeatedSint32(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32, v, !0));
}
function module$contents$jspb_internal_binary_writePackedSint32(w, v, fn) {
  w.writePackedSint32(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt32, v, !0));
}
function module$contents$jspb_internal_binary_writeSint64(w, v, fn) {
  w.writeSint64(fn, module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64StringOrNumber(v));
}
function module$contents$jspb_internal_binary_writeRepeatedSint64(w, v, fn) {
  w.writeRepeatedSint64(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_writePackedSint64(w, v, fn) {
  w.writePackedSint64(fn, module$contents$jspb_internal_binary_asCoercedArray(module$contents$jspb$internal_accessor_helpers_coerceToNullishInt64StringOrNumber, v, !1));
}
function module$contents$jspb_internal_binary_readPackableDoubleIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableDoubleInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableDoubleInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableDoubleInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableFloatIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableFloatInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableFloatInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableFloatInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableInt64GbigintIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableInt64GbigintInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableInt64StringIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableInt64StringInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableInt64IntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableInt64Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableInt64GbigintInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableInt64GbigintInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableInt64StringInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableInt64StringInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableInt64Into(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableInt64Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readUint64GbigintExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readUint64Gbigint(), !0);
  return !0;
}
function module$contents$jspb_internal_binary_readPackableUint64GbigintIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableUint64GbigintInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readUint64StringExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readUint64String(), !0);
  return !0;
}
function module$contents$jspb_internal_binary_readPackableUint64StringIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableUint64StringInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readUint64Ext(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readUint64(), !0);
  return !0;
}
function module$contents$jspb_internal_binary_readPackableUint64IntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableUint64Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readUint64Gbigint(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readUint64Gbigint());
  return !0;
}
function module$contents$jspb_internal_binary_readPackableUint64GbigintInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableUint64GbigintInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readUint64GbigintIgnoringDefault(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readUint64Gbigint();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === module$contents$jspb_internal_binary_GBIGINT_ZERO ? void 0 : v);
  return !0;
}
function module$contents$jspb_internal_binary_readUint64GbigintOneof(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readUint64Gbigint());
  return !0;
}
function module$contents$jspb_internal_binary_readUint64String(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readUint64String());
  return !0;
}
function module$contents$jspb_internal_binary_readPackableUint64StringInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableUint64StringInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readUint64StringIgnoringDefault(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readUint64String();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === "0" ? void 0 : v);
  return !0;
}
function module$contents$jspb_internal_binary_readUint64StringOneof(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readUint64String());
  return !0;
}
function module$contents$jspb_internal_binary_readUint64(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readUint64());
  return !0;
}
function module$contents$jspb_internal_binary_readPackableUint64Into(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableUint64Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readUint64IgnoringDefault(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readUint64();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}
function module$contents$jspb_internal_binary_readUint64Oneof(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readUint64());
  return !0;
}
function module$contents$jspb_internal_binary_readPackableInt32IntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableInt32Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableInt32Into(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableInt32Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readFixed64GbigintExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readFixed64Gbigint(), !0);
  return !0;
}
function module$contents$jspb_internal_binary_readPackableFixed64GbigintIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableFixed64GbigintInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readFixed64StringExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readFixed64String(), !0);
  return !0;
}
function module$contents$jspb_internal_binary_readPackableFixed64StringIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableFixed64StringInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readFixed64Ext(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readFixed64(), !0);
  return !0;
}
function module$contents$jspb_internal_binary_readPackableFixed64IntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableFixed64Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readFixed64Gbigint(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readFixed64Gbigint());
  return !0;
}
function module$contents$jspb_internal_binary_readPackableFixed64GbigintInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableFixed64GbigintInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readFixed64GbigintIgnoringDefault(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  var v = r.readFixed64Gbigint();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === module$contents$jspb_internal_binary_GBIGINT_ZERO ? void 0 : v);
  return !0;
}
function module$contents$jspb_internal_binary_readFixed64GbigintOneof(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readFixed64Gbigint());
  return !0;
}
function module$contents$jspb_internal_binary_readFixed64String(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readFixed64String());
  return !0;
}
function module$contents$jspb_internal_binary_readPackableFixed64StringInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableFixed64StringInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readFixed64StringIgnoringDefault(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  var v = r.readFixed64String();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === "0" ? void 0 : v);
  return !0;
}
function module$contents$jspb_internal_binary_readFixed64StringOneof(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readFixed64String());
  return !0;
}
function module$contents$jspb_internal_binary_readFixed64(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readFixed64());
  return !0;
}
function module$contents$jspb_internal_binary_readPackableFixed64Into(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableFixed64Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readFixed64IgnoringDefault(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  var v = r.readFixed64();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}
function module$contents$jspb_internal_binary_readFixed64Oneof(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readFixed64());
  return !0;
}
function module$contents$jspb_internal_binary_readPackableFixed32IntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableFixed32Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableFixed32Into(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableFixed32Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableBoolIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableBoolInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableBoolInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableBoolInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readStringExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readString(), !0);
  return !0;
}
function module$contents$jspb_internal_binary_readRepeatedStringExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  var value = r.readString();
  (0,jspb_internal_adapters.addToRepeatedFieldForBinary)(m, fn, value, !0);
  return !0;
}
function module$contents$jspb_internal_binary_readString(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readString());
  return !0;
}
function module$contents$jspb_internal_binary_readRepeatedString(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  var value = r.readString();
  (0,jspb_internal_adapters.addToRepeatedFieldForBinary)(m, fn, value, void 0);
  return !0;
}
function module$contents$jspb_internal_binary_readStringIgnoringDefault(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  var v = r.readString();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === "" ? void 0 : v);
  return !0;
}
function module$contents$jspb_internal_binary_readStringOneof(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readString());
  return !0;
}
function module$contents$jspb_internal_binary_readBytesIgnoringDefault(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  var v = r.readByteString();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === module$exports$jspb$bytestring.ByteString.empty() ? void 0 : v);
  return !0;
}
function module$contents$jspb_internal_binary_readPackableUint32IntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableUint32Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableUint32Into(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableUint32Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableEnumIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableEnumInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableEnumInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableEnumInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSfixed32IntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSfixed32Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSfixed32Into(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSfixed32Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSfixed64GbigintIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSfixed64GbigintInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSfixed64StringIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSfixed64StringInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSfixed64IntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSfixed64Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSfixed64GbigintInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSfixed64GbigintInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSfixed64StringInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSfixed64StringInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSfixed64Into(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64 && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSfixed64Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSint32IntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSint32Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSint32Into(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSint32Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSint64GbigintIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSint64GbigintInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSint64StringIntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSint64StringInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSint64IntoExt(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSint64Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn, !0));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSint64GbigintInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSint64GbigintInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSint64StringInto(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSint64StringInto((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
function module$contents$jspb_internal_binary_readPackableSint64Into(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT && r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readPackableSint64Into((0,jspb_internal_adapters.getRepeatedFieldForBinary)(m, fn));
  return !0;
}
jspb_internal_binary.RWDoubleExt = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readDouble(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeDouble, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.DOUBLE);
jspb_internal_binary.RPackableDoubleIntoExtWRepeatedDoubleExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableDoubleIntoExt, module$contents$jspb_internal_binary_writeRepeatedDouble, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.DOUBLE);
jspb_internal_binary.RPackableDoubleIntoExtWPackedDoubleExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableDoubleIntoExt, module$contents$jspb_internal_binary_writePackedDouble, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.DOUBLE);
jspb_internal_binary.RWDouble = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readDouble());
  return !0;
}, module$contents$jspb_internal_binary_writeDouble, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.DOUBLE);
jspb_internal_binary.RPackableDoubleIntoWRepeatedDouble = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableDoubleInto, module$contents$jspb_internal_binary_writeRepeatedDouble, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.DOUBLE);
jspb_internal_binary.RPackableDoubleIntoWPackedDouble = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableDoubleInto, module$contents$jspb_internal_binary_writePackedDouble, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.DOUBLE);
jspb_internal_binary.RDoubleIgnoringDefaultWDouble = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  var v = r.readDouble();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeDouble, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.DOUBLE);
jspb_internal_binary.RDoubleOneofWDouble = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readDouble());
  return !0;
}, module$contents$jspb_internal_binary_writeDouble, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.DOUBLE);
jspb_internal_binary.RWFloatExt = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readFloat(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeFloat, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FLOAT);
jspb_internal_binary.RPackableFloatIntoExtWRepeatedFloatExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFloatIntoExt, module$contents$jspb_internal_binary_writeRepeatedFloat, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FLOAT);
jspb_internal_binary.RPackableFloatIntoExtWPackedFloatExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFloatIntoExt, module$contents$jspb_internal_binary_writePackedFloat, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FLOAT);
jspb_internal_binary.RWFloat = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readFloat());
  return !0;
}, module$contents$jspb_internal_binary_writeFloat, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FLOAT);
jspb_internal_binary.RPackableFloatIntoWRepeatedFloat = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFloatInto, module$contents$jspb_internal_binary_writeRepeatedFloat, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FLOAT);
jspb_internal_binary.RPackableFloatIntoWPackedFloat = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFloatInto, module$contents$jspb_internal_binary_writePackedFloat, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FLOAT);
jspb_internal_binary.RFloatIgnoringDefaultWFloat = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32) {
    return !1;
  }
  var v = r.readFloat();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeFloat, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FLOAT);
jspb_internal_binary.RFloatOneofWFloat = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readFloat());
  return !0;
}, module$contents$jspb_internal_binary_writeFloat, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FLOAT);
jspb_internal_binary.RInt64GbigintExtWInt64Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readInt64Gbigint(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RPackableInt64GbigintIntoExtWRepeatedInt64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt64GbigintIntoExt, module$contents$jspb_internal_binary_writeRepeatedInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RPackableInt64GbigintIntoExtWPackedInt64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt64GbigintIntoExt, module$contents$jspb_internal_binary_writePackedInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RInt64StringExtWInt64Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readInt64String(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RPackableInt64StringIntoExtWRepeatedInt64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt64StringIntoExt, module$contents$jspb_internal_binary_writeRepeatedInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RPackableInt64StringIntoExtWPackedInt64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt64StringIntoExt, module$contents$jspb_internal_binary_writePackedInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RWInt64Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readInt64(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RPackableInt64IntoExtWRepeatedInt64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt64IntoExt, module$contents$jspb_internal_binary_writeRepeatedInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RPackableInt64IntoExtWPackedInt64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt64IntoExt, module$contents$jspb_internal_binary_writePackedInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RInt64GbigintWInt64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readInt64Gbigint());
  return !0;
}, module$contents$jspb_internal_binary_writeInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RPackableInt64GbigintIntoWRepeatedInt64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt64GbigintInto, module$contents$jspb_internal_binary_writeRepeatedInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RPackableInt64GbigintIntoWPackedInt64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt64GbigintInto, module$contents$jspb_internal_binary_writePackedInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RInt64GbigintIgnoringDefaultWInt64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readInt64Gbigint();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === module$contents$jspb_internal_binary_GBIGINT_ZERO ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RInt64GbigintOneofWInt64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readInt64Gbigint());
  return !0;
}, module$contents$jspb_internal_binary_writeInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RInt64StringWInt64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readInt64String());
  return !0;
}, module$contents$jspb_internal_binary_writeInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RPackableInt64StringIntoWRepeatedInt64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt64StringInto, module$contents$jspb_internal_binary_writeRepeatedInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RPackableInt64StringIntoWPackedInt64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt64StringInto, module$contents$jspb_internal_binary_writePackedInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RInt64StringIgnoringDefaultWInt64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readInt64String();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === "0" ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RInt64StringOneofWInt64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readInt64String());
  return !0;
}, module$contents$jspb_internal_binary_writeInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RWInt64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readInt64());
  return !0;
}, module$contents$jspb_internal_binary_writeInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RPackableInt64IntoWRepeatedInt64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt64Into, module$contents$jspb_internal_binary_writeRepeatedInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RPackableInt64IntoWPackedInt64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt64Into, module$contents$jspb_internal_binary_writePackedInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RInt64IgnoringDefaultWInt64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readInt64();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RInt64OneofWInt64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readInt64());
  return !0;
}, module$contents$jspb_internal_binary_writeInt64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT64);
jspb_internal_binary.RUint64GbigintExtWUint64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64GbigintExt, module$contents$jspb_internal_binary_writeUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64GbigintExtWUint64Ext = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64GbigintExt, module$contents$jspb_internal_binary_writeUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64GbigintIntoExtWRepeatedUint64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64GbigintIntoExt, module$contents$jspb_internal_binary_writeRepeatedUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64GbigintIntoExtWPackedUint64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64GbigintIntoExt, module$contents$jspb_internal_binary_writePackedUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64GbigintIntoExtWRepeatedUint64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64GbigintIntoExt, module$contents$jspb_internal_binary_writeRepeatedUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64GbigintIntoExtWPackedUint64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64GbigintIntoExt, module$contents$jspb_internal_binary_writePackedUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64StringExtWUint64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64StringExt, module$contents$jspb_internal_binary_writeUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64StringExtWUint64Ext = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64StringExt, module$contents$jspb_internal_binary_writeUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64StringIntoExtWRepeatedUint64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64StringIntoExt, module$contents$jspb_internal_binary_writeRepeatedUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64StringIntoExtWPackedUint64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64StringIntoExt, module$contents$jspb_internal_binary_writePackedUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64StringIntoExtWRepeatedUint64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64StringIntoExt, module$contents$jspb_internal_binary_writeRepeatedUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64StringIntoExtWPackedUint64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64StringIntoExt, module$contents$jspb_internal_binary_writePackedUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64ExtWUint64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64Ext, module$contents$jspb_internal_binary_writeUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RWUint64Ext = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64Ext, module$contents$jspb_internal_binary_writeUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64IntoExtWRepeatedUint64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64IntoExt, module$contents$jspb_internal_binary_writeRepeatedUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64IntoExtWPackedUint64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64IntoExt, module$contents$jspb_internal_binary_writePackedUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64IntoExtWRepeatedUint64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64IntoExt, module$contents$jspb_internal_binary_writeRepeatedUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64IntoExtWPackedUint64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64IntoExt, module$contents$jspb_internal_binary_writePackedUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64GbigintWUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64Gbigint, module$contents$jspb_internal_binary_writeUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64GbigintWUint64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64Gbigint, module$contents$jspb_internal_binary_writeUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64GbigintIntoWRepeatedUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64GbigintInto, module$contents$jspb_internal_binary_writeRepeatedUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64GbigintIntoWPackedUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64GbigintInto, module$contents$jspb_internal_binary_writePackedUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64GbigintIntoWRepeatedUint64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64GbigintInto, module$contents$jspb_internal_binary_writeRepeatedUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64GbigintIntoWPackedUint64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64GbigintInto, module$contents$jspb_internal_binary_writePackedUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64GbigintIgnoringDefaultWUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64GbigintIgnoringDefault, module$contents$jspb_internal_binary_writeUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64GbigintIgnoringDefaultWUint64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64GbigintIgnoringDefault, module$contents$jspb_internal_binary_writeUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64GbigintOneofWUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64GbigintOneof, module$contents$jspb_internal_binary_writeUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64GbigintOneofWUint64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64GbigintOneof, module$contents$jspb_internal_binary_writeUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64StringWUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64String, module$contents$jspb_internal_binary_writeUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64StringWUint64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64String, module$contents$jspb_internal_binary_writeUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64StringIntoWRepeatedUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64StringInto, module$contents$jspb_internal_binary_writeRepeatedUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64StringIntoWPackedUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64StringInto, module$contents$jspb_internal_binary_writePackedUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64StringIntoWRepeatedUint64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64StringInto, module$contents$jspb_internal_binary_writeRepeatedUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64StringIntoWPackedUint64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64StringInto, module$contents$jspb_internal_binary_writePackedUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64StringIgnoringDefaultWUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64StringIgnoringDefault, module$contents$jspb_internal_binary_writeUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64StringIgnoringDefaultWUint64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64StringIgnoringDefault, module$contents$jspb_internal_binary_writeUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64StringOneofWUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64StringOneof, module$contents$jspb_internal_binary_writeUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64StringOneofWUint64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64StringOneof, module$contents$jspb_internal_binary_writeUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64WUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64, module$contents$jspb_internal_binary_writeUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RWUint64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64, module$contents$jspb_internal_binary_writeUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64IntoWRepeatedUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64Into, module$contents$jspb_internal_binary_writeRepeatedUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64IntoWPackedUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64Into, module$contents$jspb_internal_binary_writePackedUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64IntoWRepeatedUint64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64Into, module$contents$jspb_internal_binary_writeRepeatedUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RPackableUint64IntoWPackedUint64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint64Into, module$contents$jspb_internal_binary_writePackedUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64IgnoringDefaultWUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64IgnoringDefault, module$contents$jspb_internal_binary_writeUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64IgnoringDefaultWUint64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64IgnoringDefault, module$contents$jspb_internal_binary_writeUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64OneofWUint64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64Oneof, module$contents$jspb_internal_binary_writeUint64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RUint64OneofWUint64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readUint64Oneof, module$contents$jspb_internal_binary_writeUint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT64);
jspb_internal_binary.RWInt32Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readInt32(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeInt32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT32);
jspb_internal_binary.RPackableInt32IntoExtWRepeatedInt32Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt32IntoExt, module$contents$jspb_internal_binary_writeRepeatedInt32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT32);
jspb_internal_binary.RPackableInt32IntoExtWPackedInt32Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt32IntoExt, module$contents$jspb_internal_binary_writePackedInt32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT32);
jspb_internal_binary.RWInt32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readInt32());
  return !0;
}, module$contents$jspb_internal_binary_writeInt32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT32);
jspb_internal_binary.RPackableInt32IntoWRepeatedInt32 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt32Into, module$contents$jspb_internal_binary_writeRepeatedInt32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT32);
jspb_internal_binary.RPackableInt32IntoWPackedInt32 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableInt32Into, module$contents$jspb_internal_binary_writePackedInt32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT32);
jspb_internal_binary.RInt32IgnoringDefaultWInt32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readInt32();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeInt32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT32);
jspb_internal_binary.RInt32OneofWInt32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readInt32());
  return !0;
}, module$contents$jspb_internal_binary_writeInt32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.INT32);
jspb_internal_binary.RFixed64GbigintExtWFixed64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64GbigintExt, module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64GbigintExtWFixed64Ext = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64GbigintExt, module$contents$jspb_internal_binary_writeFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64GbigintIntoExtWRepeatedFixed64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64GbigintIntoExt, module$contents$jspb_internal_binary_writeRepeatedFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64GbigintIntoExtWPackedFixed64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64GbigintIntoExt, module$contents$jspb_internal_binary_writePackedFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64GbigintIntoExtWRepeatedFixed64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64GbigintIntoExt, module$contents$jspb_internal_binary_writeRepeatedFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64GbigintIntoExtWPackedFixed64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64GbigintIntoExt, module$contents$jspb_internal_binary_writePackedFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64StringExtWFixed64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64StringExt, module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64StringExtWFixed64Ext = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64StringExt, module$contents$jspb_internal_binary_writeFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64StringIntoExtWRepeatedFixed64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64StringIntoExt, module$contents$jspb_internal_binary_writeRepeatedFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64StringIntoExtWPackedFixed64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64StringIntoExt, module$contents$jspb_internal_binary_writePackedFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64StringIntoExtWRepeatedFixed64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64StringIntoExt, module$contents$jspb_internal_binary_writeRepeatedFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64StringIntoExtWPackedFixed64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64StringIntoExt, module$contents$jspb_internal_binary_writePackedFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64ExtWFixed64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64Ext, module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RWFixed64Ext = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64Ext, module$contents$jspb_internal_binary_writeFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64IntoExtWRepeatedFixed64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64IntoExt, module$contents$jspb_internal_binary_writeRepeatedFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64IntoExtWPackedFixed64ToleratingNegativesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64IntoExt, module$contents$jspb_internal_binary_writePackedFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64IntoExtWRepeatedFixed64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64IntoExt, module$contents$jspb_internal_binary_writeRepeatedFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64IntoExtWPackedFixed64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64IntoExt, module$contents$jspb_internal_binary_writePackedFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64GbigintWFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64Gbigint, module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64GbigintWFixed64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64Gbigint, module$contents$jspb_internal_binary_writeFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64GbigintIntoWRepeatedFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64GbigintInto, module$contents$jspb_internal_binary_writeRepeatedFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64GbigintIntoWPackedFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64GbigintInto, module$contents$jspb_internal_binary_writePackedFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64GbigintIntoWRepeatedFixed64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64GbigintInto, module$contents$jspb_internal_binary_writeRepeatedFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64GbigintIntoWPackedFixed64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64GbigintInto, module$contents$jspb_internal_binary_writePackedFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64GbigintIgnoringDefaultWFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64GbigintIgnoringDefault, module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64GbigintIgnoringDefaultWFixed64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64GbigintIgnoringDefault, module$contents$jspb_internal_binary_writeFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64GbigintOneofWFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64GbigintOneof, module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64GbigintOneofWFixed64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64GbigintOneof, module$contents$jspb_internal_binary_writeFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64StringWFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64String, module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64StringWFixed64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64String, module$contents$jspb_internal_binary_writeFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64StringIntoWRepeatedFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64StringInto, module$contents$jspb_internal_binary_writeRepeatedFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64StringIntoWPackedFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64StringInto, module$contents$jspb_internal_binary_writePackedFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64StringIntoWRepeatedFixed64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64StringInto, module$contents$jspb_internal_binary_writeRepeatedFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64StringIntoWPackedFixed64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64StringInto, module$contents$jspb_internal_binary_writePackedFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64StringIgnoringDefaultWFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64StringIgnoringDefault, module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64StringIgnoringDefaultWFixed64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64StringIgnoringDefault, module$contents$jspb_internal_binary_writeFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64StringOneofWFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64StringOneof, module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64StringOneofWFixed64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64StringOneof, module$contents$jspb_internal_binary_writeFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64WFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64, module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RWFixed64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64, module$contents$jspb_internal_binary_writeFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64IntoWRepeatedFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64Into, module$contents$jspb_internal_binary_writeRepeatedFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64IntoWPackedFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64Into, module$contents$jspb_internal_binary_writePackedFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64IntoWRepeatedFixed64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64Into, module$contents$jspb_internal_binary_writeRepeatedFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RPackableFixed64IntoWPackedFixed64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed64Into, module$contents$jspb_internal_binary_writePackedFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64IgnoringDefaultWFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64IgnoringDefault, module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64IgnoringDefaultWFixed64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64IgnoringDefault, module$contents$jspb_internal_binary_writeFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64OneofWFixed64ToleratingNegatives = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64Oneof, module$contents$jspb_internal_binary_writeFixed64ToleratingNegatives, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RFixed64OneofWFixed64 = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readFixed64Oneof, module$contents$jspb_internal_binary_writeFixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED64);
jspb_internal_binary.RWFixed32Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readFixed32(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeFixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED32);
jspb_internal_binary.RPackableFixed32IntoExtWRepeatedFixed32Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed32IntoExt, module$contents$jspb_internal_binary_writeRepeatedFixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED32);
jspb_internal_binary.RPackableFixed32IntoExtWPackedFixed32Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed32IntoExt, module$contents$jspb_internal_binary_writePackedFixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED32);
jspb_internal_binary.RWFixed32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readFixed32());
  return !0;
}, module$contents$jspb_internal_binary_writeFixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED32);
jspb_internal_binary.RPackableFixed32IntoWRepeatedFixed32 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed32Into, module$contents$jspb_internal_binary_writeRepeatedFixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED32);
jspb_internal_binary.RPackableFixed32IntoWPackedFixed32 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableFixed32Into, module$contents$jspb_internal_binary_writePackedFixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED32);
jspb_internal_binary.RFixed32IgnoringDefaultWFixed32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32) {
    return !1;
  }
  var v = r.readFixed32();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeFixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED32);
jspb_internal_binary.RFixed32OneofWFixed32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readFixed32());
  return !0;
}, module$contents$jspb_internal_binary_writeFixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.FIXED32);
jspb_internal_binary.RWBoolExt = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readBool(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeBool, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BOOLEAN);
jspb_internal_binary.RPackableBoolIntoExtWRepeatedBoolExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableBoolIntoExt, module$contents$jspb_internal_binary_writeRepeatedBool, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BOOLEAN);
jspb_internal_binary.RPackableBoolIntoExtWPackedBoolExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableBoolIntoExt, module$contents$jspb_internal_binary_writePackedBool, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BOOLEAN);
jspb_internal_binary.RWBool = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readBool());
  return !0;
}, module$contents$jspb_internal_binary_writeBool, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BOOLEAN);
jspb_internal_binary.RPackableBoolIntoWRepeatedBool = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableBoolInto, module$contents$jspb_internal_binary_writeRepeatedBool, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BOOLEAN);
jspb_internal_binary.RPackableBoolIntoWPackedBool = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableBoolInto, module$contents$jspb_internal_binary_writePackedBool, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BOOLEAN);
jspb_internal_binary.RBoolIgnoringDefaultWBool = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readBool();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === !1 ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeBool, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BOOLEAN);
jspb_internal_binary.RBoolOneofWBool = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readBool());
  return !0;
}, module$contents$jspb_internal_binary_writeBool, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BOOLEAN);
jspb_internal_binary.RStringRequireUtf8ExtWStringExt = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readStringRequireUtf8(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeString, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING);
jspb_internal_binary.RRepeatedStringRequireUtf8ExtWRepeatedStringExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  var value = r.readStringRequireUtf8();
  (0,jspb_internal_adapters.addToRepeatedFieldForBinary)(m, fn, value, !0);
  return !0;
}, module$contents$jspb_internal_binary_writeRepeatedString, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING);
jspb_internal_binary.RStringRequireUtf8WString = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readStringRequireUtf8());
  return !0;
}, module$contents$jspb_internal_binary_writeString, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING);
jspb_internal_binary.RRepeatedStringRequireUtf8WRepeatedString = module$contents$jspb_internal_binary_makeRepeatedRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  var value = r.readStringRequireUtf8();
  (0,jspb_internal_adapters.addToRepeatedFieldForBinary)(m, fn, value, void 0);
  return !0;
}, module$contents$jspb_internal_binary_writeRepeatedString, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING);
jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  var v = r.readStringRequireUtf8();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === "" ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeString, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING);
jspb_internal_binary.RStringRequireUtf8OneofWString = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readStringRequireUtf8());
  return !0;
}, module$contents$jspb_internal_binary_writeString, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING);
jspb_internal_binary.RWStringExt = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.RStringRequireUtf8ExtWStringExt : module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readStringExt, module$contents$jspb_internal_binary_writeString, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING);
jspb_internal_binary.RWRepeatedStringExt = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.RRepeatedStringRequireUtf8ExtWRepeatedStringExt : module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readRepeatedStringExt, module$contents$jspb_internal_binary_writeRepeatedString, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING);
jspb_internal_binary.RWString = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.RStringRequireUtf8WString : module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readString, module$contents$jspb_internal_binary_writeString, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING);
jspb_internal_binary.RWRepeatedString = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.RRepeatedStringRequireUtf8WRepeatedString : module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readRepeatedString, module$contents$jspb_internal_binary_writeRepeatedString, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING);
jspb_internal_binary.RStringIgnoringDefaultWString = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString : module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readStringIgnoringDefault, module$contents$jspb_internal_binary_writeString, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING);
jspb_internal_binary.RStringOneofWString = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.RStringRequireUtf8OneofWString : module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readStringOneof, module$contents$jspb_internal_binary_writeString, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.STRING);
jspb_internal_binary.RWGroupExt = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMsgRWPair(function(r, m, fn, mm, mr) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.START_GROUP) {
    return !1;
  }
  r.readGroup(fn, (0,jspb_internal_adapters.getMutableWrapperArrayForBinary)(m, mm, fn, !0), mr);
  return !0;
}, module$contents$jspb_internal_binary_writeGroup, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.GROUP);
jspb_internal_binary.RWRepeatedGroupExt = module$contents$jspb_internal_binary_makeRepeatedMsgRWPair(function(r, m, fn, mm, mr) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.START_GROUP) {
    return !1;
  }
  r.readGroup(fn, module$contents$jspb_internal_binary_addAndReturnBinary(m, mm, fn, !0), mr);
  return !0;
}, module$contents$jspb_internal_binary_writeRepeatedGroup, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.GROUP);
jspb_internal_binary.RWGroup = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMsgRWPair(function(r, m, fn, mm, mr) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.START_GROUP) {
    return !1;
  }
  r.readGroup(fn, (0,jspb_internal_adapters.getMutableWrapperArrayForBinary)(m, mm, fn), mr);
  return !0;
}, module$contents$jspb_internal_binary_writeGroup, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.GROUP);
jspb_internal_binary.RWRepeatedGroup = module$contents$jspb_internal_binary_makeRepeatedMsgRWPair(function(r, m, fn, mm, mr) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.START_GROUP) {
    return !1;
  }
  r.readGroup(fn, module$contents$jspb_internal_binary_addAndReturnBinary(m, mm, fn), mr);
  return !0;
}, module$contents$jspb_internal_binary_writeRepeatedGroup, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.GROUP);
jspb_internal_binary.RGroupOneofWGroup = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMsgRWPair(function(r, m, fn, mm, mr, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.START_GROUP) {
    return !1;
  }
  r.readGroup(fn, (0,jspb_internal_adapters.getMutableOneofWrapperArrayForBinary)(m, mm, fn, o), mr);
  return !0;
}, module$contents$jspb_internal_binary_writeGroup, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.GROUP);
jspb_internal_binary.RWMessageExt = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMsgRWPair(function(r, m, fn, mm, mr) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readMessage((0,jspb_internal_adapters.getMutableWrapperArrayForBinary)(m, mm, fn, !0), mr);
  return !0;
}, module$contents$jspb_internal_binary_writeMessage);
jspb_internal_binary.RWRepeatedMessageExt = module$contents$jspb_internal_binary_makeRepeatedMsgRWPair(function(r, m, fn, mm, mr) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readMessage(module$contents$jspb_internal_binary_addAndReturnBinary(m, mm, fn, !0), mr);
  return !0;
}, module$contents$jspb_internal_binary_writeRepeatedMessage);
jspb_internal_binary.RWMessage = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMsgRWPair(function(r, m, fn, mm, mr) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readMessage((0,jspb_internal_adapters.getMutableWrapperArrayForBinary)(m, mm, fn), mr);
  return !0;
}, module$contents$jspb_internal_binary_writeMessage);
jspb_internal_binary.RWRepeatedMessage = module$contents$jspb_internal_binary_makeRepeatedMsgRWPair(function(r, m, fn, mm, mr) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readMessage(module$contents$jspb_internal_binary_addAndReturnBinary(m, mm, fn), mr);
  return !0;
}, module$contents$jspb_internal_binary_writeRepeatedMessage);
jspb_internal_binary.RMessageOneofWMessage = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMsgRWPair(function(r, m, fn, mm, mr, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  r.readMessage((0,jspb_internal_adapters.getMutableOneofWrapperArrayForBinary)(m, mm, fn, o), mr);
  return !0;
}, module$contents$jspb_internal_binary_writeMessage);
jspb_internal_binary.RWBytesExt = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readByteString(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeBytes, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BYTES);
jspb_internal_binary.RWRepeatedBytesExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  var value = r.readByteString();
  (0,jspb_internal_adapters.addToRepeatedFieldForBinary)(m, fn, value, !0);
  return !0;
}, module$contents$jspb_internal_binary_writeRepeatedBytes, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BYTES);
jspb_internal_binary.RWBytes = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readByteString());
  return !0;
}, module$contents$jspb_internal_binary_writeBytes, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BYTES);
jspb_internal_binary.RWRepeatedBytes = module$contents$jspb_internal_binary_makeRepeatedRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  var value = r.readByteString();
  (0,jspb_internal_adapters.addToRepeatedFieldForBinary)(m, fn, value, void 0);
  return !0;
}, module$contents$jspb_internal_binary_writeRepeatedBytes, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BYTES);
jspb_internal_binary.RBytesIgnoringDefaultWBytes = module$contents$jspb_internal_binary_makeRWPair(module$contents$jspb_internal_binary_readBytesIgnoringDefault, module$contents$jspb_internal_binary_writeBytes, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BYTES);
jspb_internal_binary.RBytesOneofWBytes = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.DELIMITED) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readByteString());
  return !0;
}, module$contents$jspb_internal_binary_writeBytes, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.BYTES);
jspb_internal_binary.RWUint32Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readUint32(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeUint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT32);
jspb_internal_binary.RPackableUint32IntoExtWRepeatedUint32Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint32IntoExt, module$contents$jspb_internal_binary_writeRepeatedUint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT32);
jspb_internal_binary.RPackableUint32IntoExtWPackedUint32Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint32IntoExt, module$contents$jspb_internal_binary_writePackedUint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT32);
jspb_internal_binary.RWUint32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readUint32());
  return !0;
}, module$contents$jspb_internal_binary_writeUint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT32);
jspb_internal_binary.RPackableUint32IntoWRepeatedUint32 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint32Into, module$contents$jspb_internal_binary_writeRepeatedUint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT32);
jspb_internal_binary.RPackableUint32IntoWPackedUint32 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableUint32Into, module$contents$jspb_internal_binary_writePackedUint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT32);
jspb_internal_binary.RUint32IgnoringDefaultWUint32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readUint32();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeUint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT32);
jspb_internal_binary.RUint32OneofWUint32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readUint32());
  return !0;
}, module$contents$jspb_internal_binary_writeUint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.UINT32);
jspb_internal_binary.RWEnumExt = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readEnum(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeEnum, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.ENUM);
jspb_internal_binary.RPackableEnumIntoExtWRepeatedEnumExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableEnumIntoExt, module$contents$jspb_internal_binary_writeRepeatedEnum, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.ENUM);
jspb_internal_binary.RPackableEnumIntoExtWPackedEnumExt = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableEnumIntoExt, module$contents$jspb_internal_binary_writePackedEnum, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.ENUM);
jspb_internal_binary.RWEnum = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readEnum());
  return !0;
}, module$contents$jspb_internal_binary_writeEnum, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.ENUM);
jspb_internal_binary.RPackableEnumIntoWRepeatedEnum = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableEnumInto, module$contents$jspb_internal_binary_writeRepeatedEnum, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.ENUM);
jspb_internal_binary.RPackableEnumIntoWPackedEnum = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableEnumInto, module$contents$jspb_internal_binary_writePackedEnum, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.ENUM);
jspb_internal_binary.REnumIgnoringDefaultWEnum = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readEnum();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeEnum, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.ENUM);
jspb_internal_binary.REnumOneofWEnum = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readEnum());
  return !0;
}, module$contents$jspb_internal_binary_writeEnum, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.ENUM);
jspb_internal_binary.RWSfixed32Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSfixed32(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED32);
jspb_internal_binary.RPackableSfixed32IntoExtWRepeatedSfixed32Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed32IntoExt, module$contents$jspb_internal_binary_writeRepeatedSfixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED32);
jspb_internal_binary.RPackableSfixed32IntoExtWPackedSfixed32Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed32IntoExt, module$contents$jspb_internal_binary_writePackedSfixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED32);
jspb_internal_binary.RWSfixed32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSfixed32());
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED32);
jspb_internal_binary.RPackableSfixed32IntoWRepeatedSfixed32 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed32Into, module$contents$jspb_internal_binary_writeRepeatedSfixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED32);
jspb_internal_binary.RPackableSfixed32IntoWPackedSfixed32 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed32Into, module$contents$jspb_internal_binary_writePackedSfixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED32);
jspb_internal_binary.RSfixed32IgnoringDefaultWSfixed32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32) {
    return !1;
  }
  var v = r.readSfixed32();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED32);
jspb_internal_binary.RSfixed32OneofWSfixed32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED32) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readSfixed32());
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED32);
jspb_internal_binary.RSfixed64GbigintExtWSfixed64Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSfixed64Gbigint(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RPackableSfixed64GbigintIntoExtWRepeatedSfixed64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed64GbigintIntoExt, module$contents$jspb_internal_binary_writeRepeatedSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RPackableSfixed64GbigintIntoExtWPackedSfixed64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed64GbigintIntoExt, module$contents$jspb_internal_binary_writePackedSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RSfixed64StringExtWSfixed64Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSfixed64String(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RPackableSfixed64StringIntoExtWRepeatedSfixed64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed64StringIntoExt, module$contents$jspb_internal_binary_writeRepeatedSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RPackableSfixed64StringIntoExtWPackedSfixed64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed64StringIntoExt, module$contents$jspb_internal_binary_writePackedSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RWSfixed64Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSfixed64(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RPackableSfixed64IntoExtWRepeatedSfixed64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed64IntoExt, module$contents$jspb_internal_binary_writeRepeatedSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RPackableSfixed64IntoExtWPackedSfixed64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed64IntoExt, module$contents$jspb_internal_binary_writePackedSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RSfixed64GbigintWSfixed64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSfixed64Gbigint());
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RPackableSfixed64GbigintIntoWRepeatedSfixed64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed64GbigintInto, module$contents$jspb_internal_binary_writeRepeatedSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RPackableSfixed64GbigintIntoWPackedSfixed64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed64GbigintInto, module$contents$jspb_internal_binary_writePackedSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RSfixed64GbigintIgnoringDefaultWSfixed64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  var v = r.readSfixed64Gbigint();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === module$contents$jspb_internal_binary_GBIGINT_ZERO ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RSfixed64GbigintOneofWSfixed64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readSfixed64Gbigint());
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RSfixed64StringWSfixed64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSfixed64String());
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RPackableSfixed64StringIntoWRepeatedSfixed64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed64StringInto, module$contents$jspb_internal_binary_writeRepeatedSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RPackableSfixed64StringIntoWPackedSfixed64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed64StringInto, module$contents$jspb_internal_binary_writePackedSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RSfixed64StringIgnoringDefaultWSfixed64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  var v = r.readSfixed64String();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === "0" ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RSfixed64StringOneofWSfixed64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readSfixed64String());
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RWSfixed64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSfixed64());
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RPackableSfixed64IntoWRepeatedSfixed64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed64Into, module$contents$jspb_internal_binary_writeRepeatedSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RPackableSfixed64IntoWPackedSfixed64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSfixed64Into, module$contents$jspb_internal_binary_writePackedSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RSfixed64IgnoringDefaultWSfixed64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  var v = r.readSfixed64();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RSfixed64OneofWSfixed64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.FIXED64) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readSfixed64());
  return !0;
}, module$contents$jspb_internal_binary_writeSfixed64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SFIXED64);
jspb_internal_binary.RWSint32Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSint32(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeSint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT32);
jspb_internal_binary.RPackableSint32IntoExtWRepeatedSint32Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint32IntoExt, module$contents$jspb_internal_binary_writeRepeatedSint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT32);
jspb_internal_binary.RPackableSint32IntoExtWPackedSint32Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint32IntoExt, module$contents$jspb_internal_binary_writePackedSint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT32);
jspb_internal_binary.RWSint32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSint32());
  return !0;
}, module$contents$jspb_internal_binary_writeSint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT32);
jspb_internal_binary.RPackableSint32IntoWRepeatedSint32 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint32Into, module$contents$jspb_internal_binary_writeRepeatedSint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT32);
jspb_internal_binary.RPackableSint32IntoWPackedSint32 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint32Into, module$contents$jspb_internal_binary_writePackedSint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT32);
jspb_internal_binary.RSint32IgnoringDefaultWSint32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readSint32();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeSint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT32);
jspb_internal_binary.RSint32OneofWSint32 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readSint32());
  return !0;
}, module$contents$jspb_internal_binary_writeSint32, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT32);
jspb_internal_binary.RSint64GbigintExtWSint64Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSint64Gbigint(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RPackableSint64GbigintIntoExtWRepeatedSint64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint64GbigintIntoExt, module$contents$jspb_internal_binary_writeRepeatedSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RPackableSint64GbigintIntoExtWPackedSint64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint64GbigintIntoExt, module$contents$jspb_internal_binary_writePackedSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RSint64StringExtWSint64Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSint64String(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RPackableSint64StringIntoExtWRepeatedSint64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint64StringIntoExt, module$contents$jspb_internal_binary_writeRepeatedSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RPackableSint64StringIntoExtWPackedSint64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint64StringIntoExt, module$contents$jspb_internal_binary_writePackedSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RWSint64Ext = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSint64(), !0);
  return !0;
}, module$contents$jspb_internal_binary_writeSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RPackableSint64IntoExtWRepeatedSint64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint64IntoExt, module$contents$jspb_internal_binary_writeRepeatedSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RPackableSint64IntoExtWPackedSint64Ext = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint64IntoExt, module$contents$jspb_internal_binary_writePackedSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RSint64GbigintWSint64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSint64Gbigint());
  return !0;
}, module$contents$jspb_internal_binary_writeSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RPackableSint64GbigintIntoWRepeatedSint64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint64GbigintInto, module$contents$jspb_internal_binary_writeRepeatedSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RPackableSint64GbigintIntoWPackedSint64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint64GbigintInto, module$contents$jspb_internal_binary_writePackedSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RSint64GbigintIgnoringDefaultWSint64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readSint64Gbigint();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === module$contents$jspb_internal_binary_GBIGINT_ZERO ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RSint64GbigintOneofWSint64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readSint64Gbigint());
  return !0;
}, module$contents$jspb_internal_binary_writeSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RSint64StringWSint64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSint64String());
  return !0;
}, module$contents$jspb_internal_binary_writeSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RPackableSint64StringIntoWRepeatedSint64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint64StringInto, module$contents$jspb_internal_binary_writeRepeatedSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RPackableSint64StringIntoWPackedSint64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint64StringInto, module$contents$jspb_internal_binary_writePackedSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RSint64StringIgnoringDefaultWSint64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readSint64String();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === "0" ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RSint64StringOneofWSint64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readSint64String());
  return !0;
}, module$contents$jspb_internal_binary_writeSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RWSint64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, r.readSint64());
  return !0;
}, module$contents$jspb_internal_binary_writeSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RPackableSint64IntoWRepeatedSint64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint64Into, module$contents$jspb_internal_binary_writeRepeatedSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RPackableSint64IntoWPackedSint64 = module$contents$jspb_internal_binary_makeRepeatedRWPair(module$contents$jspb_internal_binary_readPackableSint64Into, module$contents$jspb_internal_binary_writePackedSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RSint64IgnoringDefaultWSint64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  var v = r.readSint64();
  module$contents$jspb_internal_binary_setFieldBinary(m, fn, v === 0 ? void 0 : v);
  return !0;
}, module$contents$jspb_internal_binary_writeSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.RSint64OneofWSint64 = module$contents$jspb_internal_binary_makeRWPair(function(r, m, fn, o) {
  if (r.nextWireType_ !== module$exports$jspb$BinaryConstants.WireType.VARINT) {
    return !1;
  }
  (0,jspb_internal_adapters.setOneofFieldForBinary)(m, fn, o, r.readSint64());
  return !0;
}, module$contents$jspb_internal_binary_writeSint64, module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.SINT64);
jspb_internal_binary.Int64DoubleMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWDouble);
jspb_internal_binary.Int64FloatMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWFloat);
jspb_internal_binary.Int64Int64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWInt64);
jspb_internal_binary.Int64Uint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWUint64);
jspb_internal_binary.Int64Int32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWInt32);
jspb_internal_binary.Int64Fixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWFixed64);
jspb_internal_binary.Int64Fixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWFixed32);
jspb_internal_binary.Int64BoolMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWBool);
jspb_internal_binary.Int64StringMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWString);
jspb_internal_binary.Int64StringRequireUtf8Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.Int64StringMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RStringRequireUtf8WString);
jspb_internal_binary.Int64BytesMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWBytes);
jspb_internal_binary.Int64Uint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWUint32);
jspb_internal_binary.Int64EnumMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWEnum);
jspb_internal_binary.Int64Sfixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.Int64Sfixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.Int64Sint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWSint32);
jspb_internal_binary.Int64Sint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt64, jspb_internal_binary.RWSint64);
jspb_internal_binary.Uint64DoubleMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWDouble);
jspb_internal_binary.Uint64FloatMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWFloat);
jspb_internal_binary.Uint64Int64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWInt64);
jspb_internal_binary.Uint64Uint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWUint64);
jspb_internal_binary.Uint64Int32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWInt32);
jspb_internal_binary.Uint64Fixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWFixed64);
jspb_internal_binary.Uint64Fixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWFixed32);
jspb_internal_binary.Uint64BoolMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWBool);
jspb_internal_binary.Uint64StringMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWString);
jspb_internal_binary.Uint64StringRequireUtf8Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.Uint64StringMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RStringRequireUtf8WString);
jspb_internal_binary.Uint64BytesMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWBytes);
jspb_internal_binary.Uint64Uint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWUint32);
jspb_internal_binary.Uint64EnumMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWEnum);
jspb_internal_binary.Uint64Sfixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.Uint64Sfixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.Uint64Sint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWSint32);
jspb_internal_binary.Uint64Sint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint64, jspb_internal_binary.RWSint64);
jspb_internal_binary.Int32DoubleMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWDouble);
jspb_internal_binary.Int32FloatMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWFloat);
jspb_internal_binary.Int32Int64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWInt64);
jspb_internal_binary.Int32Uint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWUint64);
jspb_internal_binary.Int32Int32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWInt32);
jspb_internal_binary.Int32Fixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWFixed64);
jspb_internal_binary.Int32Fixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWFixed32);
jspb_internal_binary.Int32BoolMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWBool);
jspb_internal_binary.Int32StringMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWString);
jspb_internal_binary.Int32StringRequireUtf8Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.Int32StringMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RStringRequireUtf8WString);
jspb_internal_binary.Int32BytesMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWBytes);
jspb_internal_binary.Int32Uint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWUint32);
jspb_internal_binary.Int32EnumMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWEnum);
jspb_internal_binary.Int32Sfixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.Int32Sfixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.Int32Sint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWSint32);
jspb_internal_binary.Int32Sint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWInt32, jspb_internal_binary.RWSint64);
jspb_internal_binary.Fixed64DoubleMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWDouble);
jspb_internal_binary.Fixed64FloatMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWFloat);
jspb_internal_binary.Fixed64Int64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWInt64);
jspb_internal_binary.Fixed64Uint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWUint64);
jspb_internal_binary.Fixed64Int32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWInt32);
jspb_internal_binary.Fixed64Fixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWFixed64);
jspb_internal_binary.Fixed64Fixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWFixed32);
jspb_internal_binary.Fixed64BoolMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWBool);
jspb_internal_binary.Fixed64StringMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWString);
jspb_internal_binary.Fixed64StringRequireUtf8Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.Fixed64StringMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RStringRequireUtf8WString);
jspb_internal_binary.Fixed64BytesMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWBytes);
jspb_internal_binary.Fixed64Uint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWUint32);
jspb_internal_binary.Fixed64EnumMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWEnum);
jspb_internal_binary.Fixed64Sfixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.Fixed64Sfixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.Fixed64Sint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWSint32);
jspb_internal_binary.Fixed64Sint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed64, jspb_internal_binary.RWSint64);
jspb_internal_binary.Fixed32DoubleMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWDouble);
jspb_internal_binary.Fixed32FloatMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWFloat);
jspb_internal_binary.Fixed32Int64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWInt64);
jspb_internal_binary.Fixed32Uint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWUint64);
jspb_internal_binary.Fixed32Int32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWInt32);
jspb_internal_binary.Fixed32Fixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWFixed64);
jspb_internal_binary.Fixed32Fixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWFixed32);
jspb_internal_binary.Fixed32BoolMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWBool);
jspb_internal_binary.Fixed32StringMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWString);
jspb_internal_binary.Fixed32StringRequireUtf8Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.Fixed32StringMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RStringRequireUtf8WString);
jspb_internal_binary.Fixed32BytesMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWBytes);
jspb_internal_binary.Fixed32Uint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWUint32);
jspb_internal_binary.Fixed32EnumMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWEnum);
jspb_internal_binary.Fixed32Sfixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.Fixed32Sfixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.Fixed32Sint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWSint32);
jspb_internal_binary.Fixed32Sint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWFixed32, jspb_internal_binary.RWSint64);
jspb_internal_binary.BoolDoubleMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWDouble);
jspb_internal_binary.BoolFloatMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWFloat);
jspb_internal_binary.BoolInt64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWInt64);
jspb_internal_binary.BoolUint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWUint64);
jspb_internal_binary.BoolInt32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWInt32);
jspb_internal_binary.BoolFixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWFixed64);
jspb_internal_binary.BoolFixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWFixed32);
jspb_internal_binary.BoolBoolMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWBool);
jspb_internal_binary.BoolStringMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWString);
jspb_internal_binary.BoolStringRequireUtf8Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.BoolStringMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RStringRequireUtf8WString);
jspb_internal_binary.BoolBytesMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWBytes);
jspb_internal_binary.BoolUint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWUint32);
jspb_internal_binary.BoolEnumMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWEnum);
jspb_internal_binary.BoolSfixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.BoolSfixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.BoolSint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWSint32);
jspb_internal_binary.BoolSint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWBool, jspb_internal_binary.RWSint64);
jspb_internal_binary.StringDoubleMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWDouble);
jspb_internal_binary.StringRequireUtf8DoubleMap = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringDoubleMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWDouble);
jspb_internal_binary.StringFloatMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWFloat);
jspb_internal_binary.StringRequireUtf8FloatMap = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringFloatMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWFloat);
jspb_internal_binary.StringInt64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWInt64);
jspb_internal_binary.StringRequireUtf8Int64Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringInt64Map : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWInt64);
jspb_internal_binary.StringUint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWUint64);
jspb_internal_binary.StringRequireUtf8Uint64Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringUint64Map : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWUint64);
jspb_internal_binary.StringInt32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWInt32);
jspb_internal_binary.StringRequireUtf8Int32Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringInt32Map : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWInt32);
jspb_internal_binary.StringFixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWFixed64);
jspb_internal_binary.StringRequireUtf8Fixed64Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringFixed64Map : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWFixed64);
jspb_internal_binary.StringFixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWFixed32);
jspb_internal_binary.StringRequireUtf8Fixed32Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringFixed32Map : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWFixed32);
jspb_internal_binary.StringBoolMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWBool);
jspb_internal_binary.StringRequireUtf8BoolMap = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringBoolMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWBool);
jspb_internal_binary.StringStringMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWString);
jspb_internal_binary.StringRequireUtf8StringRequireUtf8Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringStringMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RStringRequireUtf8WString);
jspb_internal_binary.StringBytesMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWBytes);
jspb_internal_binary.StringRequireUtf8BytesMap = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringBytesMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWBytes);
jspb_internal_binary.StringUint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWUint32);
jspb_internal_binary.StringRequireUtf8Uint32Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringUint32Map : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWUint32);
jspb_internal_binary.StringEnumMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWEnum);
jspb_internal_binary.StringRequireUtf8EnumMap = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringEnumMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWEnum);
jspb_internal_binary.StringSfixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.StringRequireUtf8Sfixed32Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringSfixed32Map : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.StringSfixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.StringRequireUtf8Sfixed64Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringSfixed64Map : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.StringSint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWSint32);
jspb_internal_binary.StringRequireUtf8Sint32Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringSint32Map : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWSint32);
jspb_internal_binary.StringSint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWString, jspb_internal_binary.RWSint64);
jspb_internal_binary.StringRequireUtf8Sint64Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.StringSint64Map : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RStringRequireUtf8WString, jspb_internal_binary.RWSint64);
jspb_internal_binary.Uint32DoubleMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWDouble);
jspb_internal_binary.Uint32FloatMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWFloat);
jspb_internal_binary.Uint32Int64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWInt64);
jspb_internal_binary.Uint32Uint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWUint64);
jspb_internal_binary.Uint32Int32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWInt32);
jspb_internal_binary.Uint32Fixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWFixed64);
jspb_internal_binary.Uint32Fixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWFixed32);
jspb_internal_binary.Uint32BoolMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWBool);
jspb_internal_binary.Uint32StringMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWString);
jspb_internal_binary.Uint32StringRequireUtf8Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.Uint32StringMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RStringRequireUtf8WString);
jspb_internal_binary.Uint32BytesMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWBytes);
jspb_internal_binary.Uint32Uint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWUint32);
jspb_internal_binary.Uint32EnumMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWEnum);
jspb_internal_binary.Uint32Sfixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.Uint32Sfixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.Uint32Sint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWSint32);
jspb_internal_binary.Uint32Sint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWUint32, jspb_internal_binary.RWSint64);
jspb_internal_binary.Sfixed32DoubleMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWDouble);
jspb_internal_binary.Sfixed32FloatMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWFloat);
jspb_internal_binary.Sfixed32Int64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWInt64);
jspb_internal_binary.Sfixed32Uint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWUint64);
jspb_internal_binary.Sfixed32Int32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWInt32);
jspb_internal_binary.Sfixed32Fixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWFixed64);
jspb_internal_binary.Sfixed32Fixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWFixed32);
jspb_internal_binary.Sfixed32BoolMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWBool);
jspb_internal_binary.Sfixed32StringMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWString);
jspb_internal_binary.Sfixed32StringRequireUtf8Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.Sfixed32StringMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RStringRequireUtf8WString);
jspb_internal_binary.Sfixed32BytesMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWBytes);
jspb_internal_binary.Sfixed32Uint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWUint32);
jspb_internal_binary.Sfixed32EnumMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWEnum);
jspb_internal_binary.Sfixed32Sfixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.Sfixed32Sfixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.Sfixed32Sint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWSint32);
jspb_internal_binary.Sfixed32Sint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed32, jspb_internal_binary.RWSint64);
jspb_internal_binary.Sfixed64DoubleMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWDouble);
jspb_internal_binary.Sfixed64FloatMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWFloat);
jspb_internal_binary.Sfixed64Int64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWInt64);
jspb_internal_binary.Sfixed64Uint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWUint64);
jspb_internal_binary.Sfixed64Int32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWInt32);
jspb_internal_binary.Sfixed64Fixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWFixed64);
jspb_internal_binary.Sfixed64Fixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWFixed32);
jspb_internal_binary.Sfixed64BoolMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWBool);
jspb_internal_binary.Sfixed64StringMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWString);
jspb_internal_binary.Sfixed64StringRequireUtf8Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.Sfixed64StringMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RStringRequireUtf8WString);
jspb_internal_binary.Sfixed64BytesMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWBytes);
jspb_internal_binary.Sfixed64Uint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWUint32);
jspb_internal_binary.Sfixed64EnumMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWEnum);
jspb_internal_binary.Sfixed64Sfixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.Sfixed64Sfixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.Sfixed64Sint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWSint32);
jspb_internal_binary.Sfixed64Sint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSfixed64, jspb_internal_binary.RWSint64);
jspb_internal_binary.Sint32DoubleMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWDouble);
jspb_internal_binary.Sint32FloatMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWFloat);
jspb_internal_binary.Sint32Int64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWInt64);
jspb_internal_binary.Sint32Uint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWUint64);
jspb_internal_binary.Sint32Int32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWInt32);
jspb_internal_binary.Sint32Fixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWFixed64);
jspb_internal_binary.Sint32Fixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWFixed32);
jspb_internal_binary.Sint32BoolMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWBool);
jspb_internal_binary.Sint32StringMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWString);
jspb_internal_binary.Sint32StringRequireUtf8Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.Sint32StringMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RStringRequireUtf8WString);
jspb_internal_binary.Sint32BytesMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWBytes);
jspb_internal_binary.Sint32Uint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWUint32);
jspb_internal_binary.Sint32EnumMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWEnum);
jspb_internal_binary.Sint32Sfixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.Sint32Sfixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.Sint32Sint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWSint32);
jspb_internal_binary.Sint32Sint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint32, jspb_internal_binary.RWSint64);
jspb_internal_binary.Sint64DoubleMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWDouble);
jspb_internal_binary.Sint64FloatMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWFloat);
jspb_internal_binary.Sint64Int64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWInt64);
jspb_internal_binary.Sint64Uint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWUint64);
jspb_internal_binary.Sint64Int32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWInt32);
jspb_internal_binary.Sint64Fixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWFixed64);
jspb_internal_binary.Sint64Fixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWFixed32);
jspb_internal_binary.Sint64BoolMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWBool);
jspb_internal_binary.Sint64StringMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWString);
jspb_internal_binary.Sint64StringRequireUtf8Map = module$exports$jspb$binary$reader.UTF8_PARSING_ERRORS_ARE_FATAL ? jspb_internal_binary.Sint64StringMap : module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RStringRequireUtf8WString);
jspb_internal_binary.Sint64BytesMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWBytes);
jspb_internal_binary.Sint64Uint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWUint32);
jspb_internal_binary.Sint64EnumMap = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWEnum);
jspb_internal_binary.Sint64Sfixed32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWSfixed32);
jspb_internal_binary.Sint64Sfixed64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWSfixed64);
jspb_internal_binary.Sint64Sint32Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWSint32);
jspb_internal_binary.Sint64Sint64Map = module$contents$jspb_internal_binary_createMapEntryBinaryFields(jspb_internal_binary.RWSint64, jspb_internal_binary.RWSint64);
var module$exports$google3$javascript$apps$jspb$internal_binary_table = {};
module$exports$google3$javascript$apps$jspb$internal_binary_table.WRAPPED_TYPE_TABLE_KEY = Symbol();
module$exports$google3$javascript$apps$jspb$internal_binary_table.WrappedTypeTable = function() {
};
module$exports$google3$javascript$apps$jspb$internal_binary_table.wrappedTypeTableForBinaryFields = function(messageType, binaryFields) {
  var table = module$contents$google3$javascript$apps$jspb$internal_binary_fields_makeMessageFieldTable(module$exports$google3$javascript$apps$jspb$internal_binary_fields.CACHED_TYPE_INFO, void 0, module$contents$google3$javascript$apps$jspb$internal_binary_table_addPrimitiveFieldToTypeInfoTable, module$contents$google3$javascript$apps$jspb$internal_binary_table_addMessageFieldToTypeInfoTable, binaryFields);
  table.messageType != null || (table.messageType = messageType);
  (0,goog.asserts.assert)(table.messageType === messageType);
  var $jscomp$compprop60 = {};
  return $jscomp$compprop60[module$exports$google3$javascript$apps$jspb$internal_binary_table.WRAPPED_TYPE_TABLE_KEY] = table, $jscomp$compprop60;
};
function module$contents$google3$javascript$apps$jspb$internal_binary_table_getExtensionsInTable(table) {
  var $jscomp$nullish$tmp34, extensionTypeInfos = ($jscomp$nullish$tmp34 = table.extensionTypeInfos) != null ? $jscomp$nullish$tmp34 : table.extensionTypeInfos = {}, fieldNumberString;
  for (fieldNumberString in table.extensions) {
    var fieldNumber = +fieldNumberString;
    if (!isNaN(fieldNumber) && !extensionTypeInfos[fieldNumber]) {
      var $jscomp$destructuring$var33 = (0,$jscomp.makeIterator)(module$contents$google3$javascript$apps$jspb$internal_binary_fields_getBinaryExtensionTuple(table.extensions[fieldNumber])), readerWriterPair__tsickle_destructured_1 = $jscomp$destructuring$var33.next().value, submessageBinaryFields__tsickle_destructured_2 = $jscomp$destructuring$var33.next().value, readerWriterPair = readerWriterPair__tsickle_destructured_1, submessageBinaryFields = submessageBinaryFields__tsickle_destructured_2;
      submessageBinaryFields && typeof submessageBinaryFields === "function" && (submessageBinaryFields = submessageBinaryFields());
      extensionTypeInfos[fieldNumber] = submessageBinaryFields ? new module$contents$google3$javascript$apps$jspb$internal_binary_table_CachedSubmessageTypeInfo(readerWriterPair.$$valueType, readerWriterPair.$$isRepeated, !1, void 0, submessageBinaryFields) : new module$contents$google3$javascript$apps$jspb$internal_binary_table_CachedPrimitiveTypeInfo(readerWriterPair.$$valueType, readerWriterPair.$$isRepeated, void 0);
    }
  }
  return table.extensionTypeInfos;
}
module$exports$google3$javascript$apps$jspb$internal_binary_table.getExtensionsInTable = module$contents$google3$javascript$apps$jspb$internal_binary_table_getExtensionsInTable;
module$exports$google3$javascript$apps$jspb$internal_binary_table.forEachFieldInTable = function(table, forEachField) {
  for (var fieldNumber in table) {
    isNaN(fieldNumber) || forEachField(+fieldNumber, table[fieldNumber], !1);
  }
  var extensionTypeInfos = module$contents$google3$javascript$apps$jspb$internal_binary_table_getExtensionsInTable(table), fieldNumberString;
  for (fieldNumberString in extensionTypeInfos) {
    var fieldNumber$jscomp$0 = +fieldNumberString;
    isNaN(fieldNumber$jscomp$0) || forEachField(fieldNumber$jscomp$0, extensionTypeInfos[fieldNumber$jscomp$0], !0);
  }
};
function module$contents$google3$javascript$apps$jspb$internal_binary_table_addPrimitiveFieldToTypeInfoTable(table, fieldNumber, readerWriterPair, oneofGroup) {
  (0,goog.asserts.assert)(!(readerWriterPair.$$valueType === module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.MESSAGE || readerWriterPair.$$valueType === module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.GROUP || readerWriterPair.$$valueType === module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.MAP));
  table[fieldNumber] = new module$contents$google3$javascript$apps$jspb$internal_binary_table_CachedPrimitiveTypeInfo(readerWriterPair.$$valueType, readerWriterPair.$$isRepeated, oneofGroup);
}
var module$contents$google3$javascript$apps$jspb$internal_binary_table_CachedPrimitiveTypeInfo = function(typeToken, isRepeated) {
  this.isRepeated = isRepeated;
  this.isMap = !1;
}, module$contents$google3$javascript$apps$jspb$internal_binary_table_CachedSubmessageTypeInfo = function(typeToken, isRepeated, isMap) {
  this.isRepeated = isRepeated;
  this.isMap = isMap;
};
function module$contents$google3$javascript$apps$jspb$internal_binary_table_addMessageFieldToTypeInfoTable(table, fieldNumber, readerWriterPair, submessageBinaryFields, oneofGroup) {
  (0,goog.asserts.assert)(readerWriterPair.$$valueType === module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.MESSAGE || readerWriterPair.$$valueType === module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.GROUP);
  var messageMeta = module$contents$jspb$internal_construct_tryParseMessageMeta(submessageBinaryFields[0]), isMap = messageMeta ? module$contents$jspb$internal_construct_isMapEntryMessageMeta(messageMeta) : !1;
  table[fieldNumber] = new module$contents$google3$javascript$apps$jspb$internal_binary_table_CachedSubmessageTypeInfo(readerWriterPair.$$valueType, isMap ? module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.REPEATED : readerWriterPair.$$isRepeated, isMap ? module$exports$google3$javascript$apps$jspb$internal_binary_type_tokens.MAP : !1, oneofGroup, submessageBinaryFields);
}
;var module$exports$google3$javascript$apps$jspb$internal_descriptor = {}, module$contents$google3$javascript$apps$jspb$internal_descriptor_SERIALIZED_DESCRIPTOR_PROTO_KEY = Symbol(), module$contents$google3$javascript$apps$jspb$internal_descriptor_DESCRIPTOR_TYPE_REFERENCE_CACHE_KEY = Symbol(), module$contents$google3$javascript$apps$jspb$internal_descriptor_GLOBAL_TYPE_REGISTRY = new Map(), module$contents$google3$javascript$apps$jspb$internal_descriptor_GLOBAL_ENUM_TYPE_REGISTRY = new Map(), module$contents$google3$javascript$apps$jspb$internal_descriptor_GLOBAL_EXTENSION_REGISTRY = 
new Map();
module$exports$google3$javascript$apps$jspb$internal_descriptor.DescriptorTypeReferenceImpl = function(ctor, typeName, fieldPresence, serializedDescriptorProto, maybeChildTypes, internalArg) {
  module$exports$google3$javascript$apps$jspb$descriptor.DescriptorTypeReference.call(this, internalArg);
  this.ctor = ctor;
  this.typeName = typeName;
  module$contents$google3$javascript$apps$jspb$internal_descriptor_GLOBAL_TYPE_REGISTRY.set(typeName, this);
  this.ctor[module$contents$google3$javascript$apps$jspb$internal_descriptor_SERIALIZED_DESCRIPTOR_PROTO_KEY] = serializedDescriptorProto;
};
$jscomp.inherits(module$exports$google3$javascript$apps$jspb$internal_descriptor.DescriptorTypeReferenceImpl, module$exports$google3$javascript$apps$jspb$descriptor.DescriptorTypeReference);
module$exports$google3$javascript$apps$jspb$internal_descriptor.DescriptorTypeReferenceImpl.prototype.getTypeName = function() {
  return this.typeName;
};
module$exports$google3$javascript$apps$jspb$internal_descriptor.ExtensionReference = function(extendeeName, extensionScope, fieldNumber, serializedFieldDescriptorProto, maybeGetExtType, internalArg) {
  this.extendeeName = extendeeName;
  this.fieldNumber = fieldNumber;
  module$contents$google3$javascript$apps$jspb$internal_descriptor_assertInternalArg(internalArg);
  var extensions = module$contents$google3$javascript$apps$jspb$internal_descriptor_GLOBAL_EXTENSION_REGISTRY.get(this.extendeeName);
  extensions == null && module$contents$google3$javascript$apps$jspb$internal_descriptor_GLOBAL_EXTENSION_REGISTRY.set(this.extendeeName, extensions = new Map());
  extensions.set(this.fieldNumber, this);
};
module$exports$google3$javascript$apps$jspb$internal_descriptor.EnumDescriptorTypeReferenceImpl = function(typeName, serializedEnumDescriptorProto, internalArg) {
  module$exports$google3$javascript$apps$jspb$descriptor.EnumDescriptorTypeReference.call(this, internalArg);
  this.typeName = typeName;
  module$contents$google3$javascript$apps$jspb$internal_descriptor_assertInternalArg(internalArg);
  module$contents$google3$javascript$apps$jspb$internal_descriptor_GLOBAL_ENUM_TYPE_REGISTRY.set(typeName, this);
};
$jscomp.inherits(module$exports$google3$javascript$apps$jspb$internal_descriptor.EnumDescriptorTypeReferenceImpl, module$exports$google3$javascript$apps$jspb$descriptor.EnumDescriptorTypeReference);
module$exports$google3$javascript$apps$jspb$internal_descriptor.EnumDescriptorTypeReferenceImpl.prototype.getTypeName = function() {
  return this.typeName;
};
module$exports$google3$javascript$apps$jspb$internal_descriptor.makeDescriptorGetter = function(ctor, typeName, fieldPresence, serializedDescriptor) {
  var maybeChildTypes = $jscomp.getRestArguments.apply(4, arguments);
  return function() {
    ctor[module$contents$google3$javascript$apps$jspb$internal_descriptor_DESCRIPTOR_TYPE_REFERENCE_CACHE_KEY] != null || (ctor[module$contents$google3$javascript$apps$jspb$internal_descriptor_DESCRIPTOR_TYPE_REFERENCE_CACHE_KEY] = new module$exports$google3$javascript$apps$jspb$internal_descriptor.DescriptorTypeReferenceImpl(ctor, typeName, fieldPresence, serializedDescriptor, maybeChildTypes, module$exports$jspb$internal.DESCRIPTOR_TYPE_REFERENCE_INTERNAL_ARG));
    return function() {
      return ctor[module$contents$google3$javascript$apps$jspb$internal_descriptor_DESCRIPTOR_TYPE_REFERENCE_CACHE_KEY];
    };
  }();
};
module$exports$google3$javascript$apps$jspb$internal_descriptor.makeExtensionReference = function(extendeeName, extensionScope, fieldNumber, serializedFieldDescriptor, extTypeGetter) {
  return new module$exports$google3$javascript$apps$jspb$internal_descriptor.ExtensionReference(extendeeName, extensionScope, fieldNumber, serializedFieldDescriptor, extTypeGetter, module$exports$jspb$internal.DESCRIPTOR_TYPE_REFERENCE_INTERNAL_ARG);
};
module$exports$google3$javascript$apps$jspb$internal_descriptor.makeEnumDescriptorGetter = function(typeName, serializedDescriptor) {
  return function() {
    var ref = new module$exports$google3$javascript$apps$jspb$internal_descriptor.EnumDescriptorTypeReferenceImpl(typeName, serializedDescriptor, module$exports$jspb$internal.DESCRIPTOR_TYPE_REFERENCE_INTERNAL_ARG);
    return function() {
      return ref;
    };
  }();
};
module$exports$google3$javascript$apps$jspb$internal_descriptor.resolveMessageType = function(typeName) {
  return module$contents$google3$javascript$apps$jspb$internal_descriptor_GLOBAL_TYPE_REGISTRY.get(typeName);
};
module$exports$google3$javascript$apps$jspb$internal_descriptor.resolveCachedMessageType = function(ctor) {
  return ctor[module$contents$google3$javascript$apps$jspb$internal_descriptor_DESCRIPTOR_TYPE_REFERENCE_CACHE_KEY];
};
module$exports$google3$javascript$apps$jspb$internal_descriptor.resolveEnumType = function(typeName) {
  return module$contents$google3$javascript$apps$jspb$internal_descriptor_GLOBAL_ENUM_TYPE_REGISTRY.get(typeName);
};
function module$contents$google3$javascript$apps$jspb$internal_descriptor_assertInternalArg(internalArg) {
  if (internalArg !== module$exports$jspb$internal.DESCRIPTOR_TYPE_REFERENCE_INTERNAL_ARG) {
    throw goog.DEBUG ? Error("do not construct your own descriptors") : Error();
  }
}
;goog.DEBUG ? Symbol("CACHED_IMMUTABLE_INSTANCE") : Symbol();
var jspb = {extension_field_info:{}}, module$contents$jspb$extension_field_info_ExtensionFieldInfo = function(fieldIndex, extendeeCtor, ctor, isRepeated, getExtensionFn, getExtensionAtIndexFn, getExtensionCountFn, setExtensionFn, setExtensionAtIndexFn, addExtensionFn, defaultValue, isDelegating) {
  isDelegating = isDelegating === void 0 ? !1 : isDelegating;
  (0,goog.asserts.assert)(fieldIndex > 0);
  this.fieldIndex = fieldIndex;
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && (this.extendeeCtor = extendeeCtor);
  this.ctor = ctor;
  this.isRepeated = isRepeated;
  this.getExtensionFn = getExtensionFn;
  this.defaultValue = defaultValue;
  this.isDelegating = isDelegating;
};
jspb.extension_field_info.ExtensionFieldInfo = module$contents$jspb$extension_field_info_ExtensionFieldInfo;
function module$contents$jspb$internal_extension_field_info_createMessageExtension(fieldNumber, extendeeCtor, ctor) {
  return new module$contents$jspb$extension_field_info_ExtensionFieldInfo(fieldNumber, extendeeCtor, ctor, 0, jspb_internal_adapters.getWrapperFieldOrUndefined, void 0, void 0, jspb_internal_adapters.setWrapperField, void 0, void 0, void 0);
}
;function module$contents$jspb$internal_get_type_name_getCtorTypeName(messageCtor) {
  if (module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES) {
    return messageCtor.internalDoNotUse_debugOnlyProtoTypeName;
  }
}
function module$contents$jspb$internal_get_type_name_getMessageInstanceTypeName(messageInstance) {
  if (messageInstance instanceof module$exports$jspb.Message) {
    return module$contents$jspb$internal_get_type_name_getCtorTypeName(messageInstance.constructor);
  }
}
;Symbol();
Symbol();
Symbol();
var module$exports$jspb$mutable_message = {}, module$contents$jspb$mutable_message_MutableMessageImpl = function() {
  module$exports$jspb.Message.apply(this, arguments);
};
$jscomp.inherits(module$contents$jspb$mutable_message_MutableMessageImpl, module$exports$jspb.Message);
module$contents$jspb$mutable_message_MutableMessageImpl.prototype.getExtension = function(fieldInfo) {
  return module$exports$jspb.Message.prototype.getExtension.call(this, fieldInfo);
};
module$contents$jspb$mutable_message_MutableMessageImpl.prototype.getExtensionOrUndefined = function(fieldInfo) {
  return module$exports$jspb.Message.prototype.getExtensionOrUndefined.call(this, fieldInfo);
};
module$contents$jspb$mutable_message_MutableMessageImpl.prototype.toMutable = function() {
  return module$exports$jspb.Message.prototype.toMutable.call(this);
};
module$contents$jspb$mutable_message_MutableMessageImpl.prototype.clone = function() {
  var self = (0,goog.asserts.assertInstanceof)(this, module$exports$jspb.Message);
  return module$contents$jspb$internal_immutability_copyMutableWithImmutableFields(self);
};
module$contents$jspb$mutable_message_MutableMessageImpl.equals = function() {
  throw Error("Call equals directly on the Message class, not a subclass");
};
if (module$exports$jspb$internal.SUPPORTS_HAS_INSTANCE && module$exports$jspb$internal_options.USE_DETAILED_MESSAGE_TYPE_HIERARCHY) {
  var rejectInstanceof$jscomp$2 = function() {
    throw Error(goog.DEBUG ? "Cannot perform instanceof checks for MutableMessage. Please use .isMutable or .isImmutable to determine whether a message is mutable. See go/jspb-api-gotchas#immutable-classes for more information" : void 0);
  }, $jscomp$compprop61 = {};
  Object.defineProperties(module$contents$jspb$mutable_message_MutableMessageImpl, ($jscomp$compprop61[Symbol.hasInstance] = module$contents$jspb$internal_invisiblePropValue(rejectInstanceof$jscomp$2), $jscomp$compprop61));
  (0,goog.asserts.assert)(module$contents$jspb$mutable_message_MutableMessageImpl[Symbol.hasInstance] === rejectInstanceof$jscomp$2, "defineProperties did not work: was it monkey-patched?");
}
module$exports$jspb$mutable_message.MutableMessage = module$exports$jspb$internal_options.USE_DETAILED_MESSAGE_TYPE_HIERARCHY ? module$contents$jspb$mutable_message_MutableMessageImpl : module$exports$jspb.Message;
var module$exports$google3$javascript$apps$jspb$opaque_type_table = {OpaqueTypeTable:function() {
  throw Error();
}};
if (goog.DEBUG) {
  var $jscomp$compprop62 = {};
  Object.defineProperties(module$exports$google3$javascript$apps$jspb$opaque_type_table.OpaqueTypeTable.prototype, ($jscomp$compprop62[Symbol.hasInstance] = {get:function() {
    throw Error("OpaqueTypeTable is not a type. Use isOpaqueTypeTable to check if a value is an OpaqueTypeTable.");
  }, enumerable:!1, configurable:!1}, $jscomp$compprop62));
}
function module$contents$google3$javascript$apps$jspb$opaque_type_table_isOpaqueTypeTable(typeTable, ctor) {
  if (!typeTable || typeof typeTable !== "object" || typeTable.constructor !== Object) {
    return !1;
  }
  var internalTable = typeTable[module$exports$google3$javascript$apps$jspb$internal_binary_table.WRAPPED_TYPE_TABLE_KEY];
  if (!internalTable) {
    return !1;
  }
  var messageType = internalTable.messageType, JSCompiler_temp;
  if (JSCompiler_temp = messageType) {
    var defaultInstance = module$contents$jspb$internal_accessor_helpers_getDefaultImmutableInstance(messageType);
    (0,goog.asserts.assertInstanceof)(defaultInstance, module$exports$jspb.Message, "value was not a mutable message constructor");
    JSCompiler_temp = defaultInstance instanceof module$exports$jspb.Message;
  }
  return JSCompiler_temp ? ctor ? messageType === ctor : !0 : !1;
}
module$exports$google3$javascript$apps$jspb$opaque_type_table.isOpaqueTypeTable = module$contents$google3$javascript$apps$jspb$opaque_type_table_isOpaqueTypeTable;
module$exports$google3$javascript$apps$jspb$opaque_type_table.tableMessageType = function(typeTable) {
  var arg = module$contents$google3$javascript$apps$jspb$opaque_type_table_isOpaqueTypeTable(typeTable);
  if (module$exports$google3$javascript$common$asserts$internal.ENABLE_ASSERTS) {
    var keepInProdMsgFunc = module$contents$google3$javascript$common$asserts$asserts_keepInProdMsg;
    if (!arg) {
      if (!goog.DEBUG) {
        throw Error(module$contents$google3$javascript$common$asserts$asserts_formatLazyMsg(keepInProdMsgFunc) || String(arg));
      }
      module$contents$google3$javascript$common$asserts$asserts_throwGuardFailure("Guard truthy failed:", keepInProdMsgFunc || "Expected truthy, got " + module$contents$google3$javascript$common$asserts$internal_basicPrettyPrint(arg));
    }
  }
  return typeTable[module$exports$google3$javascript$apps$jspb$internal_binary_table.WRAPPED_TYPE_TABLE_KEY].messageType;
};
(function() {
  if (module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES) {
    var prev = goog.global.jspbGetTypeName;
    goog.global.jspbGetTypeName = prev ? function(x) {
      return prev(x) || module$contents$jspb$internal_get_type_name_getMessageInstanceTypeName(x);
    } : module$contents$jspb$internal_get_type_name_getMessageInstanceTypeName;
  }
})();
function module$contents$jspb_internal_public_for_gencode_toObjectList(field, toObjectFn) {
  for (var result = module$contents$jspb$internal_operations_logNewArray([]), i = 0; i < field.length; i++) {
    result.push(toObjectFn(field[i]));
  }
  return result;
}
function module$contents$jspb_internal_public_for_gencode_fromObjectList(field, fromObjectFn) {
  var result = module$contents$jspb$internal_operations_logNewArray([]);
  if (field == null) {
    return field;
  }
  for (var i = 0; i < field.length; i++) {
    field[i] != null && result.push(fromObjectFn(field[i]));
  }
  return result;
}
function module$contents$jspb_internal_public_for_gencode_fromObjectNullable(field, fromObjectFn) {
  return field == null ? field : fromObjectFn(field);
}
function module$contents$jspb_internal_public_for_gencode_normalizeBigInt(v) {
  if (typeof v === "bigint") {
    var num = Number(v);
    return Number.isSafeInteger(num) ? num : "" + v;
  }
  return v;
}
function module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(v) {
  return Array.isArray(v) ? module$contents$jspb$internal_operations_logNewArray(v.map(module$contents$jspb_internal_public_for_gencode_normalizeBigInt)) : v == null ? void 0 : module$contents$jspb_internal_public_for_gencode_normalizeBigInt(v);
}
function module$contents$jspb_internal_public_for_gencode_toObjectBytes(value) {
  return value == null ? void 0 : Array.isArray(value) ? module$contents$jspb$internal_operations_logNewArray(value.map(function(b) {
    return b.asBase64();
  })) : value.asBase64();
}
var module$contents$jspb_internal_public_for_gencode_GeneratedMessageImpl = function() {
  module$exports$jspb$mutable_message.MutableMessage.apply(this, arguments);
};
$jscomp.inherits(module$contents$jspb_internal_public_for_gencode_GeneratedMessageImpl, module$exports$jspb$mutable_message.MutableMessage);
module$contents$jspb_internal_public_for_gencode_GeneratedMessageImpl.prototype.toMutable = function() {
  return module$exports$jspb$mutable_message.MutableMessage.prototype.toMutable.call(this);
};
module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && module$exports$jspb$internal_options.USE_DETAILED_MESSAGE_TYPE_HIERARCHY && (module$contents$jspb_internal_public_for_gencode_GeneratedMessageImpl.prototype[module$exports$jspb$internal.GENERATED_SUBCLASS_MARKER] = !0);
if (module$exports$jspb$internal.SUPPORTS_HAS_INSTANCE && module$exports$jspb$internal_options.USE_DETAILED_MESSAGE_TYPE_HIERARCHY) {
  var $jscomp$compprop63 = {};
  Object.defineProperties(module$contents$jspb_internal_public_for_gencode_GeneratedMessageImpl, ($jscomp$compprop63[Symbol.hasInstance] = module$contents$jspb$internal_invisiblePropValue(Object[Symbol.hasInstance]), $jscomp$compprop63));
  goog.asserts.assert(module$contents$jspb_internal_public_for_gencode_GeneratedMessageImpl[Symbol.hasInstance] === Object[Symbol.hasInstance], "broken defineProperties implementation");
}
var module$contents$jspb_internal_public_for_gencode_GeneratedMessage = module$exports$jspb$internal_options.USE_DETAILED_MESSAGE_TYPE_HIERARCHY ? module$contents$jspb_internal_public_for_gencode_GeneratedMessageImpl : module$exports$jspb.Message;
function module$contents$jspb_internal_public_for_gencode_assertMutable(msg) {
  if (module$contents$jspb$internal_isImmutableMessage(msg)) {
    throw Error("message must be mutable");
  }
}
function module$contents$jspb_internal_public_for_gencode_getTypeName(ctor) {
  var name;
  return module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (name = module$contents$jspb$internal_get_type_name_getCtorTypeName(ctor)) ? name : (name = ctor.displayName) ? name : ctor.name || "";
}
function module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(ctor) {
  return function() {
    return module$contents$jspb$internal_accessor_helpers_getDefaultImmutableInstance(ctor);
  };
}
function module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(deserializeBinaryFn) {
  return function(source, options) {
    var msg = deserializeBinaryFn(source, options);
    module$contents$jspb$internal_immutability_recursiveMarkMessageImmutable(msg);
    return msg;
  };
}
function module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(ctor, binaryFields) {
  return function(source, options) {
    return (0,jspb_internal_binary.deserializeBinary)(source, ctor, binaryFields, options);
  };
}
function module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(binaryFields) {
  return function(msg) {
    return (0,jspb_internal_binary.serializeBinary)(msg, binaryFields);
  };
}
function module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(binaryFields) {
  return function(msg) {
    return (0,jspb_internal_binary.serializeBinaryToByteString)(msg, binaryFields);
  };
}
function module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(binaryFields) {
  return function() {
    return (0,jspb_internal_binary.serializeBinary)(this, binaryFields);
  };
}
function module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(ctor, binaryFields) {
  var fn = function(msg) {
    return (0,jspb_internal_binary.makeCrossSerializerComparisonsCompatible)(goog.asserts.assertInstanceof(goog.asserts.assertInstanceof(msg, ctor), module$exports$jspb.Message), binaryFields);
  };
  goog.DEBUG && (ctor.makeCrossSerializerComparisonsCompatible = fn);
  return fn;
}
function module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(ctor) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(value) {
    return value instanceof ctor && module$contents$jspb$internal_isImmutableMessage(value);
  }, function() {
    return "ImmutableMessage:" + module$contents$jspb_internal_public_for_gencode_getTypeName(ctor);
  });
}
function module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(ctor) {
  return module$contents$google3$javascript$common$asserts$asserts_defineStateGuard(function(value) {
    return value instanceof ctor && !module$contents$jspb$internal_isImmutableMessage(value);
  }, function() {
    return "MutableMessage:" + module$contents$jspb_internal_public_for_gencode_getTypeName(ctor);
  });
}
function module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(ctor) {
  return function(data) {
    goog.asserts.assertString(data);
    goog.asserts.assertFunction(ctor);
    var array = JSON.parse(data);
    if (!Array.isArray(array)) {
      throw Error("Expected jspb data to be an array, got " + goog.typeOf(array) + ": " + array);
    }
    module$contents$jspb$internal_array_state_markArrayImmutable(array);
    var msg = new ctor(array);
    goog.asserts.assert(module$contents$jspb$internal_isMessage(msg));
    return msg;
  };
}
function module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(ctor) {
  return function(data) {
    return module$exports$jspb.Message.deserializeWithCtor(ctor, data);
  };
}
function module$contents$jspb_internal_public_for_gencode_makeExtensionsObject(ctor) {
  var extensions = {};
  goog.DEBUG && (ctor[module$contents$jspb$internal_DEBUG_EXTENSIONS] = extensions);
  return extensions;
}
;var jspb$experiments$heterodyne$MutableDeviceExperimentIds = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$experiments$heterodyne$MutableDeviceExperimentIds, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$experiments$heterodyne$MutableDeviceExperimentIds.prototype.setAlwaysList = function(value) {
  return jspb_internal_adapters.setRepeatedInt32Field(this, 3, value);
};
jspb$experiments$heterodyne$MutableDeviceExperimentIds.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$experiments$heterodyne$MutableDeviceExperimentIds);
jspb$experiments$heterodyne$MutableDeviceExperimentIds.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$experiments$heterodyne$MutableDeviceExperimentIds);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$experiments$heterodyne$MutableDeviceExperimentIds.internalDoNotUse_debugOnlyProtoTypeName = "experiments.heterodyne.DeviceExperimentIds");
var jspb$b$experiments$heterodyne$DeviceExperimentIds = {};
jspb$b$experiments$heterodyne$DeviceExperimentIds.fields = [0, jspb_internal_binary.RPackableInt32IntoWRepeatedInt32, -3];
jspb$experiments$heterodyne$MutableDeviceExperimentIds.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$experiments$heterodyne$DeviceExperimentIds.fields);
jspb.immutable_message = {};
jspb.immutable_message.ImmutableMessage = module$contents$jspb$immutable_message_ImmutableMessage;
var jspb$experiments$heterodyne$ImmutableDeviceExperimentIds = function() {
};
jspb$experiments$heterodyne$ImmutableDeviceExperimentIds.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$experiments$heterodyne$MutableDeviceExperimentIds);
jspb$experiments$heterodyne$ImmutableDeviceExperimentIds.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$experiments$heterodyne$MutableDeviceExperimentIds);
jspb$experiments$heterodyne$ImmutableDeviceExperimentIds.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$experiments$heterodyne$MutableDeviceExperimentIds);
var jspb$o$experiments$heterodyne$DeviceExperimentIds = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {byGaiaList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedInt32Field(msg, 1, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN)), byPseudonymousList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedInt32Field(msg, 2, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN)), 
    alwaysList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedInt32Field(msg, 3, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN)), byOtherList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedInt32Field(msg, 4, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN))};
  }
}};
jspb$experiments$heterodyne$MutableDeviceExperimentIds.prototype.toObject = function() {
  return jspb$o$experiments$heterodyne$DeviceExperimentIds.internal_toObject(this);
};
jspb$o$experiments$heterodyne$DeviceExperimentIds.fromObject = function(obj) {
  var msg = new jspb$experiments$heterodyne$MutableDeviceExperimentIds();
  jspb_internal_adapters.setRepeatedInt32Field(msg, 1, obj.byGaiaList);
  jspb_internal_adapters.setRepeatedInt32Field(msg, 2, obj.byPseudonymousList);
  jspb_internal_adapters.setRepeatedInt32Field(msg, 3, obj.alwaysList);
  jspb_internal_adapters.setRepeatedInt32Field(msg, 4, obj.byOtherList);
  return msg;
};
proto.experiments = {};
proto.experiments.heterodyne = {};
proto.experiments.heterodyne.ReadonlyDeviceExperimentIds = {};
proto.experiments.heterodyne.DeviceExperimentIds = jspb$experiments$heterodyne$MutableDeviceExperimentIds;
jspb$experiments$heterodyne$MutableDeviceExperimentIds.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$experiments$heterodyne$MutableDeviceExperimentIds, jspb$b$experiments$heterodyne$DeviceExperimentIds.fields);
jspb$experiments$heterodyne$MutableDeviceExperimentIds.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$experiments$heterodyne$DeviceExperimentIds.fields);
jspb$experiments$heterodyne$MutableDeviceExperimentIds.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$experiments$heterodyne$DeviceExperimentIds.fields);
jspb$experiments$heterodyne$MutableDeviceExperimentIds.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$experiments$heterodyne$MutableDeviceExperimentIds, jspb$b$experiments$heterodyne$DeviceExperimentIds.fields);
jspb$experiments$heterodyne$MutableDeviceExperimentIds.fromObject = jspb$o$experiments$heterodyne$DeviceExperimentIds.fromObject;
proto.experiments.heterodyne.MutableDeviceExperimentIds = jspb$experiments$heterodyne$MutableDeviceExperimentIds;
jspb$experiments$heterodyne$ImmutableDeviceExperimentIds.serializeBinary = jspb$experiments$heterodyne$MutableDeviceExperimentIds.serializeBinary;
jspb$experiments$heterodyne$ImmutableDeviceExperimentIds.serializeBinaryToByteString = jspb$experiments$heterodyne$MutableDeviceExperimentIds.serializeBinaryToByteString;
jspb$experiments$heterodyne$ImmutableDeviceExperimentIds.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$experiments$heterodyne$MutableDeviceExperimentIds.deserializeBinary);
jspb$experiments$heterodyne$ImmutableDeviceExperimentIds.makeCrossSerializerComparisonsCompatible = jspb$experiments$heterodyne$MutableDeviceExperimentIds.makeCrossSerializerComparisonsCompatible;
proto.experiments.heterodyne.ImmutableDeviceExperimentIds = jspb$experiments$heterodyne$ImmutableDeviceExperimentIds;
jspb$e.frameworks$client$streamz$IncrementBatch$Increment$Field$ValueCase = {VALUE_NOT_SET:0, STR_VAL:1, INT_VAL:2, BOOL_VAL:3};
jspb$e.frameworks$client$streamz$IncrementBatch$Increment$Value$ValueCase = {VALUE_NOT_SET:0, INT64_VAL:1, DOUBLE_VAL:2, HISTOGRAM_VAL:3};
jspb$e.frameworks$client$streamz$IncrementBatch$RootSpec$SpecCase = {SPEC_NOT_SET:0, MOBILE:1, MOBILE_EXP:2, LOG_SOURCE_SCHEMA:3};
var jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.prototype.setStrVal = function(value) {
  return jspb_internal_adapters.setOneofStringField(this, 1, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.oneofGroup_ValueCase_, value);
};
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.prototype.setIntVal = function(value) {
  return jspb_internal_adapters.setOneofInt32Field(this, 2, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.oneofGroup_ValueCase_, value);
};
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.prototype.setBoolVal = function(value) {
  return jspb_internal_adapters.setOneofBooleanField(this, 3, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.oneofGroup_ValueCase_, value);
};
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField);
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.internalDoNotUse_debugOnlyProtoTypeName = "frameworks.client.streamz.IncrementBatch.Increment.Field");
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.oneofGroup_ValueCase_ = [1, 2, 3];
var jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Field = {};
jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Field.fields = [0, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.oneofGroup_ValueCase_, jspb_internal_binary.RStringOneofWString, jspb_internal_binary.RInt32OneofWInt32, jspb_internal_binary.RBoolOneofWBool];
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Field.fields);
var jspb$frameworks$client$streamz$Histogram$MutableEntry = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$frameworks$client$streamz$Histogram$MutableEntry, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$frameworks$client$streamz$Histogram$MutableEntry.prototype.getCount = function() {
  return jspb_internal_adapters.getInt64GbigintFieldWithDefault(this, 2);
};
jspb$frameworks$client$streamz$Histogram$MutableEntry.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$frameworks$client$streamz$Histogram$MutableEntry);
jspb$frameworks$client$streamz$Histogram$MutableEntry.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$frameworks$client$streamz$Histogram$MutableEntry);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$frameworks$client$streamz$Histogram$MutableEntry.internalDoNotUse_debugOnlyProtoTypeName = "frameworks.client.streamz.Histogram.Entry");
var jspb$b$frameworks$client$streamz$Histogram$Entry = {};
jspb$b$frameworks$client$streamz$Histogram$Entry.fields = [0, jspb_internal_binary.RWDouble, jspb_internal_binary.RWInt64];
jspb$frameworks$client$streamz$Histogram$MutableEntry.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$Histogram$Entry.fields);
var jspb$frameworks$client$streamz$MutableHistogram = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$frameworks$client$streamz$MutableHistogram, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$frameworks$client$streamz$MutableHistogram.prototype.getEntryList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$frameworks$client$streamz$Histogram$MutableEntry, 1, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$frameworks$client$streamz$MutableHistogram.prototype.removeEntry = function(index) {
  return jspb_internal_adapters.removeFromRepeatedWrapperField(this, 1, jspb$frameworks$client$streamz$Histogram$MutableEntry, index);
};
jspb$frameworks$client$streamz$MutableHistogram.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$frameworks$client$streamz$MutableHistogram);
jspb$frameworks$client$streamz$MutableHistogram.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$frameworks$client$streamz$MutableHistogram);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$frameworks$client$streamz$MutableHistogram.internalDoNotUse_debugOnlyProtoTypeName = "frameworks.client.streamz.Histogram");
var jspb$b$frameworks$client$streamz$Histogram = {};
jspb$b$frameworks$client$streamz$Histogram.fields = [0, jspb_internal_binary.RWRepeatedMessage, jspb$b$frameworks$client$streamz$Histogram$Entry.fields];
jspb$frameworks$client$streamz$MutableHistogram.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$Histogram.fields);
var jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.prototype.setInt64Val = function(value) {
  return jspb_internal_adapters.setOneofInt64Field(this, 1, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.oneofGroup_ValueCase_, value);
};
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.prototype.setDoubleVal = function(value) {
  return jspb_internal_adapters.setOneofFloatingPointField(this, 2, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.oneofGroup_ValueCase_, value);
};
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.prototype.getHistogramVal = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$frameworks$client$streamz$MutableHistogram, 3, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.oneofGroup_ValueCase_);
};
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue);
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.internalDoNotUse_debugOnlyProtoTypeName = "frameworks.client.streamz.IncrementBatch.Increment.Value");
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.oneofGroup_ValueCase_ = [1, 2, 3];
var jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Value = {};
jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Value.fields = [0, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.oneofGroup_ValueCase_, jspb_internal_binary.RInt64OneofWInt64, jspb_internal_binary.RDoubleOneofWDouble, jspb_internal_binary.RMessageOneofWMessage, jspb$b$frameworks$client$streamz$Histogram.fields];
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Value.fields);
var jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.prototype.getFieldList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField, 1, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.prototype.setFieldList = function(value) {
  return jspb_internal_adapters.setRepeatedWrapperField(this, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField, 1, value);
};
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.prototype.setField = function(index, value) {
  return jspb_internal_adapters.setRepeatedIndexedWrapper(this, 1, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField, index, value);
};
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.prototype.getIncBy = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue, 2);
};
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.prototype.setIncBy = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue, 2, value);
};
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement);
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.internalDoNotUse_debugOnlyProtoTypeName = "frameworks.client.streamz.IncrementBatch.Increment");
var jspb$b$frameworks$client$streamz$IncrementBatch$Increment = {};
jspb$b$frameworks$client$streamz$IncrementBatch$Increment.fields = [0, jspb_internal_binary.RWRepeatedMessage, jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Field.fields, jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Value.fields];
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$Increment.fields);
var jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema.internalDoNotUse_debugOnlyProtoTypeName = "frameworks.client.streamz.IncrementBatch.RootSpec.LogSourceSchema");
var jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema = {};
jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema.fields = [0, jspb_internal_binary.RWString];
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema.fields);
var jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile.internalDoNotUse_debugOnlyProtoTypeName = "frameworks.client.streamz.IncrementBatch.RootSpec.Mobile");
var jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile = {};
jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile.fields = [0, jspb_internal_binary.RWString, -1, jspb_internal_binary.RWBool];
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile.fields);
var jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId.prototype.getExperimentId = function() {
  return jspb_internal_adapters.getInt32FieldWithDefault(this, 3);
};
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId.internalDoNotUse_debugOnlyProtoTypeName = "frameworks.client.streamz.IncrementBatch.RootSpec.MobileExpId");
var jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId = {};
jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId.fields = [0, jspb_internal_binary.RWString, -1, jspb_internal_binary.RWInt32, jspb_internal_binary.RWBool];
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId.fields);
var jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.prototype.getMobile = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile, 1, jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.oneofGroup_SpecCase_);
};
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.prototype.setMobile = function(value) {
  return jspb_internal_adapters.setOneofWrapperField(this, jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile, 1, jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.oneofGroup_SpecCase_, value);
};
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.prototype.getMobileExp = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId, 2, jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.oneofGroup_SpecCase_);
};
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.prototype.getLogSourceSchema = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema, 3, jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.oneofGroup_SpecCase_);
};
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec);
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.internalDoNotUse_debugOnlyProtoTypeName = "frameworks.client.streamz.IncrementBatch.RootSpec");
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.oneofGroup_SpecCase_ = [1, 2, 3];
var jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec = {};
jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec.fields = [0, jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.oneofGroup_SpecCase_, jspb_internal_binary.RMessageOneofWMessage, jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile.fields, jspb_internal_binary.RMessageOneofWMessage, jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId.fields, jspb_internal_binary.RMessageOneofWMessage, jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema.fields];
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec.fields);
var jspb$frameworks$client$streamz$MutableIncrementBatch = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$frameworks$client$streamz$MutableIncrementBatch, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$frameworks$client$streamz$MutableIncrementBatch.prototype.setStreamzName = function(value) {
  return jspb_internal_adapters.setStringField(this, 1, value);
};
jspb$frameworks$client$streamz$MutableIncrementBatch.prototype.getRootSpec = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec, 2);
};
jspb$frameworks$client$streamz$MutableIncrementBatch.prototype.setFieldNameList = function(value) {
  return jspb_internal_adapters.setRepeatedStringField(this, 3, value);
};
jspb$frameworks$client$streamz$MutableIncrementBatch.prototype.getIncList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement, 4, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$frameworks$client$streamz$MutableIncrementBatch.prototype.setIncList = function(value) {
  return jspb_internal_adapters.setRepeatedWrapperField(this, jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement, 4, value);
};
jspb$frameworks$client$streamz$MutableIncrementBatch.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$frameworks$client$streamz$MutableIncrementBatch);
jspb$frameworks$client$streamz$MutableIncrementBatch.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$frameworks$client$streamz$MutableIncrementBatch);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$frameworks$client$streamz$MutableIncrementBatch.internalDoNotUse_debugOnlyProtoTypeName = "frameworks.client.streamz.IncrementBatch");
var jspb$b$frameworks$client$streamz$IncrementBatch = {};
jspb$b$frameworks$client$streamz$IncrementBatch.fields = [0, jspb_internal_binary.RWString, jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec.fields, jspb_internal_binary.RWRepeatedString, jspb_internal_binary.RWRepeatedMessage, jspb$b$frameworks$client$streamz$IncrementBatch$Increment.fields, jspb_internal_binary.RWFixed64, jspb_internal_binary.RPackableFixed64IntoWRepeatedFixed64];
jspb$frameworks$client$streamz$MutableIncrementBatch.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch.fields);
var jspb$frameworks$client$streamz$ImmutableIncrementBatch = function() {
};
jspb$frameworks$client$streamz$ImmutableIncrementBatch.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$frameworks$client$streamz$MutableIncrementBatch);
jspb$frameworks$client$streamz$ImmutableIncrementBatch.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$frameworks$client$streamz$MutableIncrementBatch);
jspb$frameworks$client$streamz$ImmutableIncrementBatch.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$frameworks$client$streamz$MutableIncrementBatch);
var jspb$o$frameworks$client$streamz$IncrementBatch$Increment$Field = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {strVal:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getOneofStringFieldNullable(msg, 1, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.oneofGroup_ValueCase_)), intVal:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getOneofInt32FieldNullable(msg, 2, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.oneofGroup_ValueCase_)), 
    boolVal:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getOneofBooleanFieldNullable(msg, 3, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.oneofGroup_ValueCase_))};
  }
}};
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.prototype.toObject = function() {
  return jspb$o$frameworks$client$streamz$IncrementBatch$Increment$Field.internal_toObject(this);
};
jspb$o$frameworks$client$streamz$IncrementBatch$Increment$Field.fromObject = function(obj) {
  var msg = new jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField();
  jspb_internal_adapters.setOneofStringField(msg, 1, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.oneofGroup_ValueCase_, obj.strVal);
  jspb_internal_adapters.setOneofInt32Field(msg, 2, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.oneofGroup_ValueCase_, obj.intVal);
  jspb_internal_adapters.setOneofBooleanField(msg, 3, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.oneofGroup_ValueCase_, obj.boolVal);
  return msg;
};
var jspb$o$frameworks$client$streamz$Histogram$Entry = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {valueOrBucket:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getFloatingPointFieldNullable(msg, 1)), count:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 2))};
  }
}};
jspb$frameworks$client$streamz$Histogram$MutableEntry.prototype.toObject = function() {
  return jspb$o$frameworks$client$streamz$Histogram$Entry.internal_toObject(this);
};
jspb$o$frameworks$client$streamz$Histogram$Entry.fromObject = function(obj) {
  var msg = new jspb$frameworks$client$streamz$Histogram$MutableEntry();
  jspb_internal_adapters.setFloatingPointField(msg, 1, obj.valueOrBucket);
  jspb_internal_adapters.setInt64Field(msg, 2, obj.count);
  return msg;
};
var jspb$o$frameworks$client$streamz$Histogram = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {entryList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getEntryList(), jspb$o$frameworks$client$streamz$Histogram$Entry.internal_toObject)};
  }
}};
jspb$frameworks$client$streamz$MutableHistogram.prototype.toObject = function() {
  return jspb$o$frameworks$client$streamz$Histogram.internal_toObject(this);
};
jspb$o$frameworks$client$streamz$Histogram.fromObject = function(obj) {
  var msg = new jspb$frameworks$client$streamz$MutableHistogram();
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$frameworks$client$streamz$Histogram$MutableEntry, 1, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.entryList, jspb$o$frameworks$client$streamz$Histogram$Entry.fromObject));
  return msg;
};
var jspb$o$frameworks$client$streamz$IncrementBatch$Increment$Value = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {int64Val:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getOneofInt64FieldNullable(msg, 1, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.oneofGroup_ValueCase_)), doubleVal:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getOneofFloatingPointFieldNullable(msg, 2, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.oneofGroup_ValueCase_)), 
    histogramVal:jspb$o$frameworks$client$streamz$Histogram.internal_toObject(msg.getHistogramVal())};
  }
}};
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.prototype.toObject = function() {
  return jspb$o$frameworks$client$streamz$IncrementBatch$Increment$Value.internal_toObject(this);
};
jspb$o$frameworks$client$streamz$IncrementBatch$Increment$Value.fromObject = function(obj) {
  var msg = new jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue();
  jspb_internal_adapters.setOneofInt64Field(msg, 1, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.oneofGroup_ValueCase_, obj.int64Val);
  jspb_internal_adapters.setOneofFloatingPointField(msg, 2, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.oneofGroup_ValueCase_, obj.doubleVal);
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$frameworks$client$streamz$MutableHistogram, 3, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.oneofGroup_ValueCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.histogramVal, jspb$o$frameworks$client$streamz$Histogram.fromObject));
  return msg;
};
var jspb$o$frameworks$client$streamz$IncrementBatch$Increment = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {fieldList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getFieldList(), jspb$o$frameworks$client$streamz$IncrementBatch$Increment$Field.internal_toObject), incBy:jspb$o$frameworks$client$streamz$IncrementBatch$Increment$Value.internal_toObject(msg.getIncBy())};
  }
}};
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.prototype.toObject = function() {
  return jspb$o$frameworks$client$streamz$IncrementBatch$Increment.internal_toObject(this);
};
jspb$o$frameworks$client$streamz$IncrementBatch$Increment.fromObject = function(obj) {
  var msg = new jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement();
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField, 1, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.fieldList, jspb$o$frameworks$client$streamz$IncrementBatch$Increment$Field.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.incBy, jspb$o$frameworks$client$streamz$IncrementBatch$Increment$Value.fromObject));
  return msg;
};
var jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {logSourceName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1))};
  }
}};
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema.prototype.toObject = function() {
  return jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema.internal_toObject(this);
};
jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema.fromObject = function(obj) {
  var msg = new jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema();
  jspb_internal_adapters.setStringField(msg, 1, obj.logSourceName);
  return msg;
};
var jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {appName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), appVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), useMobilespec:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 3))};
  }
}};
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile.prototype.toObject = function() {
  return jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile.internal_toObject(this);
};
jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile.fromObject = function(obj) {
  var msg = new jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile();
  jspb_internal_adapters.setStringField(msg, 1, obj.appName);
  jspb_internal_adapters.setStringField(msg, 2, obj.appVersion);
  jspb_internal_adapters.setBooleanField(msg, 3, obj.useMobilespec);
  return msg;
};
var jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {appName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), appVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), experimentId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 3)), useMobilespec:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 
    4))};
  }
}};
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId.prototype.toObject = function() {
  return jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId.internal_toObject(this);
};
jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId.fromObject = function(obj) {
  var msg = new jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId();
  jspb_internal_adapters.setStringField(msg, 1, obj.appName);
  jspb_internal_adapters.setStringField(msg, 2, obj.appVersion);
  jspb_internal_adapters.setInt32Field(msg, 3, obj.experimentId);
  jspb_internal_adapters.setBooleanField(msg, 4, obj.useMobilespec);
  return msg;
};
var jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {mobile:jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile.internal_toObject(msg.getMobile()), mobileExp:jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId.internal_toObject(msg.getMobileExp()), logSourceSchema:jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema.internal_toObject(msg.getLogSourceSchema())};
  }
}};
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.prototype.toObject = function() {
  return jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec.internal_toObject(this);
};
jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec.fromObject = function(obj) {
  var msg = new jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec();
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile, 1, jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.oneofGroup_SpecCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.mobile, jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId, 2, jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.oneofGroup_SpecCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.mobileExp, jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema, 3, jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.oneofGroup_SpecCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.logSourceSchema, jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema.fromObject));
  return msg;
};
var jspb$o$frameworks$client$streamz$IncrementBatch = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {streamzName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), hashedStreamzName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getUint64FieldNullable(msg, 5)), rootSpec:jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec.internal_toObject(msg.getRootSpec()), fieldNameList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedStringField(msg, 
    3, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN)), hashedFieldNameList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedUint64Field(msg, 6, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN)), incList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getIncList(), jspb$o$frameworks$client$streamz$IncrementBatch$Increment.internal_toObject)};
  }
}};
jspb$frameworks$client$streamz$MutableIncrementBatch.prototype.toObject = function() {
  return jspb$o$frameworks$client$streamz$IncrementBatch.internal_toObject(this);
};
jspb$o$frameworks$client$streamz$IncrementBatch.fromObject = function(obj) {
  var msg = new jspb$frameworks$client$streamz$MutableIncrementBatch();
  jspb_internal_adapters.setStringField(msg, 1, obj.streamzName);
  jspb_internal_adapters.setUint64Field(msg, 5, obj.hashedStreamzName);
  jspb_internal_adapters.setWrapperField(msg, jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.rootSpec, jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec.fromObject));
  jspb_internal_adapters.setRepeatedStringField(msg, 3, obj.fieldNameList);
  jspb_internal_adapters.setRepeatedUint64Field(msg, 6, obj.hashedFieldNameList);
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement, 4, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.incList, jspb$o$frameworks$client$streamz$IncrementBatch$Increment.fromObject));
  return msg;
};
proto.frameworks = {};
proto.frameworks.client = {};
proto.frameworks.client.streamz = {};
proto.frameworks.client.streamz.ReadonlyIncrementBatch = {};
proto.frameworks.client.streamz.IncrementBatch = jspb$frameworks$client$streamz$MutableIncrementBatch;
jspb$frameworks$client$streamz$MutableIncrementBatch.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$frameworks$client$streamz$MutableIncrementBatch, jspb$b$frameworks$client$streamz$IncrementBatch.fields);
jspb$frameworks$client$streamz$MutableIncrementBatch.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch.fields);
jspb$frameworks$client$streamz$MutableIncrementBatch.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$frameworks$client$streamz$IncrementBatch.fields);
jspb$frameworks$client$streamz$MutableIncrementBatch.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$frameworks$client$streamz$MutableIncrementBatch, jspb$b$frameworks$client$streamz$IncrementBatch.fields);
jspb$frameworks$client$streamz$MutableIncrementBatch.fromObject = jspb$o$frameworks$client$streamz$IncrementBatch.fromObject;
proto.frameworks.client.streamz.MutableIncrementBatch = jspb$frameworks$client$streamz$MutableIncrementBatch;
jspb$frameworks$client$streamz$ImmutableIncrementBatch.serializeBinary = jspb$frameworks$client$streamz$MutableIncrementBatch.serializeBinary;
jspb$frameworks$client$streamz$ImmutableIncrementBatch.serializeBinaryToByteString = jspb$frameworks$client$streamz$MutableIncrementBatch.serializeBinaryToByteString;
jspb$frameworks$client$streamz$ImmutableIncrementBatch.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$frameworks$client$streamz$MutableIncrementBatch.deserializeBinary);
jspb$frameworks$client$streamz$ImmutableIncrementBatch.makeCrossSerializerComparisonsCompatible = jspb$frameworks$client$streamz$MutableIncrementBatch.makeCrossSerializerComparisonsCompatible;
proto.frameworks.client.streamz.ImmutableIncrementBatch = jspb$frameworks$client$streamz$ImmutableIncrementBatch;
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec, jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec.fields);
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec.fields);
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec.fields);
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec, jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec.fields);
jspb$frameworks$client$streamz$IncrementBatch$MutableRootSpec.fromObject = jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec.fromObject;
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile, jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile.fields);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile.fields);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile.fields);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile, jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile.fields);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobile.fromObject = jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$Mobile.fromObject;
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId, jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId.fields);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId.fields);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId.fields);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId, jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId.fields);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableMobileExpId.fromObject = jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$MobileExpId.fromObject;
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema, jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema.fields);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema.fields);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema.fields);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema, jspb$b$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema.fields);
jspb$frameworks$client$streamz$IncrementBatch$RootSpec$MutableLogSourceSchema.fromObject = jspb$o$frameworks$client$streamz$IncrementBatch$RootSpec$LogSourceSchema.fromObject;
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement, jspb$b$frameworks$client$streamz$IncrementBatch$Increment.fields);
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$Increment.fields);
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$frameworks$client$streamz$IncrementBatch$Increment.fields);
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement, jspb$b$frameworks$client$streamz$IncrementBatch$Increment.fields);
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.fromObject = jspb$o$frameworks$client$streamz$IncrementBatch$Increment.fromObject;
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.Field = jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField;
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField, jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Field.fields);
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Field.fields);
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Field.fields);
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField, jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Field.fields);
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableField.fromObject = jspb$o$frameworks$client$streamz$IncrementBatch$Increment$Field.fromObject;
jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.Value = jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue;
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue, jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Value.fields);
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Value.fields);
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Value.fields);
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue, jspb$b$frameworks$client$streamz$IncrementBatch$Increment$Value.fields);
jspb$frameworks$client$streamz$IncrementBatch$Increment$MutableValue.fromObject = jspb$o$frameworks$client$streamz$IncrementBatch$Increment$Value.fromObject;
var jspb$clearcut$streamz$MutableSlicerMetadata = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$clearcut$streamz$MutableSlicerMetadata, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$clearcut$streamz$MutableSlicerMetadata.prototype.getKey = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 1);
};
jspb$clearcut$streamz$MutableSlicerMetadata.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$clearcut$streamz$MutableSlicerMetadata);
jspb$clearcut$streamz$MutableSlicerMetadata.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$clearcut$streamz$MutableSlicerMetadata);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$clearcut$streamz$MutableSlicerMetadata.internalDoNotUse_debugOnlyProtoTypeName = "clearcut.streamz.SlicerMetadata");
var jspb$b$clearcut$streamz$SlicerMetadata = {};
jspb$b$clearcut$streamz$SlicerMetadata.fields = [0, jspb_internal_binary.RWString, -1];
jspb$clearcut$streamz$MutableSlicerMetadata.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$clearcut$streamz$SlicerMetadata.fields);
var jspb$clearcut$streamz$MutableIncrementRequest = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$clearcut$streamz$MutableIncrementRequest, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$clearcut$streamz$MutableIncrementRequest.prototype.getBatchList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$frameworks$client$streamz$MutableIncrementBatch, 1, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$clearcut$streamz$MutableIncrementRequest.prototype.setBatchList = function(value) {
  return jspb_internal_adapters.setRepeatedWrapperField(this, jspb$frameworks$client$streamz$MutableIncrementBatch, 1, value);
};
jspb$clearcut$streamz$MutableIncrementRequest.prototype.getSlicerMetadata = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$clearcut$streamz$MutableSlicerMetadata, 2);
};
jspb$clearcut$streamz$MutableIncrementRequest.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$clearcut$streamz$MutableIncrementRequest);
jspb$clearcut$streamz$MutableIncrementRequest.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$clearcut$streamz$MutableIncrementRequest);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$clearcut$streamz$MutableIncrementRequest.internalDoNotUse_debugOnlyProtoTypeName = "clearcut.streamz.IncrementRequest");
var jspb$b$clearcut$streamz$IncrementRequest = {};
jspb$b$clearcut$streamz$IncrementRequest.fields = [0, jspb_internal_binary.RWRepeatedMessage, jspb$b$frameworks$client$streamz$IncrementBatch.fields, jspb$b$clearcut$streamz$SlicerMetadata.fields];
jspb$clearcut$streamz$MutableIncrementRequest.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$clearcut$streamz$IncrementRequest.fields);
var jspb$clearcut$streamz$ImmutableIncrementRequest = function() {
};
jspb$clearcut$streamz$ImmutableIncrementRequest.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$clearcut$streamz$MutableIncrementRequest);
jspb$clearcut$streamz$ImmutableIncrementRequest.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$clearcut$streamz$MutableIncrementRequest);
jspb$clearcut$streamz$ImmutableIncrementRequest.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$clearcut$streamz$MutableIncrementRequest);
var jspb$o$clearcut$streamz$SlicerMetadata = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {key:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), logSourceName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2))};
  }
}};
jspb$clearcut$streamz$MutableSlicerMetadata.prototype.toObject = function() {
  return jspb$o$clearcut$streamz$SlicerMetadata.internal_toObject(this);
};
jspb$o$clearcut$streamz$SlicerMetadata.fromObject = function(obj) {
  var msg = new jspb$clearcut$streamz$MutableSlicerMetadata();
  jspb_internal_adapters.setStringField(msg, 1, obj.key);
  jspb_internal_adapters.setStringField(msg, 2, obj.logSourceName);
  return msg;
};
var jspb$o$clearcut$streamz$IncrementRequest = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {batchList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getBatchList(), jspb$o$frameworks$client$streamz$IncrementBatch.internal_toObject), slicerMetadata:jspb$o$clearcut$streamz$SlicerMetadata.internal_toObject(msg.getSlicerMetadata())};
  }
}};
jspb$clearcut$streamz$MutableIncrementRequest.prototype.toObject = function() {
  return jspb$o$clearcut$streamz$IncrementRequest.internal_toObject(this);
};
jspb$o$clearcut$streamz$IncrementRequest.fromObject = function(obj) {
  var msg = new jspb$clearcut$streamz$MutableIncrementRequest();
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$frameworks$client$streamz$MutableIncrementBatch, 1, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.batchList, jspb$o$frameworks$client$streamz$IncrementBatch.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$clearcut$streamz$MutableSlicerMetadata, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.slicerMetadata, jspb$o$clearcut$streamz$SlicerMetadata.fromObject));
  return msg;
};
proto.clearcut = {};
proto.clearcut.streamz = {};
proto.clearcut.streamz.ReadonlyIncrementRequest = {};
proto.clearcut.streamz.IncrementRequest = jspb$clearcut$streamz$MutableIncrementRequest;
jspb$clearcut$streamz$MutableIncrementRequest.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$clearcut$streamz$MutableIncrementRequest, jspb$b$clearcut$streamz$IncrementRequest.fields);
jspb$clearcut$streamz$MutableIncrementRequest.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$clearcut$streamz$IncrementRequest.fields);
jspb$clearcut$streamz$MutableIncrementRequest.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$clearcut$streamz$IncrementRequest.fields);
jspb$clearcut$streamz$MutableIncrementRequest.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$clearcut$streamz$MutableIncrementRequest, jspb$b$clearcut$streamz$IncrementRequest.fields);
jspb$clearcut$streamz$MutableIncrementRequest.fromObject = jspb$o$clearcut$streamz$IncrementRequest.fromObject;
proto.clearcut.streamz.MutableIncrementRequest = jspb$clearcut$streamz$MutableIncrementRequest;
jspb$clearcut$streamz$ImmutableIncrementRequest.serializeBinary = jspb$clearcut$streamz$MutableIncrementRequest.serializeBinary;
jspb$clearcut$streamz$ImmutableIncrementRequest.serializeBinaryToByteString = jspb$clearcut$streamz$MutableIncrementRequest.serializeBinaryToByteString;
jspb$clearcut$streamz$ImmutableIncrementRequest.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$clearcut$streamz$MutableIncrementRequest.deserializeBinary);
jspb$clearcut$streamz$ImmutableIncrementRequest.makeCrossSerializerComparisonsCompatible = jspb$clearcut$streamz$MutableIncrementRequest.makeCrossSerializerComparisonsCompatible;
proto.clearcut.streamz.ImmutableIncrementRequest = jspb$clearcut$streamz$ImmutableIncrementRequest;
var module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder = {}, module$contents$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder_Field = jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.Field, module$contents$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder_Value = jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement.Value;
module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder.ClearcutIncrementRequestBuilder = function() {
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder.ClearcutIncrementRequestBuilder.buildFieldListProto = function(metric, fieldValues) {
  for (var fieldList = [], fieldTypes = metric.getFieldTypes(), i = 0; i < fieldTypes.length; i++) {
    var fieldType = fieldTypes[i], fieldValue = fieldValues[i], field = new module$contents$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder_Field();
    switch(fieldType) {
      case module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType.STRING:
        field.setStrVal(String(fieldValue));
        break;
      case module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType.INT32:
        var value = Number(fieldValue);
        Number.isFinite(value) && field.setIntVal(value);
        break;
      case module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.FieldType.BOOLEAN:
        field.setBoolVal(fieldValue === "true");
    }
    fieldList.push(field);
  }
  return fieldList;
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder.ClearcutIncrementRequestBuilder.buildValueProto = function(metric, fieldValues) {
  for (var cellType = metric.cellType, cells = metric.getCells(fieldValues) || [], valueList = [], i = 0; i < cells.length; i++) {
    var cell = cells[i], cellValue = cell && cell.cellValue, value = new module$contents$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder_Value();
    switch(cellType) {
      case module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType.INT32:
        var numberValue = Number(cellValue);
        Number.isFinite(numberValue) && value.setInt64Val(numberValue);
        break;
      case module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType.DOUBLE:
        value.setDoubleVal(Number(cellValue));
    }
    valueList.push(value);
  }
  return valueList;
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder.ClearcutIncrementRequestBuilder.buildIncrementBatchProto = function(metric) {
  for (var incrementBatch = (new jspb$frameworks$client$streamz$MutableIncrementBatch()).setStreamzName(metric.metricName).setFieldNameList(metric.getFieldNames()), incList = [], fieldValuesList = metric.getFieldValues(), i = 0; i < fieldValuesList.length; i++) {
    for (var fieldValues = fieldValuesList[i], valueList = module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder.ClearcutIncrementRequestBuilder.buildValueProto(metric, fieldValues), j = 0; j < valueList.length; j++) {
      var value = valueList[j], increment = (new jspb$frameworks$client$streamz$IncrementBatch$MutableIncrement()).setIncBy(value), fieldList = module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder.ClearcutIncrementRequestBuilder.buildFieldListProto(metric, fieldValues);
      increment.setFieldList(fieldList);
      incList.push(increment);
    }
  }
  incrementBatch.setIncList(incList);
  return incrementBatch;
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder.ClearcutIncrementRequestBuilder.build = function(genericMetrics) {
  for (var incrementRequest = new jspb$clearcut$streamz$MutableIncrementRequest(), batchList = [], i = 0; i < genericMetrics.length; i++) {
    var metric = genericMetrics[i], incrementBatch = module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder.ClearcutIncrementRequestBuilder.buildIncrementBatchProto(metric);
    batchList.push(incrementBatch);
    metric.clear();
  }
  incrementRequest.setBatchList(batchList);
  return incrementRequest;
};
var gapix = {util:{}};
gapix.util.getOrigin = function(url) {
  if (!url) {
    return "";
  }
  if (/^about:(?:blank|srcdoc)$/.test(url)) {
    return window.origin || "";
  }
  url.indexOf("blob:") === 0 && (url = url.substring(5));
  url = url.split("#")[0].split("?")[0];
  url = url.toLowerCase();
  url.indexOf("//") == 0 && (url = window.location.protocol + url);
  /^[\w\-]*:\/\//.test(url) || (url = window.location.href);
  var host = url.substring(url.indexOf("://") + 3), slashPos = host.indexOf("/");
  slashPos != -1 && (host = host.substring(0, slashPos));
  var protocol = url.substring(0, url.indexOf("://"));
  if (!protocol) {
    throw Error("URI is missing protocol: " + url);
  }
  if (protocol !== "http" && protocol !== "https" && protocol !== "chrome-extension" && protocol !== "moz-extension" && protocol !== "file" && protocol !== "android-app" && protocol !== "chrome-search" && protocol !== "chrome-untrusted" && protocol !== "chrome" && protocol !== "app" && protocol !== "devtools") {
    throw Error("Invalid URI scheme in origin: " + protocol);
  }
  var portStr = "", portPos = host.indexOf(":");
  if (portPos != -1) {
    var port = host.substring(portPos + 1);
    host = host.substring(0, portPos);
    if (protocol === "http" && port !== "80" || protocol === "https" && port !== "443") {
      portStr = ":" + port;
    }
  }
  return protocol + "://" + host + portStr;
};
gapix.crypto = {};
function module$contents$gapix$crypto$sha1_sha1() {
  function reset() {
    chain[0] = 1732584193;
    chain[1] = 4023233417;
    chain[2] = 2562383102;
    chain[3] = 271733878;
    chain[4] = 3285377520;
    total = inbuf = 0;
  }
  function compress(buf) {
    for (var W = WInternal, i = 0; i < 64; i += 4) {
      W[i / 4] = buf[i] << 24 | buf[i + 1] << 16 | buf[i + 2] << 8 | buf[i + 3];
    }
    for (i = 16; i < 80; i++) {
      var w = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
      W[i] = (w << 1 | w >>> 31) & 4294967295;
    }
    var a = chain[0], b = chain[1], c = chain[2], d = chain[3], e = chain[4];
    for (i = 0; i < 80; i++) {
      if (i < 40) {
        if (i < 20) {
          var f = d ^ b & (c ^ d);
          var k = 1518500249;
        } else {
          f = b ^ c ^ d, k = 1859775393;
        }
      } else {
        i < 60 ? (f = b & c | d & (b | c), k = 2400959708) : (f = b ^ c ^ d, k = 3395469782);
      }
      var t = ((a << 5 | a >>> 27) & 4294967295) + f + e + k + W[i] & 4294967295;
      e = d;
      d = c;
      c = (b << 30 | b >>> 2) & 4294967295;
      b = a;
      a = t;
    }
    chain[0] = chain[0] + a & 4294967295;
    chain[1] = chain[1] + b & 4294967295;
    chain[2] = chain[2] + c & 4294967295;
    chain[3] = chain[3] + d & 4294967295;
    chain[4] = chain[4] + e & 4294967295;
  }
  function update(bytes, opt_length) {
    if (typeof bytes === "string") {
      bytes = unescape(encodeURIComponent(bytes));
      for (var byteArray = [], i = 0, maxi = bytes.length; i < maxi; ++i) {
        byteArray.push(bytes.charCodeAt(i));
      }
      bytes = byteArray;
    }
    opt_length || (opt_length = bytes.length);
    var n = 0;
    if (inbuf == 0) {
      for (; n + 64 < opt_length;) {
        compress(bytes.slice(n, n + 64)), n += 64, total += 64;
      }
    }
    for (; n < opt_length;) {
      if (bufInternal[inbuf++] = bytes[n++], total++, inbuf == 64) {
        for (inbuf = 0, compress(bufInternal); n + 64 < opt_length;) {
          compress(bytes.slice(n, n + 64)), n += 64, total += 64;
        }
      }
    }
  }
  function digest() {
    var digest = [], totalBits = total * 8;
    inbuf < 56 ? update(pad, 56 - inbuf) : update(pad, 64 - (inbuf - 56));
    for (var i = 63; i >= 56; i--) {
      bufInternal[i] = totalBits & 255, totalBits >>>= 8;
    }
    compress(bufInternal);
    var n = 0;
    for (i = 0; i < 5; i++) {
      for (var j = 24; j >= 0; j -= 8) {
        digest[n++] = chain[i] >> j & 255;
      }
    }
    return digest;
  }
  for (var chain = [], bufInternal = [], WInternal = [], pad = [128], i = 1; i < 64; ++i) {
    pad[i] = 0;
  }
  var inbuf, total;
  reset();
  return {reset:reset, update:update, digest:digest, digestString:function() {
    for (var arr = digest(), hash = "", i = 0; i < arr.length; i++) {
      hash += "0123456789ABCDEF".charAt(Math.floor(arr[i] / 16)) + "0123456789ABCDEF".charAt(arr[i] % 16);
    }
    return hash;
  }};
}
gapix.crypto.sha1 = module$contents$gapix$crypto$sha1_sha1;
gapix.auth_firstparty = {};
gapix.auth_firstparty.tokencrafter = {};
gapix.auth_firstparty.tokencrafter.createAuthHeaderValueForFirstParty = function(location, apiSessionCookieValue, authScheme, opt_userIdentifiers, opt_extraFields) {
  return location && apiSessionCookieValue && authScheme ? [authScheme, gapix.auth_firstparty.tokencrafter.getFirstPartyAuthToken_(gapix.util.getOrigin(location), apiSessionCookieValue, opt_userIdentifiers || null, opt_extraFields || [])].join(" ") : null;
};
gapix.auth_firstparty.tokencrafter.getFirstPartyAuthToken_ = function(origin, sessionCookie, userIdentifiers, extraFields) {
  var sha1Parts = [];
  if ((Array.isArray(userIdentifiers) ? 2 : 1) == 1) {
    return sha1Parts = [sessionCookie, origin], module$contents$goog$array_forEach(extraFields, function(element) {
      sha1Parts.push(element);
    }), gapix.auth_firstparty.tokencrafter.computeSha1_(sha1Parts.join(" "));
  }
  var identifiers = [], suffix = [];
  module$contents$goog$array_forEach(userIdentifiers, function(element) {
    suffix.push(element.key);
    identifiers.push(element.value);
  });
  var timestamp = Math.floor((new Date()).getTime() / 1E3);
  sha1Parts = module$contents$goog$array_isEmpty(identifiers) ? [timestamp, sessionCookie, origin] : [identifiers.join(":"), timestamp, sessionCookie, origin];
  module$contents$goog$array_forEach(extraFields, function(element) {
    sha1Parts.push(element);
  });
  var sha1 = gapix.auth_firstparty.tokencrafter.computeSha1_(sha1Parts.join(" ")), tokenParts = [timestamp, sha1];
  module$contents$goog$array_isEmpty(suffix) || tokenParts.push(suffix.join(""));
  return tokenParts.join("_");
};
gapix.auth_firstparty.tokencrafter.computeVersionInfoDigest = function(opt_versionInfos, opt_sessionCookie) {
  if (!opt_versionInfos) {
    return null;
  }
  var versionInfoDigestParts = [opt_versionInfos];
  opt_sessionCookie && versionInfoDigestParts.push(opt_sessionCookie);
  return gapix.auth_firstparty.tokencrafter.computeSha1_(versionInfoDigestParts.join(" ")).substr(0, 4);
};
gapix.auth_firstparty.tokencrafter.computeSha1_ = function(toHash) {
  var sha1 = module$contents$gapix$crypto$sha1_sha1();
  sha1.update(toHash);
  return sha1.digestString().toLowerCase();
};
/*

 Copyright Google LLC
 SPDX-License-Identifier: Apache-2.0
*/
function module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(valueOf) {
  return {valueOf:valueOf}.valueOf();
}
;var module$exports$google3$third_party$javascript$safevalues$internals$secrets = {secretToken:{}};
function module$contents$google3$third_party$javascript$safevalues$internals$secrets_ensureTokenIsValid(token) {
  if (goog.DEBUG && token !== module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken) {
    throw Error("Bad secret");
  }
}
module$exports$google3$third_party$javascript$safevalues$internals$secrets.ensureTokenIsValid = module$contents$google3$third_party$javascript$safevalues$internals$secrets_ensureTokenIsValid;
var module$exports$google3$third_party$javascript$safevalues$internals$trusted_types = {}, module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_configuredPolicyName = goog.TRUSTED_TYPES_POLICY_NAME ? goog.TRUSTED_TYPES_POLICY_NAME + "#html" : "", module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_policyName = module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_configuredPolicyName;
module$exports$google3$third_party$javascript$safevalues$internals$trusted_types.trustedTypes = globalThis.trustedTypes;
var module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_trustedTypesInternal = module$exports$google3$third_party$javascript$safevalues$internals$trusted_types.trustedTypes, module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_policy;
function module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_createPolicy() {
  var policy = null;
  if (module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_policyName === "" || !module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_trustedTypesInternal) {
    return policy;
  }
  try {
    var identity = function(x) {
      return x;
    };
    policy = module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_trustedTypesInternal.createPolicy(module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_policyName, {createHTML:identity, createScript:identity, createScriptURL:identity});
  } catch (e) {
    if (goog.DEBUG) {
      throw e;
    }
  }
  return policy;
}
function module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_getPolicy() {
  module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_policy === void 0 && (module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_policy = module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_createPolicy());
  return module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_policy;
}
module$exports$google3$third_party$javascript$safevalues$internals$trusted_types.getPolicy = module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_getPolicy;
module$exports$google3$third_party$javascript$safevalues$internals$trusted_types.TEST_ONLY = {setPolicyName:function(name) {
  module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_policyName = name;
}, setTrustedTypes:function(mockTrustedTypes) {
  module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_trustedTypesInternal = mockTrustedTypes;
}, resetDefaults:function() {
  module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_policy = void 0;
  module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_policyName = module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_configuredPolicyName;
  module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_trustedTypesInternal = module$exports$google3$third_party$javascript$safevalues$internals$trusted_types.trustedTypes;
}};
var module$exports$google3$third_party$javascript$safevalues$internals$resource_url_impl = {TrustedResourceUrl:function(token, value) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$secrets_ensureTokenIsValid(token);
  this.privateDoNotAccessOrElseWrappedResourceUrl = value;
}};
module$exports$google3$third_party$javascript$safevalues$internals$resource_url_impl.TrustedResourceUrl.prototype.toString = function() {
  return this.privateDoNotAccessOrElseWrappedResourceUrl + "";
};
function module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_createResourceUrlInternal(value) {
  var noinlineValue = value, policy = module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_getPolicy();
  return new module$exports$google3$third_party$javascript$safevalues$internals$resource_url_impl.TrustedResourceUrl(module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken, policy ? policy.createScriptURL(noinlineValue) : noinlineValue);
}
module$exports$google3$third_party$javascript$safevalues$internals$resource_url_impl.createResourceUrlInternal = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_createResourceUrlInternal;
function module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_isResourceUrl(value) {
  return value instanceof module$exports$google3$third_party$javascript$safevalues$internals$resource_url_impl.TrustedResourceUrl;
}
module$exports$google3$third_party$javascript$safevalues$internals$resource_url_impl.isResourceUrl = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_isResourceUrl;
function module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(value) {
  if (module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_isResourceUrl(value)) {
    return value.privateDoNotAccessOrElseWrappedResourceUrl;
  }
  var message = "";
  goog.DEBUG && (message = "Unexpected type when unwrapping TrustedResourceUrl");
  throw Error(message);
}
module$exports$google3$third_party$javascript$safevalues$internals$resource_url_impl.unwrapResourceUrl = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl;
var $jscomp$templatelit$1274514361$5 = $jscomp.createTemplateTagFirstArg([""]), $jscomp$templatelit$1274514361$6 = $jscomp.createTemplateTagFirstArgWithRaw(["\x00"], ["\\0"]), $jscomp$templatelit$1274514361$7 = $jscomp.createTemplateTagFirstArgWithRaw(["\n"], ["\\n"]), $jscomp$templatelit$1274514361$8 = $jscomp.createTemplateTagFirstArgWithRaw(["\x00"], ["\\u0000"]), $jscomp$templatelit$1274514361$9 = $jscomp.createTemplateTagFirstArg([""]), $jscomp$templatelit$1274514361$10 = $jscomp.createTemplateTagFirstArgWithRaw(["\x00"], 
["\\0"]), $jscomp$templatelit$1274514361$11 = $jscomp.createTemplateTagFirstArgWithRaw(["\n"], ["\\n"]), $jscomp$templatelit$1274514361$12 = $jscomp.createTemplateTagFirstArgWithRaw(["\x00"], ["\\u0000"]);
function module$contents$google3$third_party$javascript$safevalues$internals$string_literal_assertIsTemplateObject(templateObj, numExprs) {
  if (!Array.isArray(templateObj) || !Array.isArray(templateObj.raw) || templateObj.length !== templateObj.raw.length || !module$contents$google3$third_party$javascript$safevalues$internals$string_literal_isTranspiled && templateObj === templateObj.raw || !(module$contents$google3$third_party$javascript$safevalues$internals$string_literal_isTranspiled && !module$contents$google3$third_party$javascript$safevalues$internals$string_literal_frozenTSA || module$contents$google3$third_party$javascript$safevalues$internals$string_literal_checkFrozen(templateObj)) || 
  numExprs + 1 !== templateObj.length) {
    throw new TypeError("\n    ############################## ERROR ##############################\n\n    It looks like you are trying to call a template tag function (fn`...`)\n    using the normal function syntax (fn(...)), which is not supported.\n\n    The functions in the safevalues library are not designed to be called\n    like normal functions, and doing so invalidates the security guarantees\n    that safevalues provides.\n\n    If you are stuck and not sure how to proceed, please reach out to us\n    instead through:\n     - go/ise-hardening-yaqs (preferred) // LINE-INTERNAL\n     - g/ise-hardening // LINE-INTERNAL\n     - https://github.com/google/safevalues/issues\n\n    ############################## ERROR ##############################");
  }
}
function module$contents$google3$third_party$javascript$safevalues$internals$string_literal_checkFrozen(templateObj) {
  return Object.isFrozen(templateObj) && Object.isFrozen(templateObj.raw);
}
function module$contents$google3$third_party$javascript$safevalues$internals$string_literal_checkTranspiled(fn) {
  return fn.toString().indexOf("`") === -1;
}
var module$contents$google3$third_party$javascript$safevalues$internals$string_literal_isTranspiled = module$contents$google3$third_party$javascript$safevalues$internals$string_literal_checkTranspiled(function(tag) {
  return tag($jscomp$templatelit$1274514361$5);
}) || module$contents$google3$third_party$javascript$safevalues$internals$string_literal_checkTranspiled(function(tag) {
  return tag($jscomp$templatelit$1274514361$6);
}) || module$contents$google3$third_party$javascript$safevalues$internals$string_literal_checkTranspiled(function(tag) {
  return tag($jscomp$templatelit$1274514361$7);
}) || module$contents$google3$third_party$javascript$safevalues$internals$string_literal_checkTranspiled(function(tag) {
  return tag($jscomp$templatelit$1274514361$8);
}), module$contents$google3$third_party$javascript$safevalues$internals$string_literal_frozenTSA = module$contents$google3$third_party$javascript$safevalues$internals$string_literal_checkFrozen($jscomp$templatelit$1274514361$9) && module$contents$google3$third_party$javascript$safevalues$internals$string_literal_checkFrozen($jscomp$templatelit$1274514361$10) && module$contents$google3$third_party$javascript$safevalues$internals$string_literal_checkFrozen($jscomp$templatelit$1274514361$11) && module$contents$google3$third_party$javascript$safevalues$internals$string_literal_checkFrozen($jscomp$templatelit$1274514361$12);
var module$exports$google3$third_party$javascript$safevalues$internals$url_impl = {SafeUrl:function(token, value) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$secrets_ensureTokenIsValid(token);
  this.privateDoNotAccessOrElseWrappedUrl = value;
}};
module$exports$google3$third_party$javascript$safevalues$internals$url_impl.SafeUrl.prototype.toString = function() {
  return this.privateDoNotAccessOrElseWrappedUrl;
};
function module$contents$google3$third_party$javascript$safevalues$internals$url_impl_createUrlInternal(value) {
  return new module$exports$google3$third_party$javascript$safevalues$internals$url_impl.SafeUrl(module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken, value);
}
module$exports$google3$third_party$javascript$safevalues$internals$url_impl.createUrlInternal = module$contents$google3$third_party$javascript$safevalues$internals$url_impl_createUrlInternal;
module$exports$google3$third_party$javascript$safevalues$internals$url_impl.ABOUT_BLANK = module$contents$google3$third_party$javascript$safevalues$internals$url_impl_createUrlInternal("about:blank");
module$exports$google3$third_party$javascript$safevalues$internals$url_impl.INNOCUOUS_URL = module$contents$google3$third_party$javascript$safevalues$internals$url_impl_createUrlInternal("about:invalid#zClosurez");
function module$contents$google3$third_party$javascript$safevalues$internals$url_impl_isUrl(value) {
  return value instanceof module$exports$google3$third_party$javascript$safevalues$internals$url_impl.SafeUrl;
}
module$exports$google3$third_party$javascript$safevalues$internals$url_impl.isUrl = module$contents$google3$third_party$javascript$safevalues$internals$url_impl_isUrl;
function module$contents$google3$third_party$javascript$safevalues$internals$url_impl_unwrapUrl(value) {
  if (module$contents$google3$third_party$javascript$safevalues$internals$url_impl_isUrl(value)) {
    return value.privateDoNotAccessOrElseWrappedUrl;
  }
  var message = "";
  goog.DEBUG && (message = "Unexpected type when unwrapping SafeUrl, got '" + value + "' of type '" + typeof value + "'");
  throw Error(message);
}
module$exports$google3$third_party$javascript$safevalues$internals$url_impl.unwrapUrl = module$contents$google3$third_party$javascript$safevalues$internals$url_impl_unwrapUrl;
var module$exports$google3$third_party$javascript$safevalues$builders$url_builders = {Scheme:function() {
}}, module$contents$google3$third_party$javascript$safevalues$builders$url_builders_SchemeImpl = function(isValid) {
  this.isValid = isValid;
};
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme(scheme) {
  return new module$contents$google3$third_party$javascript$safevalues$builders$url_builders_SchemeImpl(function(url) {
    return url.substr(0, scheme.length + 1).toLowerCase() === scheme + ":";
  });
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.SanitizableUrlScheme = {TEL:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("tel"), CALLTO:new module$contents$google3$third_party$javascript$safevalues$builders$url_builders_SchemeImpl(function(url) {
  return /^callto:\+?\d*$/i.test(url);
}), SSH:new module$contents$google3$third_party$javascript$safevalues$builders$url_builders_SchemeImpl(function(url) {
  return url.indexOf("ssh://") === 0;
}), RTSP:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("rtsp"), DATA:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("data"), HTTP:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("http"), HTTPS:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("https"), EXTENSION:new module$contents$google3$third_party$javascript$safevalues$builders$url_builders_SchemeImpl(function(url) {
  return url.indexOf("chrome-extension://") === 0 || url.indexOf("moz-extension://") === 0 || url.indexOf("ms-browser-extension://") === 0;
}), FTP:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("ftp"), RELATIVE:new module$contents$google3$third_party$javascript$safevalues$builders$url_builders_SchemeImpl(function(url) {
  return /^[^:]*([/?#]|$)/.test(url);
}), MAILTO:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("mailto"), INTENT:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("intent"), MARKET:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("market"), ITMS:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("itms"), ITMS_APPSS:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("itms-appss"), 
ITMS_SERVICES:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("itms-services"), FACEBOOK_MESSENGER:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("fb-messenger"), WHATSAPP:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("whatsapp"), SIP:new module$contents$google3$third_party$javascript$safevalues$builders$url_builders_SchemeImpl(function(url) {
  return url.indexOf("sip:") === 0 || url.indexOf("sips:") === 0;
}), SMS:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("sms"), VND_YOUTUBE:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("vnd.youtube"), GOOGLEHOME:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("googlehome"), GOOGLEHOMESDK:module$contents$google3$third_party$javascript$safevalues$builders$url_builders_simpleScheme("googlehomesdk")};
var module$contents$google3$third_party$javascript$safevalues$builders$url_builders_DEFAULT_SCHEMES = [module$exports$google3$third_party$javascript$safevalues$builders$url_builders.SanitizableUrlScheme.DATA, module$exports$google3$third_party$javascript$safevalues$builders$url_builders.SanitizableUrlScheme.HTTP, module$exports$google3$third_party$javascript$safevalues$builders$url_builders.SanitizableUrlScheme.HTTPS, module$exports$google3$third_party$javascript$safevalues$builders$url_builders.SanitizableUrlScheme.MAILTO, 
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.SanitizableUrlScheme.FTP, module$exports$google3$third_party$javascript$safevalues$builders$url_builders.SanitizableUrlScheme.RELATIVE];
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_trySanitizeUrl(url, allowedSchemes) {
  allowedSchemes = allowedSchemes === void 0 ? module$contents$google3$third_party$javascript$safevalues$builders$url_builders_DEFAULT_SCHEMES : allowedSchemes;
  if (module$contents$google3$third_party$javascript$safevalues$internals$url_impl_isUrl(url)) {
    return url;
  }
  for (var i = 0; i < allowedSchemes.length; ++i) {
    var scheme = allowedSchemes[i];
    if (scheme instanceof module$contents$google3$third_party$javascript$safevalues$builders$url_builders_SchemeImpl && scheme.isValid(url)) {
      return module$contents$google3$third_party$javascript$safevalues$internals$url_impl_createUrlInternal(url);
    }
  }
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.trySanitizeUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_trySanitizeUrl;
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeUrl(url, allowedSchemes) {
  allowedSchemes = allowedSchemes === void 0 ? module$contents$google3$third_party$javascript$safevalues$builders$url_builders_DEFAULT_SCHEMES : allowedSchemes;
  var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_trySanitizeUrl(url, allowedSchemes);
  sanitizedUrl === void 0 && module$contents$google3$third_party$javascript$safevalues$builders$url_builders_triggerCallbacks(url.toString());
  return sanitizedUrl || module$exports$google3$third_party$javascript$safevalues$internals$url_impl.INNOCUOUS_URL;
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.sanitizeUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeUrl;
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_objectUrlFromSafeSource(source) {
  if (typeof MediaSource !== "undefined" && source instanceof MediaSource) {
    return module$contents$google3$third_party$javascript$safevalues$internals$url_impl_createUrlInternal(URL.createObjectURL(source));
  }
  var match = source.type.match(/^([^;]+)(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i);
  if ((match == null ? void 0 : match.length) !== 2 || !(/^image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon|heic|heif|avif|x-ms-bmp)$/i.test(match[1]) || /^video\/(?:mpeg|mp4|ogg|webm|x-matroska|quicktime|x-ms-wmv)$/i.test(match[1]) || /^audio\/(?:3gpp2|3gpp|aac|amr|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)$/i.test(match[1]) || /^font\/[\w-]+$/i.test(match[1]))) {
    var message = "";
    goog.DEBUG && (message = "unsafe blob MIME type: " + source.type);
    throw Error(message);
  }
  return module$contents$google3$third_party$javascript$safevalues$internals$url_impl_createUrlInternal(URL.createObjectURL(source));
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.objectUrlFromSafeSource = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_objectUrlFromSafeSource;
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_fromMediaSource(media) {
  if (typeof MediaSource !== "undefined" && media instanceof MediaSource) {
    return module$contents$google3$third_party$javascript$safevalues$internals$url_impl_createUrlInternal(URL.createObjectURL(media));
  }
  var message = "";
  goog.DEBUG && (message = "fromMediaSource only accepts MediaSource instances, but was called with " + media + ".");
  throw Error(message);
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.fromMediaSource = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_fromMediaSource;
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_fromTrustedResourceUrl(url) {
  return module$contents$google3$third_party$javascript$safevalues$internals$url_impl_createUrlInternal(module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(url).toString());
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.fromTrustedResourceUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_fromTrustedResourceUrl;
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_safeUrl(templateObj) {
  var rest = $jscomp.getRestArguments.apply(1, arguments);
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$string_literal_assertIsTemplateObject(templateObj, rest.length);
  var prefix = templateObj[0], JSCompiler_temp;
  if (JSCompiler_temp = goog.DEBUG) {
    var isWholeUrl = rest.length === 0, markerIdx = prefix.search(/[:/?#]/);
    if (markerIdx < 0) {
      var JSCompiler_inline_result = isWholeUrl;
    } else {
      if (prefix.charAt(markerIdx) !== ":") {
        JSCompiler_inline_result = !0;
      } else {
        var scheme = prefix.substring(0, markerIdx).toLowerCase();
        JSCompiler_inline_result = /^[a-z][a-z\d+.-]*$/.test(scheme) && scheme !== "javascript";
      }
    }
    JSCompiler_temp = !JSCompiler_inline_result;
  }
  if (JSCompiler_temp) {
    throw Error("Trying to interpolate with unsupported prefix: " + prefix);
  }
  for (var urlParts = [prefix], i = 0; i < rest.length; i++) {
    urlParts.push(String(rest[i])), urlParts.push(templateObj[i + 1]);
  }
  return module$contents$google3$third_party$javascript$safevalues$internals$url_impl_createUrlInternal(urlParts.join(""));
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.safeUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_safeUrl;
var module$contents$google3$third_party$javascript$safevalues$builders$url_builders_ASSUME_IMPLEMENTS_URL_API = goog.FEATURESET_YEAR >= 2020, module$contents$google3$third_party$javascript$safevalues$builders$url_builders_supportsURLAPI = module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return module$contents$google3$third_party$javascript$safevalues$builders$url_builders_ASSUME_IMPLEMENTS_URL_API ? !0 : typeof URL === "function";
});
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_extractScheme(url) {
  if (!module$contents$google3$third_party$javascript$safevalues$builders$url_builders_supportsURLAPI) {
    a: {
      var aTag = document.createElement("a");
      try {
        aTag.href = url;
      } catch (e) {
        var JSCompiler_inline_result = void 0;
        break a;
      }
      var protocol = aTag.protocol;
      JSCompiler_inline_result = protocol === ":" || protocol === "" ? "https:" : protocol;
    }
    return JSCompiler_inline_result;
  }
  try {
    var parsedUrl = new URL(url);
  } catch (e) {
    return "https:";
  }
  return parsedUrl.protocol;
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.extractScheme = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_extractScheme;
var module$contents$google3$third_party$javascript$safevalues$builders$url_builders_ALLOWED_SCHEMES = ["data:", "http:", "https:", "mailto:", "ftp:"];
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.IS_NOT_JAVASCRIPT_URL_PATTERN = /^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i;
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_reportJavaScriptUrl(url) {
  var hasJavascriptUrlScheme = !module$exports$google3$third_party$javascript$safevalues$builders$url_builders.IS_NOT_JAVASCRIPT_URL_PATTERN.test(url);
  hasJavascriptUrlScheme && module$contents$google3$third_party$javascript$safevalues$builders$url_builders_triggerCallbacks(url);
  return hasJavascriptUrlScheme;
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.reportJavaScriptUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_reportJavaScriptUrl;
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeJavaScriptUrl(url) {
  if (!module$contents$google3$third_party$javascript$safevalues$builders$url_builders_reportJavaScriptUrl(url)) {
    return url;
  }
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.sanitizeJavaScriptUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeJavaScriptUrl;
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeUrlForMigration(url) {
  var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeJavaScriptUrl(url);
  return sanitizedUrl === void 0 ? module$exports$google3$third_party$javascript$safevalues$internals$url_impl.INNOCUOUS_URL : module$contents$google3$third_party$javascript$safevalues$internals$url_impl_createUrlInternal(sanitizedUrl);
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.sanitizeUrlForMigration = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeUrlForMigration;
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(url) {
  return url instanceof module$exports$google3$third_party$javascript$safevalues$internals$url_impl.SafeUrl ? module$contents$google3$third_party$javascript$safevalues$internals$url_impl_unwrapUrl(url) : module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeJavaScriptUrl(url);
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.unwrapUrlOrSanitize = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize;
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_restrictivelySanitizeUrl(url) {
  var parsedScheme = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_extractScheme(url);
  return parsedScheme !== void 0 && module$contents$google3$third_party$javascript$safevalues$builders$url_builders_ALLOWED_SCHEMES.indexOf(parsedScheme.toLowerCase()) !== -1 ? url : "about:invalid#zClosurez";
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.restrictivelySanitizeUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_restrictivelySanitizeUrl;
var module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizationCallbacks = [], module$contents$google3$third_party$javascript$safevalues$builders$url_builders_triggerCallbacks = function() {
};
goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$builders$url_builders_addJavaScriptUrlSanitizationCallback(function(url) {
  console.warn("A URL with content '" + url + "' was sanitized away.");
});
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_addJavaScriptUrlSanitizationCallback(callback) {
  module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizationCallbacks.indexOf(callback) === -1 && module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizationCallbacks.push(callback);
  module$contents$google3$third_party$javascript$safevalues$builders$url_builders_triggerCallbacks = function(url) {
    module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizationCallbacks.forEach(function(callback) {
      callback(url);
    });
  };
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.addJavaScriptUrlSanitizationCallback = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_addJavaScriptUrlSanitizationCallback;
function module$contents$google3$third_party$javascript$safevalues$builders$url_builders_removeJavaScriptUrlSanitizationCallback(callback) {
  var callbackIndex = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizationCallbacks.indexOf(callback);
  callbackIndex !== -1 && module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizationCallbacks.splice(callbackIndex, 1);
}
module$exports$google3$third_party$javascript$safevalues$builders$url_builders.removeJavaScriptUrlSanitizationCallback = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_removeJavaScriptUrlSanitizationCallback;
var module$exports$google3$third_party$javascript$safevalues$dom$elements$anchor = {setHref:function(anchor, url) {
  var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(url);
  sanitizedUrl !== void 0 && (anchor.href = sanitizedUrl);
}, setHrefLite:function(anchor, url) {
  module$contents$google3$third_party$javascript$safevalues$builders$url_builders_reportJavaScriptUrl(url) || (anchor.href = url);
}};
function module$contents$google3$third_party$javascript$safevalues$dom$elements$area_setHref(area, url) {
  var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(url);
  sanitizedUrl !== void 0 && (area.href = sanitizedUrl);
}
;function module$contents$google3$third_party$javascript$safevalues$dom$elements$base_setHref(baseEl, url) {
  baseEl.href = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(url);
}
;var module$exports$google3$third_party$javascript$safevalues$dom$elements$button = {setFormaction:function(button, url) {
  var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(url);
  sanitizedUrl !== void 0 && (button.formAction = sanitizedUrl);
}};
var module$exports$google3$third_party$javascript$safevalues$internals$attribute_impl = {SafeAttributePrefix:function(token, value) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$secrets_ensureTokenIsValid(token);
  this.privateDoNotAccessOrElseWrappedAttributePrefix = value;
}};
module$exports$google3$third_party$javascript$safevalues$internals$attribute_impl.SafeAttributePrefix.prototype.toString = function() {
  return this.privateDoNotAccessOrElseWrappedAttributePrefix;
};
function module$contents$google3$third_party$javascript$safevalues$internals$attribute_impl_createAttributePrefixInternal(value) {
  return new module$exports$google3$third_party$javascript$safevalues$internals$attribute_impl.SafeAttributePrefix(module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken, value);
}
module$exports$google3$third_party$javascript$safevalues$internals$attribute_impl.createAttributePrefixInternal = module$contents$google3$third_party$javascript$safevalues$internals$attribute_impl_createAttributePrefixInternal;
function module$contents$google3$third_party$javascript$safevalues$internals$attribute_impl_isAttributePrefix(value) {
  return value instanceof module$exports$google3$third_party$javascript$safevalues$internals$attribute_impl.SafeAttributePrefix;
}
module$exports$google3$third_party$javascript$safevalues$internals$attribute_impl.isAttributePrefix = module$contents$google3$third_party$javascript$safevalues$internals$attribute_impl_isAttributePrefix;
function module$contents$google3$third_party$javascript$safevalues$internals$attribute_impl_unwrapAttributePrefix(value) {
  if (module$contents$google3$third_party$javascript$safevalues$internals$attribute_impl_isAttributePrefix(value)) {
    return value.privateDoNotAccessOrElseWrappedAttributePrefix;
  }
  var message = "";
  goog.DEBUG && (message = "Unexpected type when unwrapping SafeAttributePrefix, got '" + value + "' of type '" + typeof value + "'");
  throw Error(message);
}
module$exports$google3$third_party$javascript$safevalues$internals$attribute_impl.unwrapAttributePrefix = module$contents$google3$third_party$javascript$safevalues$internals$attribute_impl_unwrapAttributePrefix;
var module$exports$google3$third_party$javascript$safevalues$internals$html_impl = {SafeHtml:function(token, value) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$secrets_ensureTokenIsValid(token);
  this.privateDoNotAccessOrElseWrappedHtml = value;
}};
module$exports$google3$third_party$javascript$safevalues$internals$html_impl.SafeHtml.prototype.toString = function() {
  return this.privateDoNotAccessOrElseWrappedHtml + "";
};
module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal = function(value) {
  var noinlineValue = value, policy = module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_getPolicy();
  return new module$exports$google3$third_party$javascript$safevalues$internals$html_impl.SafeHtml(module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken, policy ? policy.createHTML(noinlineValue) : noinlineValue);
};
module$exports$google3$third_party$javascript$safevalues$internals$html_impl.EMPTY_HTML = module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return new module$exports$google3$third_party$javascript$safevalues$internals$html_impl.SafeHtml(module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken, module$exports$google3$third_party$javascript$safevalues$internals$trusted_types.trustedTypes ? module$exports$google3$third_party$javascript$safevalues$internals$trusted_types.trustedTypes.emptyHTML : "");
});
function module$contents$google3$third_party$javascript$safevalues$internals$html_impl_isHtml(value) {
  return value instanceof module$exports$google3$third_party$javascript$safevalues$internals$html_impl.SafeHtml;
}
module$exports$google3$third_party$javascript$safevalues$internals$html_impl.isHtml = module$contents$google3$third_party$javascript$safevalues$internals$html_impl_isHtml;
module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml = function(value) {
  if (module$contents$google3$third_party$javascript$safevalues$internals$html_impl_isHtml(value)) {
    return value.privateDoNotAccessOrElseWrappedHtml;
  }
  var message = "";
  goog.DEBUG && (message = "Unexpected type when unwrapping SafeHtml");
  throw Error(message);
};
var module$exports$google3$third_party$javascript$safevalues$dom$elements$element = {setInnerHtml:function(elOrRoot, v) {
  elOrRoot.nodeType === 1 && module$contents$google3$third_party$javascript$safevalues$dom$elements$element_throwIfScriptOrStyle(elOrRoot);
  elOrRoot.innerHTML = (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)(v);
}, setOuterHtml:function(e, v) {
  var parent = e.parentElement;
  parent !== null && module$contents$google3$third_party$javascript$safevalues$dom$elements$element_throwIfScriptOrStyle(parent);
  e.outerHTML = (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)(v);
}, setCssText:function(e, v) {
  e.style.cssText = v;
}, insertAdjacentHtml:function(element, position, v) {
  var tagContext = position === "beforebegin" || position === "afterend" ? element.parentElement : element;
  tagContext !== null && module$contents$google3$third_party$javascript$safevalues$dom$elements$element_throwIfScriptOrStyle(tagContext);
  element.insertAdjacentHTML(position, (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)(v));
}, buildPrefixedAttributeSetter:function(prefix) {
  var prefixes = [prefix].concat((0,$jscomp.arrayFromIterable)($jscomp.getRestArguments.apply(1, arguments)));
  return function(e, attr, value) {
    module$contents$google3$third_party$javascript$safevalues$dom$elements$element_setPrefixedAttribute(prefixes, e, attr, value);
  };
}};
function module$contents$google3$third_party$javascript$safevalues$dom$elements$element_setPrefixedAttribute(attrPrefixes, e, attr, value) {
  if (attrPrefixes.length === 0) {
    var message = "";
    goog.DEBUG && (message = "No prefixes are provided");
    throw Error(message);
  }
  var prefixes = attrPrefixes.map(function(s) {
    return module$contents$google3$third_party$javascript$safevalues$internals$attribute_impl_unwrapAttributePrefix(s);
  }), attrLower = attr.toLowerCase();
  if (prefixes.every(function(p) {
    return attrLower.indexOf(p) !== 0;
  })) {
    throw Error('Attribute "' + attr + '" does not match any of the allowed prefixes.');
  }
  e.setAttribute(attr, value);
}
module$exports$google3$third_party$javascript$safevalues$dom$elements$element.setPrefixedAttribute = module$contents$google3$third_party$javascript$safevalues$dom$elements$element_setPrefixedAttribute;
function module$contents$google3$third_party$javascript$safevalues$dom$elements$element_throwIfScriptOrStyle(element) {
  var message = "", tagName = element.tagName;
  if (/^(script|style)$/i.test(tagName)) {
    throw goog.DEBUG && (message = tagName.toLowerCase() === "script" ? "Use safeScriptEl.setTextContent with a SafeScript." : "Use safeStyleEl.setTextContent with a SafeStyleSheet."), Error(message);
  }
}
;function module$contents$google3$third_party$javascript$safevalues$dom$elements$embed_setSrc(embedEl, url) {
  embedEl.src = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(url);
}
;var module$exports$google3$third_party$javascript$safevalues$dom$elements$form = {setAction:function(form, url) {
  var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(url);
  sanitizedUrl !== void 0 && (form.action = sanitizedUrl);
}, setActionLite:function(form, url) {
  module$contents$google3$third_party$javascript$safevalues$builders$url_builders_reportJavaScriptUrl(url) || (form.action = url);
}};
var module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe = {};
function module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSrc(iframe, v) {
  iframe.src = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(v).toString();
}
module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.setSrc = module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSrc;
function module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSrcdoc(iframe, v) {
  iframe.srcdoc = (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)(v);
}
module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.setSrcdoc = module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSrcdoc;
module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent = {FORMATTED_HTML_CONTENT:0, EMBEDDED_INTERNAL_CONTENT:1, EMBEDDED_TRUSTED_EXTERNAL_CONTENT:2};
module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent[module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.FORMATTED_HTML_CONTENT] = "FORMATTED_HTML_CONTENT";
module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent[module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.EMBEDDED_INTERNAL_CONTENT] = "EMBEDDED_INTERNAL_CONTENT";
module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent[module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.EMBEDDED_TRUSTED_EXTERNAL_CONTENT] = "EMBEDDED_TRUSTED_EXTERNAL_CONTENT";
var module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective = {ALLOW_SAME_ORIGIN:"allow-same-origin", ALLOW_SCRIPTS:"allow-scripts", ALLOW_FORMS:"allow-forms", ALLOW_POPUPS:"allow-popups", ALLOW_POPUPS_TO_ESCAPE_SANDBOX:"allow-popups-to-escape-sandbox", ALLOW_STORAGE_ACCESS_BY_USER_ACTIVATION:"allow-storage-access-by-user-activation"};
function module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSandboxDirectives(ifr, directives) {
  ifr.setAttribute("sandbox", "");
  for (var i = 0; i < directives.length; i++) {
    ifr.sandbox.supports && !ifr.sandbox.supports(directives[i]) || ifr.sandbox.add(directives[i]);
  }
}
module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.TypeCannotBeUsedWithIntentError = function(type, intent) {
  var $jscomp$tmp$error$240424914$1 = Error.call(this, type + " cannot be used with intent " + module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent[intent]);
  this.message = $jscomp$tmp$error$240424914$1.message;
  "stack" in $jscomp$tmp$error$240424914$1 && (this.stack = $jscomp$tmp$error$240424914$1.stack);
  this.type = type;
  this.name = "TypeCannotBeUsedWithIntentError";
};
$jscomp.inherits(module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.TypeCannotBeUsedWithIntentError, Error);
module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.setSrcWithIntent = function(element, intent, src) {
  element.removeAttribute("srcdoc");
  switch(intent) {
    case module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.FORMATTED_HTML_CONTENT:
      if (src instanceof module$exports$google3$third_party$javascript$safevalues$internals$resource_url_impl.TrustedResourceUrl) {
        throw new module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.TypeCannotBeUsedWithIntentError("TrustedResourceUrl", module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.FORMATTED_HTML_CONTENT);
      }
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSandboxDirectives(element, []);
      var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(src);
      sanitizedUrl !== void 0 && (element.src = sanitizedUrl);
      break;
    case module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.EMBEDDED_INTERNAL_CONTENT:
      if (!(src instanceof module$exports$google3$third_party$javascript$safevalues$internals$resource_url_impl.TrustedResourceUrl)) {
        throw new module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.TypeCannotBeUsedWithIntentError(typeof src, module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.EMBEDDED_INTERNAL_CONTENT);
      }
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSandboxDirectives(element, [module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_SAME_ORIGIN, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_SCRIPTS, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_FORMS, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_POPUPS, 
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_POPUPS_TO_ESCAPE_SANDBOX, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_STORAGE_ACCESS_BY_USER_ACTIVATION]);
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSrc(element, src);
      break;
    case module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.EMBEDDED_TRUSTED_EXTERNAL_CONTENT:
      if (src instanceof module$exports$google3$third_party$javascript$safevalues$internals$resource_url_impl.TrustedResourceUrl) {
        throw new module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.TypeCannotBeUsedWithIntentError("TrustedResourceUrl", module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.EMBEDDED_TRUSTED_EXTERNAL_CONTENT);
      }
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSandboxDirectives(element, [module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_SAME_ORIGIN, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_SCRIPTS, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_FORMS, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_POPUPS, 
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_POPUPS_TO_ESCAPE_SANDBOX, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_STORAGE_ACCESS_BY_USER_ACTIVATION]);
      var sanitizedUrl$jscomp$0 = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(src);
      sanitizedUrl$jscomp$0 !== void 0 && (element.src = sanitizedUrl$jscomp$0);
      break;
    default:
      module$contents$google3$javascript$typescript$contrib$check_checkExhaustiveAllowing(intent, void 0);
  }
};
module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.setSrcdocWithIntent = function(element, intent, srcdoc) {
  element.removeAttribute("src");
  switch(intent) {
    case module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.FORMATTED_HTML_CONTENT:
      if (srcdoc instanceof module$exports$google3$third_party$javascript$safevalues$internals$html_impl.SafeHtml) {
        throw new module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.TypeCannotBeUsedWithIntentError("SafeHtml", module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.FORMATTED_HTML_CONTENT);
      }
      element.csp = "default-src 'none'";
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSandboxDirectives(element, []);
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSrcdoc(element, (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(srcdoc));
      break;
    case module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.EMBEDDED_INTERNAL_CONTENT:
      if (!(srcdoc instanceof module$exports$google3$third_party$javascript$safevalues$internals$html_impl.SafeHtml)) {
        throw new module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.TypeCannotBeUsedWithIntentError("string", module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.EMBEDDED_INTERNAL_CONTENT);
      }
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSandboxDirectives(element, [module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_SAME_ORIGIN, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_SCRIPTS, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_FORMS, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_POPUPS, 
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_POPUPS_TO_ESCAPE_SANDBOX, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_STORAGE_ACCESS_BY_USER_ACTIVATION]);
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSrcdoc(element, srcdoc);
      break;
    case module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.EMBEDDED_TRUSTED_EXTERNAL_CONTENT:
      if (srcdoc instanceof module$exports$google3$third_party$javascript$safevalues$internals$html_impl.SafeHtml) {
        throw new module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.TypeCannotBeUsedWithIntentError("SafeHtml", module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent.EMBEDDED_INTERNAL_CONTENT);
      }
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSandboxDirectives(element, [module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_SCRIPTS, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_FORMS, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_POPUPS, module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_POPUPS_TO_ESCAPE_SANDBOX, 
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_SandboxDirective.ALLOW_STORAGE_ACCESS_BY_USER_ACTIVATION]);
      module$contents$google3$third_party$javascript$safevalues$dom$elements$iframe_setSrcdoc(element, (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(srcdoc));
      break;
    default:
      module$contents$google3$javascript$typescript$contrib$check_checkExhaustiveAllowing(intent, void 0);
  }
};
var module$exports$google3$third_party$javascript$safevalues$dom$elements$input = {setFormaction:function(input, url) {
  var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(url);
  sanitizedUrl !== void 0 && (input.formAction = sanitizedUrl);
}};
var module$exports$google3$third_party$javascript$safevalues$dom$elements$link = {}, module$contents$google3$third_party$javascript$safevalues$dom$elements$link_SAFE_URL_REL_VALUES = "alternate author bookmark canonical cite help icon license modulepreload next prefetch dns-prefetch prerender preconnect preload prev search subresource".split(" ");
module$exports$google3$third_party$javascript$safevalues$dom$elements$link.setHrefAndRel = function(link, url, rel) {
  if (module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_isResourceUrl(url)) {
    module$contents$google3$third_party$javascript$safevalues$dom$elements$link_setHrefAndRelWithTrustedResourceUrl(link, url, rel);
  } else {
    if (module$contents$google3$third_party$javascript$safevalues$dom$elements$link_SAFE_URL_REL_VALUES.indexOf(rel) === -1) {
      throw Error('TrustedResourceUrl href attribute required with rel="' + rel + '"');
    }
    var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(url);
    sanitizedUrl !== void 0 && (link.href = sanitizedUrl, link.rel = rel);
  }
};
function module$contents$google3$third_party$javascript$safevalues$dom$elements$link_setHrefAndRelWithTrustedResourceUrl(link, url, rel) {
  link.href = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(url).toString();
  link.rel = rel;
}
module$exports$google3$third_party$javascript$safevalues$dom$elements$link.setHrefAndRelWithTrustedResourceUrl = module$contents$google3$third_party$javascript$safevalues$dom$elements$link_setHrefAndRelWithTrustedResourceUrl;
function module$contents$google3$third_party$javascript$safevalues$dom$elements$object_setData(obj, v) {
  obj.data = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(v);
}
;var module$exports$google3$third_party$javascript$safevalues$dom$globals$window = {open:function(win, url, target, features) {
  var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(url);
  return sanitizedUrl !== void 0 ? win.open(sanitizedUrl, target, features) : null;
}, getScriptNonce:function(documentOrWindow) {
  return module$contents$google3$third_party$javascript$safevalues$dom$globals$window_getNonceFor("script", documentOrWindow);
}, getStyleNonce:function(documentOrWindow) {
  return module$contents$google3$third_party$javascript$safevalues$dom$globals$window_getNonceFor("style", documentOrWindow);
}};
function module$contents$google3$third_party$javascript$safevalues$dom$globals$window_getNonceFor(elementName, documentOrWindow) {
  documentOrWindow = documentOrWindow === void 0 ? document : documentOrWindow;
  var $jscomp$optchain$tmp220578679$0, $jscomp$optchain$tmp220578679$1, el = ($jscomp$optchain$tmp220578679$1 = ($jscomp$optchain$tmp220578679$0 = "document" in documentOrWindow ? documentOrWindow.document : documentOrWindow).querySelector) == null ? void 0 : $jscomp$optchain$tmp220578679$1.call($jscomp$optchain$tmp220578679$0, elementName + "[nonce]");
  return el == null ? "" : el.nonce || el.getAttribute("nonce") || "";
}
;var module$exports$google3$third_party$javascript$safevalues$internals$script_impl = {SafeScript:function(token, value) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$secrets_ensureTokenIsValid(token);
  this.privateDoNotAccessOrElseWrappedScript = value;
}};
module$exports$google3$third_party$javascript$safevalues$internals$script_impl.SafeScript.prototype.toString = function() {
  return this.privateDoNotAccessOrElseWrappedScript + "";
};
function module$contents$google3$third_party$javascript$safevalues$internals$script_impl_createScriptInternal(value) {
  var noinlineValue = value, policy = module$contents$google3$third_party$javascript$safevalues$internals$trusted_types_getPolicy();
  return new module$exports$google3$third_party$javascript$safevalues$internals$script_impl.SafeScript(module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken, policy ? policy.createScript(noinlineValue) : noinlineValue);
}
module$exports$google3$third_party$javascript$safevalues$internals$script_impl.createScriptInternal = module$contents$google3$third_party$javascript$safevalues$internals$script_impl_createScriptInternal;
module$exports$google3$third_party$javascript$safevalues$internals$script_impl.EMPTY_SCRIPT = module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return new module$exports$google3$third_party$javascript$safevalues$internals$script_impl.SafeScript(module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken, module$exports$google3$third_party$javascript$safevalues$internals$trusted_types.trustedTypes ? module$exports$google3$third_party$javascript$safevalues$internals$trusted_types.trustedTypes.emptyScript : "");
});
function module$contents$google3$third_party$javascript$safevalues$internals$script_impl_isScript(value) {
  return value instanceof module$exports$google3$third_party$javascript$safevalues$internals$script_impl.SafeScript;
}
module$exports$google3$third_party$javascript$safevalues$internals$script_impl.isScript = module$contents$google3$third_party$javascript$safevalues$internals$script_impl_isScript;
function module$contents$google3$third_party$javascript$safevalues$internals$script_impl_unwrapScript(value) {
  if (module$contents$google3$third_party$javascript$safevalues$internals$script_impl_isScript(value)) {
    return value.privateDoNotAccessOrElseWrappedScript;
  }
  var message = "";
  goog.DEBUG && (message = "Unexpected type when unwrapping SafeScript");
  throw Error(message);
}
module$exports$google3$third_party$javascript$safevalues$internals$script_impl.unwrapScript = module$contents$google3$third_party$javascript$safevalues$internals$script_impl_unwrapScript;
var module$exports$google3$third_party$javascript$safevalues$dom$elements$script = {};
function module$contents$google3$third_party$javascript$safevalues$dom$elements$script_setNonceForScriptElement(script) {
  var nonce = (0,module$exports$google3$third_party$javascript$safevalues$dom$globals$window.getScriptNonce)(script.ownerDocument && script.ownerDocument.defaultView || window);
  nonce && script.setAttribute("nonce", nonce);
}
module$exports$google3$third_party$javascript$safevalues$dom$elements$script.setTextContent = function(script, v, options) {
  script.textContent = module$contents$google3$third_party$javascript$safevalues$internals$script_impl_unwrapScript(v);
  (options == null ? 0 : options.omitNonce) || module$contents$google3$third_party$javascript$safevalues$dom$elements$script_setNonceForScriptElement(script);
};
module$exports$google3$third_party$javascript$safevalues$dom$elements$script.setSrc = function(script, v, options) {
  script.src = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(v);
  (options == null ? 0 : options.omitNonce) || module$contents$google3$third_party$javascript$safevalues$dom$elements$script_setNonceForScriptElement(script);
};
var module$exports$google3$third_party$javascript$safevalues$internals$style_sheet_impl = {SafeStyleSheet:function(token, value) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$secrets_ensureTokenIsValid(token);
  this.privateDoNotAccessOrElseWrappedStyleSheet = value;
}};
module$exports$google3$third_party$javascript$safevalues$internals$style_sheet_impl.SafeStyleSheet.prototype.toString = function() {
  return this.privateDoNotAccessOrElseWrappedStyleSheet;
};
function module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_createStyleSheetInternal(value) {
  return new module$exports$google3$third_party$javascript$safevalues$internals$style_sheet_impl.SafeStyleSheet(module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken, value);
}
module$exports$google3$third_party$javascript$safevalues$internals$style_sheet_impl.createStyleSheetInternal = module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_createStyleSheetInternal;
function module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_isStyleSheet(value) {
  return value instanceof module$exports$google3$third_party$javascript$safevalues$internals$style_sheet_impl.SafeStyleSheet;
}
module$exports$google3$third_party$javascript$safevalues$internals$style_sheet_impl.isStyleSheet = module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_isStyleSheet;
function module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_unwrapStyleSheet(value) {
  if (module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_isStyleSheet(value)) {
    return value.privateDoNotAccessOrElseWrappedStyleSheet;
  }
  var message = "";
  goog.DEBUG && (message = "Unexpected type when unwrapping SafeStyleSheet, got '" + value + "' of type '" + typeof value + "'");
  throw Error(message);
}
module$exports$google3$third_party$javascript$safevalues$internals$style_sheet_impl.unwrapStyleSheet = module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_unwrapStyleSheet;
var module$exports$google3$third_party$javascript$safevalues$dom$elements$style = {setTextContent:function(elem, safeStyleSheet) {
  elem.textContent = module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_unwrapStyleSheet(safeStyleSheet);
}};
var module$contents$google3$third_party$javascript$safevalues$dom$elements$svg_UNSAFE_SVG_ATTRIBUTES = ["href", "xlink:href"];
function module$contents$google3$third_party$javascript$safevalues$dom$elements$svg_setAttribute(svg, attr, value) {
  var attrLower = attr.toLowerCase();
  if (module$contents$google3$third_party$javascript$safevalues$dom$elements$svg_UNSAFE_SVG_ATTRIBUTES.indexOf(attrLower) !== -1 || attrLower.indexOf("on") === 0) {
    var msg = "";
    goog.DEBUG && (msg = "Setting the '" + attrLower + "' attribute on SVG can cause XSS.");
    throw Error(msg);
  }
  svg.setAttribute(attr, value);
}
;goog.debug.LOGGING_ENABLED = goog.DEBUG;
goog.debug.FORCE_SLOPPY_STACKS = !1;
goog.debug.CHECK_FOR_THROWN_EVENT = !1;
goog.debug.catchErrors = function(logFunc, opt_cancel, opt_target) {
  var target = opt_target || goog.global, oldErrorHandler = target.onerror, retVal = !!opt_cancel;
  target.onerror = function(message, url, line, opt_col, opt_error) {
    oldErrorHandler && oldErrorHandler(message, url, line, opt_col, opt_error);
    logFunc({message:message, fileName:url, line:line, lineNumber:line, col:opt_col, error:opt_error});
    return retVal;
  };
};
goog.debug.expose = function(obj, opt_showFn) {
  if (typeof obj == "undefined") {
    return "undefined";
  }
  if (obj == null) {
    return "NULL";
  }
  var str = [], x;
  for (x in obj) {
    if (opt_showFn || typeof obj[x] !== "function") {
      var s = x + " = ";
      try {
        s += obj[x];
      } catch (e) {
        s += "*** " + e + " ***";
      }
      str.push(s);
    }
  }
  return str.join("\n");
};
goog.debug.deepExpose = function(obj, opt_showFn) {
  var str = [], uidsToCleanup = [], ancestorUids = {}, helper = function(obj, space) {
    var nestspace = space + "  ";
    try {
      if (obj === void 0) {
        str.push("undefined");
      } else if (obj === null) {
        str.push("NULL");
      } else if (typeof obj === "string") {
        str.push('"' + obj.replace(/\n/g, "\n" + space) + '"');
      } else if (typeof obj === "function") {
        str.push(String(obj).replace(/\n/g, "\n" + space));
      } else if (goog.isObject(obj)) {
        goog.hasUid(obj) || uidsToCleanup.push(obj);
        var uid = goog.getUid(obj);
        if (ancestorUids[uid]) {
          str.push("*** reference loop detected (id=" + uid + ") ***");
        } else {
          ancestorUids[uid] = !0;
          str.push("{");
          for (var x in obj) {
            if (opt_showFn || typeof obj[x] !== "function") {
              str.push("\n"), str.push(nestspace), str.push(x + " = "), helper(obj[x], nestspace);
            }
          }
          str.push("\n" + space + "}");
          delete ancestorUids[uid];
        }
      } else {
        str.push(obj);
      }
    } catch (e) {
      str.push("*** " + e + " ***");
    }
  };
  helper(obj, "");
  for (var i = 0; i < uidsToCleanup.length; i++) {
    goog.removeUid(uidsToCleanup[i]);
  }
  return str.join("");
};
goog.debug.exposeArray = function(arr) {
  for (var str = [], i = 0; i < arr.length; i++) {
    Array.isArray(arr[i]) ? str.push(goog.debug.exposeArray(arr[i])) : str.push(arr[i]);
  }
  return "[ " + str.join(", ") + " ]";
};
goog.debug.normalizeErrorObject = function(err) {
  var href = goog.getObjectByName("window.location.href");
  err == null && (err = 'Unknown Error of type "null/undefined"');
  if (typeof err === "string") {
    return {message:err, name:"Unknown error", lineNumber:"Not available", fileName:href, stack:"Not available"};
  }
  var threwError = !1;
  try {
    var lineNumber = err.lineNumber || err.line || "Not available";
  } catch (e) {
    lineNumber = "Not available", threwError = !0;
  }
  try {
    var fileName = err.fileName || err.filename || err.sourceURL || goog.global.$googDebugFname || href;
  } catch (e) {
    fileName = "Not available", threwError = !0;
  }
  var stack = goog.debug.serializeErrorStack_(err);
  if (!(!threwError && err.lineNumber && err.fileName && err.stack && err.message && err.name)) {
    var message = err.message;
    if (message == null) {
      if (err.constructor && err.constructor instanceof Function) {
        var ctorName = err.constructor.name ? err.constructor.name : goog.debug.getFunctionName(err.constructor);
        message = 'Unknown Error of type "' + ctorName + '"';
        if (goog.debug.CHECK_FOR_THROWN_EVENT && ctorName == "Event") {
          try {
            message = message + ' with Event.type "' + (err.type || "") + '"';
          } catch (e) {
          }
        }
      } else {
        message = "Unknown Error of unknown type";
      }
      typeof err.toString === "function" && Object.prototype.toString !== err.toString && (message += ": " + err.toString());
    }
    return {message:message, name:err.name || "UnknownError", lineNumber:lineNumber, fileName:fileName, stack:stack || "Not available"};
  }
  return {message:err.message, name:err.name, lineNumber:err.lineNumber, fileName:err.fileName, stack:stack};
};
goog.debug.serializeErrorStack_ = function(e, seen) {
  seen || (seen = {});
  seen[goog.debug.serializeErrorAsKey_(e)] = !0;
  var stack = e.stack || "", cause = e.cause;
  cause && !seen[goog.debug.serializeErrorAsKey_(cause)] && (stack += "\nCaused by: ", cause.stack && cause.stack.indexOf(cause.toString()) == 0 || (stack += typeof cause === "string" ? cause : cause.message + "\n"), stack += goog.debug.serializeErrorStack_(cause, seen));
  var errors = e.errors;
  if (Array.isArray(errors)) {
    var actualIndex = 1, i;
    for (i = 0; i < errors.length && !(actualIndex > 4); i++) {
      seen[goog.debug.serializeErrorAsKey_(errors[i])] || (stack += "\nInner error " + actualIndex++ + ": ", errors[i].stack && errors[i].stack.indexOf(errors[i].toString()) == 0 || (stack += typeof errors[i] === "string" ? errors[i] : errors[i].message + "\n"), stack += goog.debug.serializeErrorStack_(errors[i], seen));
    }
    i < errors.length && (stack += "\n... " + (errors.length - i) + " more inner errors");
  }
  return stack;
};
goog.debug.serializeErrorAsKey_ = function(e) {
  var keyPrefix = "";
  typeof e.toString === "function" && (keyPrefix = "" + e);
  return keyPrefix + e.stack;
};
goog.debug.enhanceError = function(err, opt_message) {
  if (err instanceof Error) {
    var error = err;
  } else {
    error = Error(err), Error.captureStackTrace && Error.captureStackTrace(error, goog.debug.enhanceError);
  }
  error.stack || (error.stack = goog.debug.getStacktrace(goog.debug.enhanceError));
  if (opt_message) {
    for (var x = 0; error["message" + x];) {
      ++x;
    }
    error["message" + x] = String(opt_message);
  }
  return error;
};
goog.debug.enhanceErrorWithContext = function(err, opt_context) {
  var error = goog.debug.enhanceError(err);
  if (opt_context) {
    for (var key in opt_context) {
      goog.debug.errorcontext.addErrorContext(error, key, opt_context[key]);
    }
  }
  return error;
};
goog.debug.getStacktraceSimple = function(opt_depth) {
  if (!goog.debug.FORCE_SLOPPY_STACKS) {
    var stack = goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);
    if (stack) {
      return stack;
    }
  }
  for (var sb = [], fn = arguments.callee.caller, depth = 0; fn && (!opt_depth || depth < opt_depth);) {
    sb.push(goog.debug.getFunctionName(fn));
    sb.push("()\n");
    try {
      fn = fn.caller;
    } catch (e) {
      sb.push("[exception trying to get caller]\n");
      break;
    }
    depth++;
    if (depth >= goog.debug.MAX_STACK_DEPTH) {
      sb.push("[...long stack...]");
      break;
    }
  }
  opt_depth && depth >= opt_depth ? sb.push("[...reached max depth limit...]") : sb.push("[end]");
  return sb.join("");
};
goog.debug.MAX_STACK_DEPTH = 50;
goog.debug.getNativeStackTrace_ = function(fn) {
  var tempErr = Error();
  if (Error.captureStackTrace) {
    return Error.captureStackTrace(tempErr, fn), String(tempErr.stack);
  }
  try {
    throw tempErr;
  } catch (e) {
    tempErr = e;
  }
  var stack = tempErr.stack;
  return stack ? String(stack) : null;
};
goog.debug.getStacktrace = function(fn) {
  var stack;
  goog.debug.FORCE_SLOPPY_STACKS || (stack = goog.debug.getNativeStackTrace_(fn || goog.debug.getStacktrace));
  stack || (stack = goog.debug.getStacktraceHelper_(fn || arguments.callee.caller, []));
  return stack;
};
goog.debug.getStacktraceHelper_ = function(fn, visited) {
  var sb = [];
  if (module$contents$goog$array_contains(visited, fn)) {
    sb.push("[...circular reference...]");
  } else if (fn && visited.length < goog.debug.MAX_STACK_DEPTH) {
    sb.push(goog.debug.getFunctionName(fn) + "(");
    for (var args = fn.arguments, i = 0; args && i < args.length; i++) {
      i > 0 && sb.push(", ");
      var arg = args[i];
      switch(typeof arg) {
        case "object":
          var argDesc = arg ? "object" : "null";
          break;
        case "string":
          argDesc = arg;
          break;
        case "number":
          argDesc = String(arg);
          break;
        case "boolean":
          argDesc = arg ? "true" : "false";
          break;
        case "function":
          argDesc = (argDesc = goog.debug.getFunctionName(arg)) ? argDesc : "[fn]";
          break;
        default:
          argDesc = typeof arg;
      }
      argDesc.length > 40 && (argDesc = argDesc.slice(0, 40) + "...");
      sb.push(argDesc);
    }
    visited.push(fn);
    sb.push(")\n");
    try {
      sb.push(goog.debug.getStacktraceHelper_(fn.caller, visited));
    } catch (e) {
      sb.push("[exception trying to get caller]\n");
    }
  } else {
    fn ? sb.push("[...long stack...]") : sb.push("[end]");
  }
  return sb.join("");
};
goog.debug.getFunctionName = function(fn) {
  if (goog.debug.fnNameCache_[fn]) {
    return goog.debug.fnNameCache_[fn];
  }
  var functionSource = String(fn);
  if (!goog.debug.fnNameCache_[functionSource]) {
    var matches = /function\s+([^\(]+)/m.exec(functionSource);
    goog.debug.fnNameCache_[functionSource] = matches ? matches[1] : "[Anonymous]";
  }
  return goog.debug.fnNameCache_[functionSource];
};
goog.debug.makeWhitespaceVisible = function(string) {
  return string.replace(/ /g, "[_]").replace(/\f/g, "[f]").replace(/\n/g, "[n]\n").replace(/\r/g, "[r]").replace(/\t/g, "[t]");
};
goog.debug.runtimeType = function(value) {
  return value instanceof Function ? value.displayName || value.name || "unknown type name" : value instanceof Object ? value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value) : value === null ? "null" : typeof value;
};
goog.debug.fnNameCache_ = {};
goog.debug.freezeInternal_ = goog.DEBUG && Object.freeze || function(arg) {
  return arg;
};
goog.debug.freeze = function(arg) {
  return goog.debug.freezeInternal_(arg);
};
goog.log = {};
goog.log.ENABLED = goog.debug.LOGGING_ENABLED;
goog.log.ROOT_LOGGER_NAME = "";
var third_party$javascript$closure$log$log$classdecl$var2 = function(name, value) {
  this.name = name;
  this.value = value;
};
third_party$javascript$closure$log$log$classdecl$var2.prototype.toString = function() {
  return this.name;
};
goog.log.Level = third_party$javascript$closure$log$log$classdecl$var2;
goog.log.Level.OFF = new goog.log.Level("OFF", Infinity);
goog.log.Level.SHOUT = new goog.log.Level("SHOUT", 1200);
goog.log.Level.SEVERE = new goog.log.Level("SEVERE", 1E3);
goog.log.Level.WARNING = new goog.log.Level("WARNING", 900);
goog.log.Level.INFO = new goog.log.Level("INFO", 800);
goog.log.Level.CONFIG = new goog.log.Level("CONFIG", 700);
goog.log.Level.FINE = new goog.log.Level("FINE", 500);
goog.log.Level.FINER = new goog.log.Level("FINER", 400);
goog.log.Level.FINEST = new goog.log.Level("FINEST", 300);
goog.log.Level.ALL = new goog.log.Level("ALL", 0);
goog.log.Level.PREDEFINED_LEVELS = [goog.log.Level.OFF, goog.log.Level.SHOUT, goog.log.Level.SEVERE, goog.log.Level.WARNING, goog.log.Level.INFO, goog.log.Level.CONFIG, goog.log.Level.FINE, goog.log.Level.FINER, goog.log.Level.FINEST, goog.log.Level.ALL];
goog.log.Level.predefinedLevelsCache_ = null;
goog.log.Level.createPredefinedLevelsCache_ = function() {
  goog.log.Level.predefinedLevelsCache_ = {};
  for (var i = 0, level; level = goog.log.Level.PREDEFINED_LEVELS[i]; i++) {
    goog.log.Level.predefinedLevelsCache_[level.value] = level, goog.log.Level.predefinedLevelsCache_[level.name] = level;
  }
};
goog.log.Level.getPredefinedLevel = function(name) {
  goog.log.Level.predefinedLevelsCache_ || goog.log.Level.createPredefinedLevelsCache_();
  return goog.log.Level.predefinedLevelsCache_[name] || null;
};
goog.log.Level.getPredefinedLevelByValue = function(value) {
  goog.log.Level.predefinedLevelsCache_ || goog.log.Level.createPredefinedLevelsCache_();
  if (value in goog.log.Level.predefinedLevelsCache_) {
    return goog.log.Level.predefinedLevelsCache_[value];
  }
  for (var i = 0; i < goog.log.Level.PREDEFINED_LEVELS.length; ++i) {
    var level = goog.log.Level.PREDEFINED_LEVELS[i];
    if (level.value <= value) {
      return level;
    }
  }
  return null;
};
var third_party$javascript$closure$log$log$classdecl$var3 = function() {
};
third_party$javascript$closure$log$log$classdecl$var3.prototype.getName = function() {
};
goog.log.Logger = third_party$javascript$closure$log$log$classdecl$var3;
goog.log.Logger.Level = goog.log.Level;
var third_party$javascript$closure$log$log$classdecl$var4 = function(capacity) {
  this.capacity_ = typeof capacity === "number" ? capacity : goog.log.LogBuffer.CAPACITY;
  this.clear();
};
third_party$javascript$closure$log$log$classdecl$var4.prototype.addRecord = function(level, msg, loggerName) {
  if (!this.isBufferingEnabled()) {
    return new goog.log.LogRecord(level, msg, loggerName);
  }
  var curIndex = (this.curIndex_ + 1) % this.capacity_;
  this.curIndex_ = curIndex;
  if (this.isFull_) {
    var ret = this.buffer_[curIndex];
    ret.reset(level, msg, loggerName);
    return ret;
  }
  this.isFull_ = curIndex == this.capacity_ - 1;
  return this.buffer_[curIndex] = new goog.log.LogRecord(level, msg, loggerName);
};
third_party$javascript$closure$log$log$classdecl$var4.prototype.isBufferingEnabled = function() {
  return this.capacity_ > 0;
};
third_party$javascript$closure$log$log$classdecl$var4.prototype.clear = function() {
  this.buffer_ = Array(this.capacity_);
  this.curIndex_ = -1;
  this.isFull_ = !1;
};
goog.log.LogBuffer = third_party$javascript$closure$log$log$classdecl$var4;
goog.log.LogBuffer.CAPACITY = 0;
goog.log.LogBuffer.getInstance = function() {
  goog.log.LogBuffer.instance_ || (goog.log.LogBuffer.instance_ = new goog.log.LogBuffer(goog.log.LogBuffer.CAPACITY));
  return goog.log.LogBuffer.instance_;
};
goog.log.LogBuffer.isBufferingEnabled = function() {
  return goog.log.LogBuffer.getInstance().isBufferingEnabled();
};
var third_party$javascript$closure$log$log$classdecl$var5 = function(level, msg, loggerName, time, sequenceNumber) {
  this.exception_ = void 0;
  this.reset(level || goog.log.Level.OFF, msg, loggerName, time, sequenceNumber);
};
third_party$javascript$closure$log$log$classdecl$var5.prototype.reset = function(level, msg, loggerName, time) {
  this.time_ = time || goog.now();
  this.level_ = level;
  this.msg_ = msg;
  this.loggerName_ = loggerName;
  this.exception_ = void 0;
};
third_party$javascript$closure$log$log$classdecl$var5.prototype.setException = function(exception) {
  this.exception_ = exception;
};
third_party$javascript$closure$log$log$classdecl$var5.prototype.getLevel = function() {
  return this.level_;
};
third_party$javascript$closure$log$log$classdecl$var5.prototype.setLevel = function(level) {
  this.level_ = level;
};
third_party$javascript$closure$log$log$classdecl$var5.prototype.getMessage = function() {
  return this.msg_;
};
goog.log.LogRecord = third_party$javascript$closure$log$log$classdecl$var5;
goog.log.LogRecord.nextSequenceNumber_ = 0;
var third_party$javascript$closure$log$log$classdecl$var6 = function(name, parent) {
  this.level = null;
  this.handlers = [];
  this.parent = (parent === void 0 ? null : parent) || null;
  this.children = [];
  this.logger = {getName:function() {
    return name;
  }};
};
third_party$javascript$closure$log$log$classdecl$var6.prototype.getEffectiveLevel = function() {
  if (this.level) {
    return this.level;
  }
  if (this.parent) {
    return this.parent.getEffectiveLevel();
  }
  goog.asserts.fail("Root logger has no level set.");
  return goog.log.Level.OFF;
};
third_party$javascript$closure$log$log$classdecl$var6.prototype.publish = function(logRecord) {
  for (var target = this; target;) {
    target.handlers.forEach(function(handler) {
      handler(logRecord);
    }), target = target.parent;
  }
};
goog.log.LogRegistryEntry_ = third_party$javascript$closure$log$log$classdecl$var6;
var third_party$javascript$closure$log$log$classdecl$var7 = function() {
  this.entries = {};
  var rootLogRegistryEntry = new goog.log.LogRegistryEntry_(goog.log.ROOT_LOGGER_NAME);
  rootLogRegistryEntry.level = goog.log.Level.CONFIG;
  this.entries[goog.log.ROOT_LOGGER_NAME] = rootLogRegistryEntry;
};
third_party$javascript$closure$log$log$classdecl$var7.prototype.getLogRegistryEntry = function(name, level) {
  var entry = this.entries[name];
  if (entry) {
    return level !== void 0 && (entry.level = level), entry;
  }
  var lastDotIndex = name.lastIndexOf("."), parentName = name.slice(0, Math.max(lastDotIndex, 0)), parentLogRegistryEntry = this.getLogRegistryEntry(parentName), logRegistryEntry = new goog.log.LogRegistryEntry_(name, parentLogRegistryEntry);
  this.entries[name] = logRegistryEntry;
  parentLogRegistryEntry.children.push(logRegistryEntry);
  level !== void 0 && (logRegistryEntry.level = level);
  return logRegistryEntry;
};
third_party$javascript$closure$log$log$classdecl$var7.prototype.getAllLoggers = function() {
  var $jscomp$this$17096019$34 = this;
  return Object.keys(this.entries).map(function(loggerName) {
    return $jscomp$this$17096019$34.entries[loggerName].logger;
  });
};
goog.log.LogRegistry_ = third_party$javascript$closure$log$log$classdecl$var7;
goog.log.LogRegistry_.getInstance = function() {
  goog.log.LogRegistry_.instance_ || (goog.log.LogRegistry_.instance_ = new goog.log.LogRegistry_());
  return goog.log.LogRegistry_.instance_;
};
goog.log.getLogger = function(name, level) {
  return goog.log.ENABLED ? goog.log.LogRegistry_.getInstance().getLogRegistryEntry(name, level).logger : null;
};
goog.log.getRootLogger = function() {
  return goog.log.ENABLED ? goog.log.LogRegistry_.getInstance().getLogRegistryEntry(goog.log.ROOT_LOGGER_NAME).logger : null;
};
goog.log.addHandler = function(logger, handler) {
  goog.log.ENABLED && logger && goog.log.LogRegistry_.getInstance().getLogRegistryEntry(logger.getName()).handlers.push(handler);
};
goog.log.removeHandler = function(logger, handler) {
  if (goog.log.ENABLED && logger) {
    var loggerEntry = goog.log.LogRegistry_.getInstance().getLogRegistryEntry(logger.getName()), indexOfHandler = loggerEntry.handlers.indexOf(handler);
    if (indexOfHandler !== -1) {
      return loggerEntry.handlers.splice(indexOfHandler, 1), !0;
    }
  }
  return !1;
};
goog.log.setLevel = function(logger, level) {
  goog.log.ENABLED && logger && (goog.log.LogRegistry_.getInstance().getLogRegistryEntry(logger.getName()).level = level);
};
goog.log.getLevel = function(logger) {
  return goog.log.ENABLED && logger ? goog.log.LogRegistry_.getInstance().getLogRegistryEntry(logger.getName()).level : null;
};
goog.log.getEffectiveLevel = function(logger) {
  return goog.log.ENABLED && logger ? goog.log.LogRegistry_.getInstance().getLogRegistryEntry(logger.getName()).getEffectiveLevel() : goog.log.Level.OFF;
};
goog.log.isLoggable = function(logger, level) {
  return goog.log.ENABLED && logger && level ? level.value >= goog.log.getEffectiveLevel(logger).value : !1;
};
goog.log.getAllLoggers = function() {
  return goog.log.ENABLED ? goog.log.LogRegistry_.getInstance().getAllLoggers() : [];
};
goog.log.getLogRecord = function(logger, level, msg, exception) {
  var logRecord = goog.log.LogBuffer.getInstance().addRecord(level || goog.log.Level.OFF, msg, logger.getName());
  logRecord.setException(exception);
  return logRecord;
};
goog.log.publishLogRecord = function(logger, logRecord) {
  goog.log.ENABLED && logger && goog.log.isLoggable(logger, logRecord.getLevel()) && goog.log.LogRegistry_.getInstance().getLogRegistryEntry(logger.getName()).publish(logRecord);
};
goog.log.log = function(logger, level, msg, exception) {
  if (goog.log.ENABLED && logger && goog.log.isLoggable(logger, level)) {
    level = level || goog.log.Level.OFF;
    var loggerEntry = goog.log.LogRegistry_.getInstance().getLogRegistryEntry(logger.getName());
    typeof msg === "function" && (msg = msg());
    var logRecord = goog.log.LogBuffer.getInstance().addRecord(level, msg, logger.getName());
    logRecord.setException(exception);
    loggerEntry.publish(logRecord);
  }
};
goog.log.error = function(logger, msg, exception) {
  goog.log.ENABLED && logger && goog.log.log(logger, goog.log.Level.SEVERE, msg, exception);
};
goog.log.warning = function(logger, msg, exception) {
  goog.log.ENABLED && logger && goog.log.log(logger, goog.log.Level.WARNING, msg, exception);
};
goog.log.info = function(logger, msg, exception) {
  goog.log.ENABLED && logger && goog.log.log(logger, goog.log.Level.INFO, msg, exception);
};
goog.log.fine = function(logger, msg, exception) {
  goog.log.ENABLED && logger && goog.log.log(logger, goog.log.Level.FINE, msg, exception);
};
function module$contents$google3$third_party$javascript$safevalues$dom$elements$svg_use_setHref(useEl, url) {
  var scheme = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_extractScheme(url);
  if (scheme === "javascript:" || scheme === "data:") {
    if (goog.DEBUG) {
      var msg = "A URL with content '" + url + "' was sanitized away.";
      (0,goog.log.warning)((0,goog.log.getLogger)("safevalues"), msg);
    }
  } else {
    useEl.setAttribute("href", url);
  }
}
;function module$contents$google3$third_party$javascript$safevalues$dom$globals$document_write(doc, text) {
  doc.write((0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)(text));
}
function module$contents$google3$third_party$javascript$safevalues$dom$globals$document_execCommand(doc, command, value) {
  var commandString = String(command), valueArgument = value;
  commandString.toLowerCase() === "inserthtml" && (valueArgument = (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)(value));
  return doc.execCommand(commandString, !1, valueArgument);
}
function module$contents$google3$third_party$javascript$safevalues$dom$globals$document_execCommandInsertHtml(doc, html) {
  return doc.execCommand("insertHTML", !1, (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)(html));
}
;var module$exports$google3$third_party$javascript$safevalues$dom$globals$dom_parser = {parseHtml:function(parser, html) {
  return module$contents$google3$third_party$javascript$safevalues$dom$globals$dom_parser_parseFromString(parser, html, "text/html");
}, parseXml:function(parser, xml) {
  for (var doc = module$contents$google3$third_party$javascript$safevalues$dom$globals$dom_parser_parseFromString(parser, (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(xml), "text/xml"), iterator = document.createNodeIterator(doc, NodeFilter.SHOW_ELEMENT), currentNode; currentNode = iterator.nextNode();) {
    var ns = currentNode.namespaceURI;
    if (ns === "http://www.w3.org/1999/xhtml" || ns === "http://www.w3.org/2000/svg" || ns === "http://www.w3.org/1998/Math/MathML") {
      var message = "unsafe XML";
      goog.DEBUG && (message += " - attempted to parse an XML document containing an element with namespace " + ns + ". Parsing HTML, SVG or MathML content is unsafe because it may lead to XSS when the content is appended to the document.");
      throw Error(message);
    }
  }
  return doc;
}};
function module$contents$google3$third_party$javascript$safevalues$dom$globals$dom_parser_parseFromString(parser, content, contentType) {
  return parser.parseFromString((0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)(content), contentType);
}
module$exports$google3$third_party$javascript$safevalues$dom$globals$dom_parser.parseFromString = module$contents$google3$third_party$javascript$safevalues$dom$globals$dom_parser_parseFromString;
var module$exports$google3$third_party$javascript$safevalues$dom$globals$fetch = {IncorrectContentTypeError:function(url, typeName, contentType) {
  var $jscomp$tmp$error$m991617773$25 = Error.call(this, url + " was requested as a " + typeName + ', but the response Content-Type, "' + contentType + " is not appropriate for this type of content.");
  this.message = $jscomp$tmp$error$m991617773$25.message;
  "stack" in $jscomp$tmp$error$m991617773$25 && (this.stack = $jscomp$tmp$error$m991617773$25.stack);
  this.url = url;
  this.typeName = typeName;
  this.contentType = contentType;
}};
$jscomp.inherits(module$exports$google3$third_party$javascript$safevalues$dom$globals$fetch.IncorrectContentTypeError, Error);
module$exports$google3$third_party$javascript$safevalues$dom$globals$fetch.SafeResponse = function() {
};
function module$contents$google3$third_party$javascript$safevalues$dom$globals$fetch_fetchResourceUrl(u, init) {
  var response, $jscomp$optchain$tmpm991617773$0, $jscomp$optchain$tmpm991617773$1, $jscomp$optchain$tmpm991617773$2, mimeType;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m991617773$29) {
    if ($jscomp$generator$context$m991617773$29.nextAddress == 1) {
      return $jscomp$generator$context$m991617773$29.yield(fetch(module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(u).toString(), init), 2);
    }
    response = $jscomp$generator$context$m991617773$29.yieldResult;
    mimeType = ($jscomp$optchain$tmpm991617773$0 = response.headers.get("Content-Type")) == null ? void 0 : ($jscomp$optchain$tmpm991617773$1 = $jscomp$optchain$tmpm991617773$0.split(";", 2)) == null ? void 0 : ($jscomp$optchain$tmpm991617773$2 = $jscomp$optchain$tmpm991617773$1[0]) == null ? void 0 : $jscomp$optchain$tmpm991617773$2.toLowerCase();
    return $jscomp$generator$context$m991617773$29.return({html:function() {
      var text;
      return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m991617773$26) {
        if ($jscomp$generator$context$m991617773$26.nextAddress == 1) {
          if (mimeType !== "text/html") {
            throw new module$exports$google3$third_party$javascript$safevalues$dom$globals$fetch.IncorrectContentTypeError(response.url, "SafeHtml", "text/html");
          }
          return $jscomp$generator$context$m991617773$26.yield(response.text(), 2);
        }
        text = $jscomp$generator$context$m991617773$26.yieldResult;
        return $jscomp$generator$context$m991617773$26.return((0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(text));
      });
    }, script:function() {
      var text;
      return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m991617773$27) {
        if ($jscomp$generator$context$m991617773$27.nextAddress == 1) {
          if (mimeType !== "text/javascript" && mimeType !== "application/javascript") {
            throw new module$exports$google3$third_party$javascript$safevalues$dom$globals$fetch.IncorrectContentTypeError(response.url, "SafeScript", "text/javascript");
          }
          return $jscomp$generator$context$m991617773$27.yield(response.text(), 2);
        }
        text = $jscomp$generator$context$m991617773$27.yieldResult;
        return $jscomp$generator$context$m991617773$27.return(module$contents$google3$third_party$javascript$safevalues$internals$script_impl_createScriptInternal(text));
      });
    }, styleSheet:function() {
      var text;
      return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m991617773$28) {
        if ($jscomp$generator$context$m991617773$28.nextAddress == 1) {
          if (mimeType !== "text/css") {
            throw new module$exports$google3$third_party$javascript$safevalues$dom$globals$fetch.IncorrectContentTypeError(response.url, "SafeStyleSheet", "text/css");
          }
          return $jscomp$generator$context$m991617773$28.yield(response.text(), 2);
        }
        text = $jscomp$generator$context$m991617773$28.yieldResult;
        return $jscomp$generator$context$m991617773$28.return(module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_createStyleSheetInternal(text));
      });
    }});
  });
}
module$exports$google3$third_party$javascript$safevalues$dom$globals$fetch.fetchResourceUrl = module$contents$google3$third_party$javascript$safevalues$dom$globals$fetch_fetchResourceUrl;
function module$contents$google3$third_party$javascript$safevalues$dom$globals$global_globalEval(win, script) {
  var trustedScript = module$contents$google3$third_party$javascript$safevalues$internals$script_impl_unwrapScript(script), result = win.eval(trustedScript);
  result === trustedScript && (result = win.eval(trustedScript.toString()));
  return result;
}
;var module$exports$google3$third_party$javascript$safevalues$dom$globals$location = {setHref:function(loc, url) {
  var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(url);
  sanitizedUrl !== void 0 && module$exports$google3$third_party$javascript$safevalues$dom$globals$location.mockableLocation.setHref(loc, sanitizedUrl);
}, replace:function(loc, url) {
  var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(url);
  sanitizedUrl !== void 0 && module$exports$google3$third_party$javascript$safevalues$dom$globals$location.mockableLocation.replace(loc, sanitizedUrl);
}, assign:function(loc, url) {
  var sanitizedUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_unwrapUrlOrSanitize(url);
  sanitizedUrl !== void 0 && module$exports$google3$third_party$javascript$safevalues$dom$globals$location.mockableLocation.assign(loc, sanitizedUrl);
}, mockableLocation:{setHref:function(loc, url) {
  loc.href = url;
}, replace:function(loc, url) {
  loc.replace(url);
}, assign:function(loc, url) {
  loc.assign(url);
}}};
function module$contents$google3$third_party$javascript$safevalues$dom$globals$range_createContextualFragment(range, html) {
  return range.createContextualFragment((0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)(html));
}
;function module$contents$google3$third_party$javascript$safevalues$dom$globals$service_worker_container_register(container, scriptURL, options) {
  return container.register(module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(scriptURL), options);
}
;var module$exports$google3$third_party$javascript$safevalues$dom$globals$url = {objectUrlFromSafeSource:function(source) {
  return module$contents$google3$third_party$javascript$safevalues$builders$url_builders_objectUrlFromSafeSource(source).toString();
}};
var module$exports$google3$third_party$javascript$safevalues$dom$globals$worker = {ScopeWithImportScripts:function() {
}, create:function(url, options) {
  return new Worker(module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(url), options);
}, createShared:function(url, options) {
  return new SharedWorker(module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(url), options);
}, importScripts:function(scope) {
  scope.importScripts.apply(scope, (0,$jscomp.arrayFromIterable)($jscomp.getRestArguments.apply(1, arguments).map(function(url) {
    return module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(url);
  })));
}};
var module$exports$google3$third_party$javascript$safevalues$dom$index = {safeAnchorEl:module$exports$google3$third_party$javascript$safevalues$dom$elements$anchor, safeButtonEl:module$exports$google3$third_party$javascript$safevalues$dom$elements$button, safeElement:module$exports$google3$third_party$javascript$safevalues$dom$elements$element, safeFormEl:module$exports$google3$third_party$javascript$safevalues$dom$elements$form, safeIframeEl:module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe, 
safeInputEl:module$exports$google3$third_party$javascript$safevalues$dom$elements$input, safeLinkEl:module$exports$google3$third_party$javascript$safevalues$dom$elements$link, safeScriptEl:module$exports$google3$third_party$javascript$safevalues$dom$elements$script, safeStyleEl:module$exports$google3$third_party$javascript$safevalues$dom$elements$style, safeDomParser:module$exports$google3$third_party$javascript$safevalues$dom$globals$dom_parser, safeLocation:module$exports$google3$third_party$javascript$safevalues$dom$globals$location, 
safeUrl:module$exports$google3$third_party$javascript$safevalues$dom$globals$url, safeWindow:module$exports$google3$third_party$javascript$safevalues$dom$globals$window, safeWorker:module$exports$google3$third_party$javascript$safevalues$dom$globals$worker};
module$exports$google3$third_party$javascript$safevalues$dom$index.setAnchorHref = module$exports$google3$third_party$javascript$safevalues$dom$elements$anchor.setHref;
module$exports$google3$third_party$javascript$safevalues$dom$index.setAnchorHrefLite = module$exports$google3$third_party$javascript$safevalues$dom$elements$anchor.setHrefLite;
module$exports$google3$third_party$javascript$safevalues$dom$index.setAreaHref = module$contents$google3$third_party$javascript$safevalues$dom$elements$area_setHref;
module$exports$google3$third_party$javascript$safevalues$dom$index.setBaseHref = module$contents$google3$third_party$javascript$safevalues$dom$elements$base_setHref;
module$exports$google3$third_party$javascript$safevalues$dom$index.setButtonFormaction = module$exports$google3$third_party$javascript$safevalues$dom$elements$button.setFormaction;
module$exports$google3$third_party$javascript$safevalues$dom$index.buildPrefixedAttributeSetter = module$exports$google3$third_party$javascript$safevalues$dom$elements$element.buildPrefixedAttributeSetter;
module$exports$google3$third_party$javascript$safevalues$dom$index.elementInsertAdjacentHtml = module$exports$google3$third_party$javascript$safevalues$dom$elements$element.insertAdjacentHtml;
module$exports$google3$third_party$javascript$safevalues$dom$index.setElementCssText = module$exports$google3$third_party$javascript$safevalues$dom$elements$element.setCssText;
module$exports$google3$third_party$javascript$safevalues$dom$index.setElementInnerHtml = module$exports$google3$third_party$javascript$safevalues$dom$elements$element.setInnerHtml;
module$exports$google3$third_party$javascript$safevalues$dom$index.setElementOuterHtml = module$exports$google3$third_party$javascript$safevalues$dom$elements$element.setOuterHtml;
module$exports$google3$third_party$javascript$safevalues$dom$index.setElementPrefixedAttribute = module$exports$google3$third_party$javascript$safevalues$dom$elements$element.setPrefixedAttribute;
module$exports$google3$third_party$javascript$safevalues$dom$index.setEmbedSrc = module$contents$google3$third_party$javascript$safevalues$dom$elements$embed_setSrc;
module$exports$google3$third_party$javascript$safevalues$dom$index.setFormAction = module$exports$google3$third_party$javascript$safevalues$dom$elements$form.setAction;
module$exports$google3$third_party$javascript$safevalues$dom$index.setFormActionLite = module$exports$google3$third_party$javascript$safevalues$dom$elements$form.setActionLite;
module$exports$google3$third_party$javascript$safevalues$dom$index.IframeIntent = module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.Intent;
module$exports$google3$third_party$javascript$safevalues$dom$index.TypeCannotBeUsedWithIframeIntentError = module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.TypeCannotBeUsedWithIntentError;
module$exports$google3$third_party$javascript$safevalues$dom$index.setIframeSrc = module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.setSrc;
module$exports$google3$third_party$javascript$safevalues$dom$index.setIframeSrcWithIntent = module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.setSrcWithIntent;
module$exports$google3$third_party$javascript$safevalues$dom$index.setIframeSrcdoc = module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.setSrcdoc;
module$exports$google3$third_party$javascript$safevalues$dom$index.setIframeSrcdocWithIntent = module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe.setSrcdocWithIntent;
module$exports$google3$third_party$javascript$safevalues$dom$index.setInputFormaction = module$exports$google3$third_party$javascript$safevalues$dom$elements$input.setFormaction;
module$exports$google3$third_party$javascript$safevalues$dom$index.setLinkHrefAndRel = module$exports$google3$third_party$javascript$safevalues$dom$elements$link.setHrefAndRel;
module$exports$google3$third_party$javascript$safevalues$dom$index.setLinkWithResourceUrlHrefAndRel = module$exports$google3$third_party$javascript$safevalues$dom$elements$link.setHrefAndRelWithTrustedResourceUrl;
module$exports$google3$third_party$javascript$safevalues$dom$index.setObjectData = module$contents$google3$third_party$javascript$safevalues$dom$elements$object_setData;
module$exports$google3$third_party$javascript$safevalues$dom$index.setScriptSrc = module$exports$google3$third_party$javascript$safevalues$dom$elements$script.setSrc;
module$exports$google3$third_party$javascript$safevalues$dom$index.setScriptTextContent = module$exports$google3$third_party$javascript$safevalues$dom$elements$script.setTextContent;
module$exports$google3$third_party$javascript$safevalues$dom$index.setStyleTextContent = module$exports$google3$third_party$javascript$safevalues$dom$elements$style.setTextContent;
module$exports$google3$third_party$javascript$safevalues$dom$index.setSvgAttribute = module$contents$google3$third_party$javascript$safevalues$dom$elements$svg_setAttribute;
module$exports$google3$third_party$javascript$safevalues$dom$index.setSvgUseHref = module$contents$google3$third_party$javascript$safevalues$dom$elements$svg_use_setHref;
module$exports$google3$third_party$javascript$safevalues$dom$index.documentExecCommand = module$contents$google3$third_party$javascript$safevalues$dom$globals$document_execCommand;
module$exports$google3$third_party$javascript$safevalues$dom$index.documentExecCommandInsertHtml = module$contents$google3$third_party$javascript$safevalues$dom$globals$document_execCommandInsertHtml;
module$exports$google3$third_party$javascript$safevalues$dom$index.documentWrite = module$contents$google3$third_party$javascript$safevalues$dom$globals$document_write;
module$exports$google3$third_party$javascript$safevalues$dom$index.domParserParseFromString = module$exports$google3$third_party$javascript$safevalues$dom$globals$dom_parser.parseFromString;
module$exports$google3$third_party$javascript$safevalues$dom$index.domParserParseHtml = module$exports$google3$third_party$javascript$safevalues$dom$globals$dom_parser.parseHtml;
module$exports$google3$third_party$javascript$safevalues$dom$index.domParserParseXml = module$exports$google3$third_party$javascript$safevalues$dom$globals$dom_parser.parseXml;
module$exports$google3$third_party$javascript$safevalues$dom$index.fetchResourceUrl = module$contents$google3$third_party$javascript$safevalues$dom$globals$fetch_fetchResourceUrl;
module$exports$google3$third_party$javascript$safevalues$dom$index.globalEval = module$contents$google3$third_party$javascript$safevalues$dom$globals$global_globalEval;
module$exports$google3$third_party$javascript$safevalues$dom$index.locationAssign = module$exports$google3$third_party$javascript$safevalues$dom$globals$location.assign;
module$exports$google3$third_party$javascript$safevalues$dom$index.locationReplace = module$exports$google3$third_party$javascript$safevalues$dom$globals$location.replace;
module$exports$google3$third_party$javascript$safevalues$dom$index.setLocationHref = module$exports$google3$third_party$javascript$safevalues$dom$globals$location.setHref;
module$exports$google3$third_party$javascript$safevalues$dom$index.rangeCreateContextualFragment = module$contents$google3$third_party$javascript$safevalues$dom$globals$range_createContextualFragment;
module$exports$google3$third_party$javascript$safevalues$dom$index.serviceWorkerContainerRegister = module$contents$google3$third_party$javascript$safevalues$dom$globals$service_worker_container_register;
module$exports$google3$third_party$javascript$safevalues$dom$index.objectUrlFromSafeSource = module$exports$google3$third_party$javascript$safevalues$dom$globals$url.objectUrlFromSafeSource;
module$exports$google3$third_party$javascript$safevalues$dom$index.getScriptNonce = module$exports$google3$third_party$javascript$safevalues$dom$globals$window.getScriptNonce;
module$exports$google3$third_party$javascript$safevalues$dom$index.getStyleNonce = module$exports$google3$third_party$javascript$safevalues$dom$globals$window.getStyleNonce;
module$exports$google3$third_party$javascript$safevalues$dom$index.windowOpen = module$exports$google3$third_party$javascript$safevalues$dom$globals$window.open;
module$exports$google3$third_party$javascript$safevalues$dom$index.createWorker = module$exports$google3$third_party$javascript$safevalues$dom$globals$worker.create;
module$exports$google3$third_party$javascript$safevalues$dom$index.createSharedWorker = module$exports$google3$third_party$javascript$safevalues$dom$globals$worker.createShared;
module$exports$google3$third_party$javascript$safevalues$dom$index.workerGlobalScopeImportScripts = module$exports$google3$third_party$javascript$safevalues$dom$globals$worker.importScripts;
var safevalues = {dom:{}};
safevalues.dom.safeAnchorEl = module$exports$google3$third_party$javascript$safevalues$dom$elements$anchor;
safevalues.dom.safeButtonEl = module$exports$google3$third_party$javascript$safevalues$dom$elements$button;
safevalues.dom.safeElement = module$exports$google3$third_party$javascript$safevalues$dom$elements$element;
safevalues.dom.safeFormEl = module$exports$google3$third_party$javascript$safevalues$dom$elements$form;
safevalues.dom.safeIframeEl = module$exports$google3$third_party$javascript$safevalues$dom$elements$iframe;
safevalues.dom.safeInputEl = module$exports$google3$third_party$javascript$safevalues$dom$elements$input;
safevalues.dom.safeLinkEl = module$exports$google3$third_party$javascript$safevalues$dom$elements$link;
safevalues.dom.safeScriptEl = module$exports$google3$third_party$javascript$safevalues$dom$elements$script;
safevalues.dom.safeStyleEl = module$exports$google3$third_party$javascript$safevalues$dom$elements$style;
safevalues.dom.safeDomParser = module$exports$google3$third_party$javascript$safevalues$dom$globals$dom_parser;
safevalues.dom.safeLocation = module$exports$google3$third_party$javascript$safevalues$dom$globals$location;
safevalues.dom.safeUrl = module$exports$google3$third_party$javascript$safevalues$dom$globals$url;
safevalues.dom.safeWindow = module$exports$google3$third_party$javascript$safevalues$dom$globals$window;
safevalues.dom.safeWorker = module$exports$google3$third_party$javascript$safevalues$dom$globals$worker;
safevalues.dom.setAnchorHref = module$exports$google3$third_party$javascript$safevalues$dom$index.setAnchorHref;
safevalues.dom.setAnchorHrefLite = module$exports$google3$third_party$javascript$safevalues$dom$index.setAnchorHrefLite;
safevalues.dom.setAreaHref = module$contents$google3$third_party$javascript$safevalues$dom$elements$area_setHref;
safevalues.dom.setBaseHref = module$contents$google3$third_party$javascript$safevalues$dom$elements$base_setHref;
safevalues.dom.setButtonFormaction = module$exports$google3$third_party$javascript$safevalues$dom$index.setButtonFormaction;
safevalues.dom.buildPrefixedAttributeSetter = module$exports$google3$third_party$javascript$safevalues$dom$index.buildPrefixedAttributeSetter;
safevalues.dom.elementInsertAdjacentHtml = module$exports$google3$third_party$javascript$safevalues$dom$index.elementInsertAdjacentHtml;
safevalues.dom.setElementCssText = module$exports$google3$third_party$javascript$safevalues$dom$index.setElementCssText;
safevalues.dom.setElementInnerHtml = module$exports$google3$third_party$javascript$safevalues$dom$index.setElementInnerHtml;
safevalues.dom.setElementOuterHtml = module$exports$google3$third_party$javascript$safevalues$dom$index.setElementOuterHtml;
safevalues.dom.setElementPrefixedAttribute = module$exports$google3$third_party$javascript$safevalues$dom$index.setElementPrefixedAttribute;
safevalues.dom.setEmbedSrc = module$contents$google3$third_party$javascript$safevalues$dom$elements$embed_setSrc;
safevalues.dom.setFormAction = module$exports$google3$third_party$javascript$safevalues$dom$index.setFormAction;
safevalues.dom.setFormActionLite = module$exports$google3$third_party$javascript$safevalues$dom$index.setFormActionLite;
safevalues.dom.IframeIntent = module$exports$google3$third_party$javascript$safevalues$dom$index.IframeIntent;
safevalues.dom.TypeCannotBeUsedWithIframeIntentError = module$exports$google3$third_party$javascript$safevalues$dom$index.TypeCannotBeUsedWithIframeIntentError;
safevalues.dom.setIframeSrc = module$exports$google3$third_party$javascript$safevalues$dom$index.setIframeSrc;
safevalues.dom.setIframeSrcWithIntent = module$exports$google3$third_party$javascript$safevalues$dom$index.setIframeSrcWithIntent;
safevalues.dom.setIframeSrcdoc = module$exports$google3$third_party$javascript$safevalues$dom$index.setIframeSrcdoc;
safevalues.dom.setIframeSrcdocWithIntent = module$exports$google3$third_party$javascript$safevalues$dom$index.setIframeSrcdocWithIntent;
safevalues.dom.setInputFormaction = module$exports$google3$third_party$javascript$safevalues$dom$index.setInputFormaction;
safevalues.dom.setLinkHrefAndRel = module$exports$google3$third_party$javascript$safevalues$dom$index.setLinkHrefAndRel;
safevalues.dom.setLinkWithResourceUrlHrefAndRel = module$exports$google3$third_party$javascript$safevalues$dom$index.setLinkWithResourceUrlHrefAndRel;
safevalues.dom.setObjectData = module$contents$google3$third_party$javascript$safevalues$dom$elements$object_setData;
safevalues.dom.setScriptSrc = module$exports$google3$third_party$javascript$safevalues$dom$index.setScriptSrc;
safevalues.dom.setScriptTextContent = module$exports$google3$third_party$javascript$safevalues$dom$index.setScriptTextContent;
safevalues.dom.setStyleTextContent = module$exports$google3$third_party$javascript$safevalues$dom$index.setStyleTextContent;
safevalues.dom.setSvgAttribute = module$contents$google3$third_party$javascript$safevalues$dom$elements$svg_setAttribute;
safevalues.dom.setSvgUseHref = module$contents$google3$third_party$javascript$safevalues$dom$elements$svg_use_setHref;
safevalues.dom.documentExecCommand = module$contents$google3$third_party$javascript$safevalues$dom$globals$document_execCommand;
safevalues.dom.documentExecCommandInsertHtml = module$contents$google3$third_party$javascript$safevalues$dom$globals$document_execCommandInsertHtml;
safevalues.dom.documentWrite = module$contents$google3$third_party$javascript$safevalues$dom$globals$document_write;
safevalues.dom.domParserParseFromString = module$exports$google3$third_party$javascript$safevalues$dom$index.domParserParseFromString;
safevalues.dom.domParserParseHtml = module$exports$google3$third_party$javascript$safevalues$dom$index.domParserParseHtml;
safevalues.dom.domParserParseXml = module$exports$google3$third_party$javascript$safevalues$dom$index.domParserParseXml;
safevalues.dom.fetchResourceUrl = module$contents$google3$third_party$javascript$safevalues$dom$globals$fetch_fetchResourceUrl;
safevalues.dom.globalEval = module$contents$google3$third_party$javascript$safevalues$dom$globals$global_globalEval;
safevalues.dom.locationAssign = module$exports$google3$third_party$javascript$safevalues$dom$index.locationAssign;
safevalues.dom.locationReplace = module$exports$google3$third_party$javascript$safevalues$dom$index.locationReplace;
safevalues.dom.setLocationHref = module$exports$google3$third_party$javascript$safevalues$dom$index.setLocationHref;
safevalues.dom.rangeCreateContextualFragment = module$contents$google3$third_party$javascript$safevalues$dom$globals$range_createContextualFragment;
safevalues.dom.serviceWorkerContainerRegister = module$contents$google3$third_party$javascript$safevalues$dom$globals$service_worker_container_register;
safevalues.dom.objectUrlFromSafeSource = module$exports$google3$third_party$javascript$safevalues$dom$index.objectUrlFromSafeSource;
safevalues.dom.getScriptNonce = module$exports$google3$third_party$javascript$safevalues$dom$index.getScriptNonce;
safevalues.dom.getStyleNonce = module$exports$google3$third_party$javascript$safevalues$dom$index.getStyleNonce;
safevalues.dom.windowOpen = module$exports$google3$third_party$javascript$safevalues$dom$index.windowOpen;
safevalues.dom.createWorker = module$exports$google3$third_party$javascript$safevalues$dom$index.createWorker;
safevalues.dom.createSharedWorker = module$exports$google3$third_party$javascript$safevalues$dom$index.createSharedWorker;
safevalues.dom.workerGlobalScopeImportScripts = module$exports$google3$third_party$javascript$safevalues$dom$index.workerGlobalScopeImportScripts;
function module$contents$google3$third_party$javascript$safevalues$internals$style_impl_isStyle(value) {
  return typeof value === "string";
}
function module$contents$google3$third_party$javascript$safevalues$internals$style_impl_unwrapStyle(value) {
  return value;
}
;function module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_assertValidJustification(justification) {
  if (typeof justification !== "string" || justification.trim() === "") {
    throw Error("Calls to uncheckedconversion functions must go through security review. A justification must be provided to capture what security assumptions are being made. See go/unchecked-conversions");
  }
}
function module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_htmlSafeByReview(html, options) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_assertValidJustification(options.justification);
  return (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(html);
}
function module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_scriptSafeByReview(script, options) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_assertValidJustification(options.justification);
  return module$contents$google3$third_party$javascript$safevalues$internals$script_impl_createScriptInternal(script);
}
function module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_resourceUrlSafeByReview(url, options) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_assertValidJustification(options.justification);
  return module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_createResourceUrlInternal(url);
}
function module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_urlSafeByReview(url, options) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_assertValidJustification(options.justification);
  return module$contents$google3$third_party$javascript$safevalues$internals$url_impl_createUrlInternal(url);
}
;safevalues.restricted = {};
safevalues.restricted.reviewed = {};
safevalues.restricted.reviewed.htmlSafeByReview = module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_htmlSafeByReview;
safevalues.restricted.reviewed.scriptSafeByReview = module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_scriptSafeByReview;
safevalues.restricted.reviewed.resourceUrlSafeByReview = module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_resourceUrlSafeByReview;
safevalues.restricted.reviewed.styleSheetSafeByReview = function(stylesheet, options) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_assertValidJustification(options.justification);
  return module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_createStyleSheetInternal(stylesheet);
};
safevalues.restricted.reviewed.urlSafeByReview = module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_urlSafeByReview;
safevalues.restricted.reviewed.styleSafeByReview = function(style, options) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_assertValidJustification(options.justification);
  return style;
};
goog.string.DETECT_DOUBLE_ESCAPING = !1;
goog.string.FORCE_NON_DOM_HTML_UNESCAPING = !1;
goog.string.Unicode = {NBSP:"\u00a0", ZERO_WIDTH_SPACE:"\u200b"};
goog.string.startsWith = goog.string.internal.startsWith;
goog.string.endsWith = goog.string.internal.endsWith;
goog.string.caseInsensitiveStartsWith = goog.string.internal.caseInsensitiveStartsWith;
goog.string.caseInsensitiveEndsWith = goog.string.internal.caseInsensitiveEndsWith;
goog.string.caseInsensitiveEquals = goog.string.internal.caseInsensitiveEquals;
goog.string.subs = function(str, var_args) {
  for (var splitParts = str.split("%s"), returnString = "", subsArguments = Array.prototype.slice.call(arguments, 1); subsArguments.length && splitParts.length > 1;) {
    returnString += splitParts.shift() + subsArguments.shift();
  }
  return returnString + splitParts.join("%s");
};
goog.string.collapseWhitespace = function(str) {
  return str.replace(/[\s\xa0]+/g, " ").replace(/^\s+|\s+$/g, "");
};
goog.string.isEmptyOrWhitespace = goog.string.internal.isEmptyOrWhitespace;
goog.string.isEmptyString = function(str) {
  return str.length == 0;
};
goog.string.isEmpty = goog.string.isEmptyOrWhitespace;
goog.string.isEmptyOrWhitespaceSafe = function(str) {
  return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(str));
};
goog.string.isEmptySafe = goog.string.isEmptyOrWhitespaceSafe;
goog.string.isBreakingWhitespace = function(str) {
  return !/[^\t\n\r ]/.test(str);
};
goog.string.isAlpha = function(str) {
  return !/[^a-zA-Z]/.test(str);
};
goog.string.isNumeric = function(str) {
  return !/[^0-9]/.test(str);
};
goog.string.isAlphaNumeric = function(str) {
  return !/[^a-zA-Z0-9]/.test(str);
};
goog.string.isSpace = function(ch) {
  return ch == " ";
};
goog.string.isUnicodeChar = function(ch) {
  return ch.length == 1 && ch >= " " && ch <= "~" || ch >= "\u0080" && ch <= "\ufffd";
};
goog.string.stripNewlines = function(str) {
  return str.replace(/(\r\n|\r|\n)+/g, " ");
};
goog.string.canonicalizeNewlines = function(str) {
  return str.replace(/(\r\n|\r|\n)/g, "\n");
};
goog.string.normalizeWhitespace = function(str) {
  return str.replace(/\xa0|\s/g, " ");
};
goog.string.normalizeSpaces = function(str) {
  return str.replace(/\xa0|[ \t]+/g, " ");
};
goog.string.collapseBreakingSpaces = function(str) {
  return str.replace(/[\t\r\n ]+/g, " ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g, "");
};
goog.string.trim = goog.string.internal.trim;
goog.string.trimLeft = function(str) {
  return str.replace(/^[\s\xa0]+/, "");
};
goog.string.trimRight = function(str) {
  return str.replace(/[\s\xa0]+$/, "");
};
goog.string.caseInsensitiveCompare = goog.string.internal.caseInsensitiveCompare;
goog.string.numberAwareCompare_ = function(str1, str2, tokenizerRegExp) {
  if (str1 == str2) {
    return 0;
  }
  if (!str1) {
    return -1;
  }
  if (!str2) {
    return 1;
  }
  for (var tokens1 = str1.toLowerCase().match(tokenizerRegExp), tokens2 = str2.toLowerCase().match(tokenizerRegExp), count = Math.min(tokens1.length, tokens2.length), i = 0; i < count; i++) {
    var a = tokens1[i], b = tokens2[i];
    if (a != b) {
      var num1 = parseInt(a, 10);
      if (!isNaN(num1)) {
        var num2 = parseInt(b, 10);
        if (!isNaN(num2) && num1 - num2) {
          return num1 - num2;
        }
      }
      return a < b ? -1 : 1;
    }
  }
  return tokens1.length != tokens2.length ? tokens1.length - tokens2.length : str1 < str2 ? -1 : 1;
};
goog.string.intAwareCompare = function(str1, str2) {
  return goog.string.numberAwareCompare_(str1, str2, /\d+|\D+/g);
};
goog.string.floatAwareCompare = function(str1, str2) {
  return goog.string.numberAwareCompare_(str1, str2, /\d+|\.\d+|\D+/g);
};
goog.string.numerateCompare = goog.string.floatAwareCompare;
goog.string.urlEncode = function(str) {
  return encodeURIComponent(String(str));
};
goog.string.urlDecode = function(str) {
  return decodeURIComponent(str.replace(/\+/g, " "));
};
goog.string.newLineToBr = goog.string.internal.newLineToBr;
goog.string.htmlEscape = function(str, opt_isLikelyToContainHtmlChars) {
  str = goog.string.internal.htmlEscape(str, opt_isLikelyToContainHtmlChars);
  goog.string.DETECT_DOUBLE_ESCAPING && (str = str.replace(goog.string.E_RE_, "&#101;"));
  return str;
};
goog.string.E_RE_ = /e/g;
goog.string.unescapeEntities = function(str) {
  return goog.string.contains(str, "&") ? !goog.string.FORCE_NON_DOM_HTML_UNESCAPING && "document" in goog.global ? goog.string.unescapeEntitiesUsingDom_(str) : goog.string.unescapePureXmlEntities_(str) : str;
};
goog.string.unescapeEntitiesWithDocument = function(str, document) {
  return goog.string.contains(str, "&") ? goog.string.unescapeEntitiesUsingDom_(str, document) : str;
};
goog.string.unescapeEntitiesUsingDom_ = function(str, opt_document) {
  var seen = {"&amp;":"&", "&lt;":"<", "&gt;":">", "&quot;":'"'};
  var div = opt_document ? opt_document.createElement("div") : goog.global.document.createElement("div");
  return str.replace(goog.string.HTML_ENTITY_PATTERN_, function(s, entity) {
    var value = seen[s];
    if (value) {
      return value;
    }
    if (entity.charAt(0) == "#") {
      var n = Number("0" + entity.slice(1));
      isNaN(n) || (value = String.fromCharCode(n));
    }
    value || (module$exports$google3$third_party$javascript$safevalues$dom$index.setElementInnerHtml(div, module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_htmlSafeByReview(s + " ", {justification:"Single HTML entity."})), value = div.firstChild.nodeValue.slice(0, -1));
    return seen[s] = value;
  });
};
goog.string.unescapePureXmlEntities_ = function(str) {
  return str.replace(/&([^;]+);/g, function(s, entity) {
    switch(entity) {
      case "amp":
        return "&";
      case "lt":
        return "<";
      case "gt":
        return ">";
      case "quot":
        return '"';
      default:
        if (entity.charAt(0) == "#") {
          var n = Number("0" + entity.slice(1));
          if (!isNaN(n)) {
            return String.fromCharCode(n);
          }
        }
        return s;
    }
  });
};
goog.string.HTML_ENTITY_PATTERN_ = /&([^;\s<&]+);?/g;
goog.string.whitespaceEscape = function(str, opt_xml) {
  return goog.string.newLineToBr(str.replace(/  /g, " &#160;"), opt_xml);
};
goog.string.preserveSpaces = function(str) {
  return str.replace(/(^|[\n ]) /g, "$1" + goog.string.Unicode.NBSP);
};
goog.string.stripQuotes = function(str, quoteChars) {
  for (var length = quoteChars.length, i = 0; i < length; i++) {
    var quoteChar = length == 1 ? quoteChars : quoteChars.charAt(i);
    if (str.charAt(0) == quoteChar && str.charAt(str.length - 1) == quoteChar) {
      return str.substring(1, str.length - 1);
    }
  }
  return str;
};
goog.string.truncate = function(str, chars, opt_protectEscapedCharacters) {
  opt_protectEscapedCharacters && (str = goog.string.unescapeEntities(str));
  str.length > chars && (str = str.substring(0, chars - 3) + "...");
  opt_protectEscapedCharacters && (str = goog.string.htmlEscape(str));
  return str;
};
goog.string.truncateMiddle = function(str, chars, opt_protectEscapedCharacters, opt_trailingChars) {
  opt_protectEscapedCharacters && (str = goog.string.unescapeEntities(str));
  if (opt_trailingChars && str.length > chars) {
    opt_trailingChars > chars && (opt_trailingChars = chars), str = str.substring(0, chars - opt_trailingChars) + "..." + str.substring(str.length - opt_trailingChars);
  } else if (str.length > chars) {
    var half = Math.floor(chars / 2);
    str = str.substring(0, half + chars % 2) + "..." + str.substring(str.length - half);
  }
  opt_protectEscapedCharacters && (str = goog.string.htmlEscape(str));
  return str;
};
goog.string.specialEscapeChars_ = {"\x00":"\\0", "\b":"\\b", "\f":"\\f", "\n":"\\n", "\r":"\\r", "\t":"\\t", "\v":"\\x0B", '"':'\\"', "\\":"\\\\", "<":"\\u003C"};
goog.string.jsEscapeCache_ = {"'":"\\'"};
goog.string.quote = function(s) {
  s = String(s);
  for (var sb = ['"'], i = 0; i < s.length; i++) {
    var ch = s.charAt(i), cc = ch.charCodeAt(0);
    sb[i + 1] = goog.string.specialEscapeChars_[ch] || (cc > 31 && cc < 127 ? ch : goog.string.escapeChar(ch));
  }
  sb.push('"');
  return sb.join("");
};
goog.string.escapeString = function(str) {
  for (var sb = [], i = 0; i < str.length; i++) {
    sb[i] = goog.string.escapeChar(str.charAt(i));
  }
  return sb.join("");
};
goog.string.escapeChar = function(c) {
  if (c in goog.string.jsEscapeCache_) {
    return goog.string.jsEscapeCache_[c];
  }
  if (c in goog.string.specialEscapeChars_) {
    return goog.string.jsEscapeCache_[c] = goog.string.specialEscapeChars_[c];
  }
  var cc = c.charCodeAt(0);
  if (cc > 31 && cc < 127) {
    var rv = c;
  } else {
    if (cc < 256) {
      if (rv = "\\x", cc < 16 || cc > 256) {
        rv += "0";
      }
    } else {
      rv = "\\u", cc < 4096 && (rv += "0");
    }
    rv += cc.toString(16).toUpperCase();
  }
  return goog.string.jsEscapeCache_[c] = rv;
};
goog.string.contains = goog.string.internal.contains;
goog.string.caseInsensitiveContains = goog.string.internal.caseInsensitiveContains;
goog.string.countOf = function(s, ss) {
  return s && ss ? s.split(ss).length - 1 : 0;
};
goog.string.removeAt = function(s, index, stringLength) {
  var resultStr = s;
  index >= 0 && index < s.length && stringLength > 0 && (resultStr = s.slice(0, index) + s.slice(index + stringLength));
  return resultStr;
};
goog.string.remove = function(str, substr) {
  return str.replace(substr, "");
};
goog.string.removeAll = function(s, ss) {
  var re = new RegExp(goog.string.regExpEscape(ss), "g");
  return s.replace(re, "");
};
goog.string.replaceAll = function(s, ss, replacement) {
  var re = new RegExp(goog.string.regExpEscape(ss), "g");
  return s.replace(re, replacement.replace(/\$/g, "$$$$"));
};
goog.string.regExpEscape = function(s) {
  return String(s).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08");
};
goog.string.repeat = goog.FEATURESET_YEAR >= 2018 || String.prototype.repeat ? function(string, length) {
  return string.repeat(length);
} : function(string, length) {
  return Array(length + 1).join(string);
};
goog.string.padNumber = function(num, length, opt_precision) {
  if (!Number.isFinite(num)) {
    return String(num);
  }
  var s = opt_precision !== void 0 ? num.toFixed(opt_precision) : String(num), index = s.indexOf(".");
  index === -1 && (index = s.length);
  var sign = s[0] === "-" ? "-" : "";
  sign && (s = s.substring(1));
  return sign + goog.string.repeat("0", Math.max(0, length - index)) + s;
};
goog.string.makeSafe = function(obj) {
  return obj == null ? "" : String(obj);
};
goog.string.getRandomString = function() {
  return Math.floor(Math.random() * 2147483648).toString(36) + Math.abs(Math.floor(Math.random() * 2147483648) ^ goog.now()).toString(36);
};
goog.string.compareVersions = goog.string.internal.compareVersions;
goog.string.hashCode = function(str) {
  for (var result = 0, i = 0; i < str.length; ++i) {
    result = 31 * result + str.charCodeAt(i) >>> 0;
  }
  return result;
};
goog.string.uniqueStringCounter_ = Math.random() * 2147483648 | 0;
goog.string.createUniqueString = function() {
  return "goog_" + goog.string.uniqueStringCounter_++;
};
goog.string.toNumber = function(str) {
  var num = Number(str);
  return num == 0 && goog.string.isEmptyOrWhitespace(str) ? NaN : num;
};
goog.string.isLowerCamelCase = function(str) {
  return /^[a-z]+([A-Z][a-z]*)*$/.test(str);
};
goog.string.isUpperCamelCase = function(str) {
  return /^([A-Z][a-z]*)+$/.test(str);
};
goog.string.toCamelCase = function(str) {
  return String(str).replace(/\-([a-z])/g, function(all, match) {
    return match.toUpperCase();
  });
};
goog.string.toSelectorCase = function(str) {
  return String(str).replace(/([A-Z])/g, "-$1").toLowerCase();
};
goog.string.toTitleCase = function(str, opt_delimiters) {
  var delimiters = typeof opt_delimiters === "string" ? goog.string.regExpEscape(opt_delimiters) : "\\s";
  return str.replace(new RegExp("(^" + (delimiters ? "|[" + delimiters + "]+" : "") + ")([a-z])", "g"), function(all, p1, p2) {
    return p1 + p2.toUpperCase();
  });
};
goog.string.capitalize = function(str) {
  return String(str.charAt(0)).toUpperCase() + String(str.slice(1)).toLowerCase();
};
goog.string.parseInt = function(value) {
  isFinite(value) && (value = String(value));
  return typeof value === "string" ? /^\s*-?0x/i.test(value) ? parseInt(value, 16) : parseInt(value, 10) : NaN;
};
goog.string.splitLimit = function(str, separator, limit) {
  for (var parts = str.split(separator), returnVal = []; limit > 0 && parts.length;) {
    returnVal.push(parts.shift()), limit--;
  }
  parts.length && returnVal.push(parts.join(separator));
  return returnVal;
};
goog.string.lastComponent = function(str, separators) {
  if (separators) {
    typeof separators == "string" && (separators = [separators]);
  } else {
    return str;
  }
  for (var lastSeparatorIndex = -1, i = 0; i < separators.length; i++) {
    if (separators[i] != "") {
      var currentSeparatorIndex = str.lastIndexOf(separators[i]);
      currentSeparatorIndex > lastSeparatorIndex && (lastSeparatorIndex = currentSeparatorIndex);
    }
  }
  return lastSeparatorIndex == -1 ? str : str.slice(lastSeparatorIndex + 1);
};
goog.string.editDistance = function(a, b) {
  var v0 = [], v1 = [];
  if (a == b) {
    return 0;
  }
  if (!a.length || !b.length) {
    return Math.max(a.length, b.length);
  }
  for (var i = 0; i < b.length + 1; i++) {
    v0[i] = i;
  }
  for (var i$jscomp$0 = 0; i$jscomp$0 < a.length; i$jscomp$0++) {
    v1[0] = i$jscomp$0 + 1;
    for (var j = 0; j < b.length; j++) {
      v1[j + 1] = Math.min(v1[j] + 1, v0[j + 1] + 1, v0[j] + Number(a[i$jscomp$0] != b[j]));
    }
    for (var j$jscomp$0 = 0; j$jscomp$0 < v0.length; j$jscomp$0++) {
      v0[j$jscomp$0] = v1[j$jscomp$0];
    }
  }
  return v1[b.length];
};
goog.net = {};
goog.net.Cookies = function(context) {
  this.document_ = context || {cookie:""};
};
goog.net.Cookies.MAX_COOKIE_LENGTH = 3950;
goog.net.Cookies.TEST_COOKIE_NAME_ = "TESTCOOKIESENABLED";
goog.net.Cookies.TEST_COOKIE_VALUE_ = "1";
goog.net.Cookies.TEST_COOKIE_MAX_AGE_ = 60;
goog.net.Cookies.prototype.isEnabled = function() {
  if (!goog.global.navigator.cookieEnabled) {
    return !1;
  }
  if (!this.isEmpty()) {
    return !0;
  }
  this.set(goog.net.Cookies.TEST_COOKIE_NAME_, goog.net.Cookies.TEST_COOKIE_VALUE_, {maxAge:goog.net.Cookies.TEST_COOKIE_MAX_AGE_});
  if (this.get(goog.net.Cookies.TEST_COOKIE_NAME_) !== goog.net.Cookies.TEST_COOKIE_VALUE_) {
    return !1;
  }
  this.remove(goog.net.Cookies.TEST_COOKIE_NAME_);
  return !0;
};
goog.net.Cookies.prototype.isValidName = function(name) {
  return !/[;=\s]/.test(name);
};
goog.net.Cookies.prototype.isValidValue = function(value) {
  return !/[;\r\n]/.test(value);
};
goog.net.Cookies.prototype.set = function(name, value, options) {
  var secure = !1;
  if (typeof options === "object") {
    var sameSite = options.sameSite;
    secure = options.secure || !1;
    var domain = options.domain || void 0;
    var path = options.path || void 0;
    var maxAge = options.maxAge;
  }
  if (!this.isValidName(name)) {
    throw Error('Invalid cookie name "' + name + '"');
  }
  if (!this.isValidValue(value)) {
    throw Error('Invalid cookie value "' + value + '"');
  }
  maxAge === void 0 && (maxAge = -1);
  this.setCookie_(name + "=" + value + (domain ? ";domain=" + domain : "") + (path ? ";path=" + path : "") + (maxAge < 0 ? "" : maxAge == 0 ? ";expires=" + (new Date(1970, 1, 1)).toUTCString() : ";expires=" + (new Date(Date.now() + maxAge * 1E3)).toUTCString()) + (secure ? ";secure" : "") + (sameSite != null ? ";samesite=" + sameSite : ""));
};
goog.net.Cookies.prototype.get = function(name, opt_default) {
  for (var nameEq = name + "=", parts = this.getParts_(), i = 0, part; i < parts.length; i++) {
    part = goog.string.trim(parts[i]);
    if (part.lastIndexOf(nameEq, 0) == 0) {
      return part.slice(nameEq.length);
    }
    if (part == name) {
      return "";
    }
  }
  return opt_default;
};
goog.net.Cookies.prototype.remove = function(name, opt_path, opt_domain) {
  var rv = this.containsKey(name);
  this.set(name, "", {maxAge:0, path:opt_path, domain:opt_domain});
  return rv;
};
goog.net.Cookies.prototype.getKeys = function() {
  return this.getKeyValues_().keys;
};
goog.net.Cookies.prototype.getValues = function() {
  return this.getKeyValues_().values;
};
goog.net.Cookies.prototype.isEmpty = function() {
  return !this.document_.cookie;
};
goog.net.Cookies.prototype.getCount = function() {
  return this.document_.cookie ? this.getParts_().length : 0;
};
goog.net.Cookies.prototype.containsKey = function(key) {
  return this.get(key) !== void 0;
};
goog.net.Cookies.prototype.containsValue = function(value) {
  for (var values = this.getKeyValues_().values, i = 0; i < values.length; i++) {
    if (values[i] == value) {
      return !0;
    }
  }
  return !1;
};
goog.net.Cookies.prototype.clear = function() {
  for (var keys = this.getKeyValues_().keys, i = keys.length - 1; i >= 0; i--) {
    this.remove(keys[i]);
  }
};
goog.net.Cookies.prototype.setCookie_ = function(s) {
  this.document_.cookie = s;
};
goog.net.Cookies.prototype.getParts_ = function() {
  return (this.document_.cookie || "").split(";");
};
goog.net.Cookies.prototype.getKeyValues_ = function() {
  for (var parts = this.getParts_(), keys = [], values = [], index, part, i = 0; i < parts.length; i++) {
    part = goog.string.trim(parts[i]), index = part.indexOf("="), index == -1 ? (keys.push(""), values.push(part)) : (keys.push(part.substring(0, index)), values.push(part.substring(index + 1)));
  }
  return {keys:keys, values:values};
};
goog.net.Cookies.SetOptions = function() {
};
goog.net.Cookies.SameSite = {LAX:"lax", NONE:"none", STRICT:"strict"};
goog.net.Cookies.instance_ = new goog.net.Cookies(typeof document == "undefined" ? null : document);
goog.net.Cookies.getInstance = function() {
  return goog.net.Cookies.instance_;
};
gapix.auth_firstparty.SAPISID_3P_NAME_ = "__Secure-3PAPISID";
gapix.auth_firstparty.SAPISID_1P_NAME_ = "__Secure-1PAPISID";
gapix.auth_firstparty.PRE_K_SAPISID_NAME_ = "SAPISID";
gapix.auth_firstparty.SECURE_FIRST_PARTY_AUTH_SCHEME_ = "SAPISIDHASH";
gapix.auth_firstparty.SECURE_FIRST_PARTY_AUTH_3P_SCHEME_ = "SAPISID3PHASH";
gapix.auth_firstparty.SECURE_FIRST_PARTY_AUTH_1P_SCHEME_ = "SAPISID1PHASH";
gapix.auth_firstparty.PRE_K_APISID_NAME_ = "APISID";
gapix.auth_firstparty.UNSECURED_FIRST_PARTY_AUTH_SCHEME_ = "APISIDHASH";
gapix.auth_firstparty.OVERRIDE_SID_VAR_ = "__OVERRIDE_SID";
gapix.auth_firstparty.OVERRIDE_SECURE_API_SESSION_COOKIE_VAR = "__SAPISID";
gapix.auth_firstparty.OVERRIDE_SECURE_API_SESSION_COOKIE_1P_VAR = "__1PSAPISID";
gapix.auth_firstparty.OVERRIDE_SECURE_API_SESSION_COOKIE_3P_VAR = "__3PSAPISID";
gapix.auth_firstparty.OVERRIDE_UNSECURED_API_SESSION_COOKIE_VAR = "__APISID";
gapix.auth_firstparty.hasFirstPartyAuthHeader = function(headers) {
  var isAuthorizationSchemeFirstParty = {};
  isAuthorizationSchemeFirstParty[gapix.auth_firstparty.SECURE_FIRST_PARTY_AUTH_SCHEME_] = !0;
  isAuthorizationSchemeFirstParty[gapix.auth_firstparty.SECURE_FIRST_PARTY_AUTH_3P_SCHEME_] = !0;
  isAuthorizationSchemeFirstParty[gapix.auth_firstparty.SECURE_FIRST_PARTY_AUTH_1P_SCHEME_] = !0;
  isAuthorizationSchemeFirstParty[gapix.auth_firstparty.UNSECURED_FIRST_PARTY_AUTH_SCHEME_] = !0;
  return headers && (headers.OriginToken || headers.Authorization && isAuthorizationSchemeFirstParty[String(headers.Authorization).split(" ")[0]]) ? !0 : !1;
};
gapix.auth_firstparty.isLoggedIn = function() {
  var sessionCookie = goog.global[gapix.auth_firstparty.OVERRIDE_SECURE_API_SESSION_COOKIE_VAR] || goog.global[gapix.auth_firstparty.OVERRIDE_UNSECURED_API_SESSION_COOKIE_VAR] || goog.global[gapix.auth_firstparty.OVERRIDE_SECURE_API_SESSION_COOKIE_3P_VAR] || goog.global[gapix.auth_firstparty.OVERRIDE_SECURE_API_SESSION_COOKIE_1P_VAR] || goog.global[gapix.auth_firstparty.OVERRIDE_SID_VAR_];
  if (sessionCookie) {
    return !0;
  }
  if (typeof document !== "undefined") {
    var cookies = new goog.net.Cookies(document);
    sessionCookie = cookies.get(gapix.auth_firstparty.PRE_K_SAPISID_NAME_) || cookies.get(gapix.auth_firstparty.PRE_K_APISID_NAME_) || cookies.get(gapix.auth_firstparty.SAPISID_3P_NAME_) || cookies.get(gapix.auth_firstparty.SAPISID_1P_NAME_);
  }
  return !!sessionCookie;
};
gapix.auth_firstparty.getLegacyAuthHeaderValue_ = function(isSecure, opt_userIdentifiers) {
  var apiSessionCookieValue = isSecure ? goog.global[gapix.auth_firstparty.OVERRIDE_SECURE_API_SESSION_COOKIE_VAR] : goog.global[gapix.auth_firstparty.OVERRIDE_UNSECURED_API_SESSION_COOKIE_VAR];
  if (!apiSessionCookieValue && typeof document !== "undefined") {
    var cookies = new goog.net.Cookies(document);
    apiSessionCookieValue = cookies.get(isSecure ? gapix.auth_firstparty.PRE_K_SAPISID_NAME_ : gapix.auth_firstparty.PRE_K_APISID_NAME_) || cookies.get(gapix.auth_firstparty.SAPISID_3P_NAME_);
  }
  return apiSessionCookieValue ? gapix.auth_firstparty.tokencrafter.createAuthHeaderValueForFirstParty(String(goog.global.location.href), apiSessionCookieValue, isSecure ? gapix.auth_firstparty.SECURE_FIRST_PARTY_AUTH_SCHEME_ : gapix.auth_firstparty.UNSECURED_FIRST_PARTY_AUTH_SCHEME_, opt_userIdentifiers) : null;
};
gapix.auth_firstparty.getNewAuthHeaderValue_ = function(overrideVarName, sessionCookieName, authSchemeName, opt_userIdentifiers) {
  var apiSessionCookieValue = goog.global[overrideVarName];
  apiSessionCookieValue || typeof document === "undefined" || (apiSessionCookieValue = (new goog.net.Cookies(document)).get(sessionCookieName));
  return apiSessionCookieValue ? gapix.auth_firstparty.tokencrafter.createAuthHeaderValueForFirstParty(String(goog.global.location.href), apiSessionCookieValue, authSchemeName, opt_userIdentifiers) : null;
};
gapix.auth_firstparty.getAuthHeaderValueForFirstParty = function(opt_userIdentifiers) {
  var origin = gapix.util.getOrigin(String(goog.global.location.href)), hashes = [];
  if (gapix.auth_firstparty.isLoggedIn()) {
    var isSecure = origin.indexOf("https:") == 0 || origin.indexOf("chrome-extension:") == 0 || origin.indexOf("chrome-untrusted://new-tab-page") == 0 || origin.indexOf("moz-extension:") == 0, legacyHashValue = gapix.auth_firstparty.getLegacyAuthHeaderValue_(isSecure, opt_userIdentifiers);
    legacyHashValue && hashes.push(legacyHashValue);
    if (isSecure) {
      var new1PHashValue = gapix.auth_firstparty.getNewAuthHeaderValue_(gapix.auth_firstparty.OVERRIDE_SECURE_API_SESSION_COOKIE_1P_VAR, gapix.auth_firstparty.SAPISID_1P_NAME_, gapix.auth_firstparty.SECURE_FIRST_PARTY_AUTH_1P_SCHEME_, opt_userIdentifiers);
      new1PHashValue && hashes.push(new1PHashValue);
      var new3PHashValue = gapix.auth_firstparty.getNewAuthHeaderValue_(gapix.auth_firstparty.OVERRIDE_SECURE_API_SESSION_COOKIE_3P_VAR, gapix.auth_firstparty.SAPISID_3P_NAME_, gapix.auth_firstparty.SECURE_FIRST_PARTY_AUTH_3P_SCHEME_, opt_userIdentifiers);
      new3PHashValue && hashes.push(new3PHashValue);
    }
  }
  return hashes.length == 0 ? null : hashes.join(" ");
};
var module$exports$google3$javascript$frameworks$client$analytics$transport$stream_compressor = {StreamCompressor:function(minSize) {
  this.minSize = minSize === void 0 ? 1024 : minSize;
}};
module$exports$google3$javascript$frameworks$client$analytics$transport$stream_compressor.StreamCompressor.prototype.compress = function(s) {
  var compressionStream, buffer, writer, JSCompiler_temp_const;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m609921655$7) {
    switch($jscomp$generator$context$m609921655$7.nextAddress) {
      case 1:
        return compressionStream = new CompressionStream("gzip"), buffer = (new Response(compressionStream.readable)).arrayBuffer(), writer = compressionStream.writable.getWriter(), $jscomp$generator$context$m609921655$7.yield(writer.write((new TextEncoder()).encode(s)), 2);
      case 2:
        return $jscomp$generator$context$m609921655$7.yield(writer.close(), 3);
      case 3:
        return JSCompiler_temp_const = Uint8Array, $jscomp$generator$context$m609921655$7.yield(buffer, 4);
      case 4:
        return $jscomp$generator$context$m609921655$7.return(new JSCompiler_temp_const($jscomp$generator$context$m609921655$7.yieldResult));
    }
  });
};
module$exports$google3$javascript$frameworks$client$analytics$transport$stream_compressor.StreamCompressor.prototype.isSupported = function(size) {
  return size < this.minSize ? !1 : typeof CompressionStream !== "undefined";
};
var jspb$experiments$heterodyne$MutableExperimentIds = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$experiments$heterodyne$MutableExperimentIds, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$experiments$heterodyne$MutableExperimentIds.prototype.getClearBlob = function() {
  return jspb_internal_adapters.getBytesFieldWithDefault(this, 1);
};
jspb$experiments$heterodyne$MutableExperimentIds.prototype.setClearBlobJs = function(value) {
  return jspb_internal_adapters.setStringField(this, 4, value);
};
jspb$experiments$heterodyne$MutableExperimentIds.prototype.clearClearBlobJs = function() {
  return jspb_internal_adapters.clearField(this, 4);
};
jspb$experiments$heterodyne$MutableExperimentIds.prototype.getEncryptedBlobList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedBytesField(this, 2, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$experiments$heterodyne$MutableExperimentIds.prototype.setEncryptedBlobList = function(value) {
  return jspb_internal_adapters.setRepeatedBytesField(this, 2, value);
};
jspb$experiments$heterodyne$MutableExperimentIds.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$experiments$heterodyne$MutableExperimentIds);
jspb$experiments$heterodyne$MutableExperimentIds.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$experiments$heterodyne$MutableExperimentIds);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$experiments$heterodyne$MutableExperimentIds.internalDoNotUse_debugOnlyProtoTypeName = "experiments.heterodyne.ExperimentIds");
var jspb$b$experiments$heterodyne$ExperimentIds = {};
jspb$b$experiments$heterodyne$ExperimentIds.fields = [0, jspb_internal_binary.RWBytes, jspb_internal_binary.RWRepeatedBytes, jspb_internal_binary.RWBool, jspb_internal_binary.RWString];
jspb$experiments$heterodyne$MutableExperimentIds.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$experiments$heterodyne$ExperimentIds.fields);
var jspb$experiments$heterodyne$ImmutableExperimentIds = function() {
};
jspb$experiments$heterodyne$ImmutableExperimentIds.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$experiments$heterodyne$MutableExperimentIds);
jspb$experiments$heterodyne$ImmutableExperimentIds.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$experiments$heterodyne$MutableExperimentIds);
jspb$experiments$heterodyne$ImmutableExperimentIds.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$experiments$heterodyne$MutableExperimentIds);
var jspb$o$experiments$heterodyne$ExperimentIds = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {clearBlob:module$contents$jspb_internal_public_for_gencode_toObjectBytes(msg.getClearBlob()), clearBlobJs:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 4)), encryptedBlobList:module$contents$jspb_internal_public_for_gencode_toObjectBytes(msg.getEncryptedBlobList()), usersMatch:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 
    3))};
  }
}};
jspb$experiments$heterodyne$MutableExperimentIds.prototype.toObject = function() {
  return jspb$o$experiments$heterodyne$ExperimentIds.internal_toObject(this);
};
jspb$o$experiments$heterodyne$ExperimentIds.fromObject = function(obj) {
  var msg = new jspb$experiments$heterodyne$MutableExperimentIds();
  jspb_internal_adapters.setBytesField(msg, 1, obj.clearBlob);
  jspb_internal_adapters.setStringField(msg, 4, obj.clearBlobJs);
  jspb_internal_adapters.setRepeatedBytesField(msg, 2, obj.encryptedBlobList);
  jspb_internal_adapters.setBooleanField(msg, 3, obj.usersMatch);
  return msg;
};
proto.experiments.heterodyne.ReadonlyExperimentIds = {};
proto.experiments.heterodyne.ExperimentIds = jspb$experiments$heterodyne$MutableExperimentIds;
jspb$experiments$heterodyne$MutableExperimentIds.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$experiments$heterodyne$MutableExperimentIds, jspb$b$experiments$heterodyne$ExperimentIds.fields);
jspb$experiments$heterodyne$MutableExperimentIds.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$experiments$heterodyne$ExperimentIds.fields);
jspb$experiments$heterodyne$MutableExperimentIds.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$experiments$heterodyne$ExperimentIds.fields);
jspb$experiments$heterodyne$MutableExperimentIds.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$experiments$heterodyne$MutableExperimentIds, jspb$b$experiments$heterodyne$ExperimentIds.fields);
jspb$experiments$heterodyne$MutableExperimentIds.fromObject = jspb$o$experiments$heterodyne$ExperimentIds.fromObject;
proto.experiments.heterodyne.MutableExperimentIds = jspb$experiments$heterodyne$MutableExperimentIds;
jspb$experiments$heterodyne$ImmutableExperimentIds.serializeBinary = jspb$experiments$heterodyne$MutableExperimentIds.serializeBinary;
jspb$experiments$heterodyne$ImmutableExperimentIds.serializeBinaryToByteString = jspb$experiments$heterodyne$MutableExperimentIds.serializeBinaryToByteString;
jspb$experiments$heterodyne$ImmutableExperimentIds.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$experiments$heterodyne$MutableExperimentIds.deserializeBinary);
jspb$experiments$heterodyne$ImmutableExperimentIds.makeCrossSerializerComparisonsCompatible = jspb$experiments$heterodyne$MutableExperimentIds.makeCrossSerializerComparisonsCompatible;
proto.experiments.heterodyne.ImmutableExperimentIds = jspb$experiments$heterodyne$ImmutableExperimentIds;
var module$exports$google3$javascript$frameworks$client$analytics$transport$batch_timer = {BatchTimer:function(intervalMs, callback) {
  this.intervalMs = intervalMs;
  this.callback = callback;
  this.enabled = !1;
  this.nowFn = function() {
    return goog.now();
  };
  this.lastTimeMs = this.nowFn();
}};
module$exports$google3$javascript$frameworks$client$analytics$transport$batch_timer.BatchTimer.prototype.setInterval = function(newIntervalMs) {
  this.intervalMs = newIntervalMs;
  this.timer && this.enabled ? (this.stop(), this.start()) : this.timer && this.stop();
};
module$exports$google3$javascript$frameworks$client$analytics$transport$batch_timer.BatchTimer.prototype.start = function() {
  var $jscomp$this$m849091795$4 = this;
  this.enabled = !0;
  this.timer || (this.timer = setTimeout(function() {
    $jscomp$this$m849091795$4.tick();
  }, this.intervalMs), this.lastTimeMs = this.nowFn());
};
module$exports$google3$javascript$frameworks$client$analytics$transport$batch_timer.BatchTimer.prototype.stop = function() {
  this.enabled = !1;
  this.timer && (clearTimeout(this.timer), this.timer = void 0);
};
module$exports$google3$javascript$frameworks$client$analytics$transport$batch_timer.BatchTimer.prototype.tick = function() {
  var $jscomp$this$m849091795$6 = this;
  if (this.enabled) {
    var timeElapsedMs = Math.max(this.nowFn() - this.lastTimeMs, 0);
    timeElapsedMs < this.intervalMs * .8 ? this.timer = setTimeout(function() {
      $jscomp$this$m849091795$6.tick();
    }, this.intervalMs - timeElapsedMs) : (this.timer && (clearTimeout(this.timer), this.timer = void 0), this.callback(), this.enabled && (this.stop(), this.start()));
  } else {
    this.timer = void 0;
  }
};
var module$exports$google3$javascript$frameworks$client$analytics$transport$flush_failure_type = {FlushFailureType:{NET_SEND_FAILED:"net-send-failed", STALE_AUTH_TOKEN:"stale-auth-token", THROTTLED:"throttled"}};
var module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service = {LogSourceCounter:{EVENTS_CREATED:1, EVENTS_LOGGED:2, DROPS_BY_BUFFER_LIMIT_REACHED:3, DROPS_BY_SERIALIZATION_FAILURE:4, COMPRESSION_EVENT_COUNT:5, COMPRESSION_FAILURE_COUNT:6, REQUEST_RETRY_COUNT:7, REQUEST_SENT_OFFLINE:8, DROPS_BY_PAGE_CLOSE_OFFLINE:9, STORAGE_EVENTS_RECOVERED:10, STORAGE_EVENTS_DROPPED_BY_EXPIRATION:11}};
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter[module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.EVENTS_CREATED] = "EVENTS_CREATED";
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter[module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.EVENTS_LOGGED] = "EVENTS_LOGGED";
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter[module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.DROPS_BY_BUFFER_LIMIT_REACHED] = "DROPS_BY_BUFFER_LIMIT_REACHED";
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter[module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.DROPS_BY_SERIALIZATION_FAILURE] = "DROPS_BY_SERIALIZATION_FAILURE";
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter[module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.COMPRESSION_EVENT_COUNT] = "COMPRESSION_EVENT_COUNT";
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter[module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.COMPRESSION_FAILURE_COUNT] = "COMPRESSION_FAILURE_COUNT";
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter[module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.REQUEST_RETRY_COUNT] = "REQUEST_RETRY_COUNT";
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter[module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.REQUEST_SENT_OFFLINE] = "REQUEST_SENT_OFFLINE";
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter[module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.DROPS_BY_PAGE_CLOSE_OFFLINE] = "DROPS_BY_PAGE_CLOSE_OFFLINE";
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter[module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.STORAGE_EVENTS_RECOVERED] = "STORAGE_EVENTS_RECOVERED";
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter[module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.STORAGE_EVENTS_DROPPED_BY_EXPIRATION] = "STORAGE_EVENTS_DROPPED_BY_EXPIRATION";
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.ClearcutMetalogService = function() {
};
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.ClearcutMetalogService.prototype.init = function() {
};
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.ClearcutMetalogService.prototype.increment = function() {
};
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.ClearcutMetalogService.prototype.snapshot = function() {
};
module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.ClearcutMetalogService.prototype.flush = function() {
};
var jspb$privacy$context$external$MutableExternalPRequestContext = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$privacy$context$external$MutableExternalPRequestContext, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$privacy$context$external$MutableExternalPRequestContext.prototype.setOriginAssociatedProductId = function(value) {
  return jspb_internal_adapters.setInt32Field(this, 13, value);
};
jspb$privacy$context$external$MutableExternalPRequestContext.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$privacy$context$external$MutableExternalPRequestContext);
jspb$privacy$context$external$MutableExternalPRequestContext.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$privacy$context$external$MutableExternalPRequestContext);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$privacy$context$external$MutableExternalPRequestContext.internalDoNotUse_debugOnlyProtoTypeName = "privacy.context.external.ExternalPRequestContext");
var jspb$b$privacy$context$external$ExternalPRequestContext = {};
jspb$b$privacy$context$external$ExternalPRequestContext.fields = [0, 12, jspb_internal_binary.RWInt32, 10, jspb_internal_binary.RWBool];
jspb$privacy$context$external$MutableExternalPRequestContext.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$privacy$context$external$ExternalPRequestContext.fields);
var jspb$privacy$context$external$ImmutableExternalPRequestContext = function() {
};
jspb$privacy$context$external$ImmutableExternalPRequestContext.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$privacy$context$external$MutableExternalPRequestContext);
jspb$privacy$context$external$ImmutableExternalPRequestContext.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$privacy$context$external$MutableExternalPRequestContext);
jspb$privacy$context$external$ImmutableExternalPRequestContext.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$privacy$context$external$MutableExternalPRequestContext);
var jspb$o$privacy$context$external$ExternalPRequestContext = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {originAssociatedProductId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 13)), isIncognito:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 24))};
  }
}};
jspb$privacy$context$external$MutableExternalPRequestContext.prototype.toObject = function() {
  return jspb$o$privacy$context$external$ExternalPRequestContext.internal_toObject(this);
};
jspb$o$privacy$context$external$ExternalPRequestContext.fromObject = function(obj) {
  var msg = new jspb$privacy$context$external$MutableExternalPRequestContext();
  jspb_internal_adapters.setInt32Field(msg, 13, obj.originAssociatedProductId);
  jspb_internal_adapters.setBooleanField(msg, 24, obj.isIncognito);
  return msg;
};
proto.privacy = {};
proto.privacy.context = {};
proto.privacy.context.external = {};
proto.privacy.context.external.ReadonlyExternalPRequestContext = {};
proto.privacy.context.external.ExternalPRequestContext = jspb$privacy$context$external$MutableExternalPRequestContext;
jspb$privacy$context$external$MutableExternalPRequestContext.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$privacy$context$external$MutableExternalPRequestContext, jspb$b$privacy$context$external$ExternalPRequestContext.fields);
jspb$privacy$context$external$MutableExternalPRequestContext.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$privacy$context$external$ExternalPRequestContext.fields);
jspb$privacy$context$external$MutableExternalPRequestContext.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$privacy$context$external$ExternalPRequestContext.fields);
jspb$privacy$context$external$MutableExternalPRequestContext.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$privacy$context$external$MutableExternalPRequestContext, jspb$b$privacy$context$external$ExternalPRequestContext.fields);
jspb$privacy$context$external$MutableExternalPRequestContext.fromObject = jspb$o$privacy$context$external$ExternalPRequestContext.fromObject;
proto.privacy.context.external.MutableExternalPRequestContext = jspb$privacy$context$external$MutableExternalPRequestContext;
jspb$privacy$context$external$ImmutableExternalPRequestContext.serializeBinary = jspb$privacy$context$external$MutableExternalPRequestContext.serializeBinary;
jspb$privacy$context$external$ImmutableExternalPRequestContext.serializeBinaryToByteString = jspb$privacy$context$external$MutableExternalPRequestContext.serializeBinaryToByteString;
jspb$privacy$context$external$ImmutableExternalPRequestContext.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$privacy$context$external$MutableExternalPRequestContext.deserializeBinary);
jspb$privacy$context$external$ImmutableExternalPRequestContext.makeCrossSerializerComparisonsCompatible = jspb$privacy$context$external$MutableExternalPRequestContext.makeCrossSerializerComparisonsCompatible;
proto.privacy.context.external.ImmutableExternalPRequestContext = jspb$privacy$context$external$ImmutableExternalPRequestContext;
var jspb$privacy$context$external$MutableExternalPrivacyContext = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$privacy$context$external$MutableExternalPrivacyContext, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$privacy$context$external$MutableExternalPrivacyContext.prototype.getPrequest = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$privacy$context$external$MutableExternalPRequestContext, 2);
};
jspb$privacy$context$external$MutableExternalPrivacyContext.prototype.setPrequest = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$privacy$context$external$MutableExternalPRequestContext, 2, value);
};
jspb$privacy$context$external$MutableExternalPrivacyContext.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$privacy$context$external$MutableExternalPrivacyContext);
jspb$privacy$context$external$MutableExternalPrivacyContext.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$privacy$context$external$MutableExternalPrivacyContext);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$privacy$context$external$MutableExternalPrivacyContext.internalDoNotUse_debugOnlyProtoTypeName = "privacy.context.external.ExternalPrivacyContext");
var jspb$b$privacy$context$external$ExternalPrivacyContext = {};
jspb$b$privacy$context$external$ExternalPrivacyContext.fields = [0, 1, jspb$b$privacy$context$external$ExternalPRequestContext.fields];
jspb$privacy$context$external$MutableExternalPrivacyContext.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$privacy$context$external$ExternalPrivacyContext.fields);
var jspb$privacy$context$external$ImmutableExternalPrivacyContext = function() {
};
jspb$privacy$context$external$ImmutableExternalPrivacyContext.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$privacy$context$external$MutableExternalPrivacyContext);
jspb$privacy$context$external$ImmutableExternalPrivacyContext.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$privacy$context$external$MutableExternalPrivacyContext);
jspb$privacy$context$external$ImmutableExternalPrivacyContext.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$privacy$context$external$MutableExternalPrivacyContext);
var jspb$o$privacy$context$external$ExternalPrivacyContext = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {prequest:jspb$o$privacy$context$external$ExternalPRequestContext.internal_toObject(msg.getPrequest())};
  }
}};
jspb$privacy$context$external$MutableExternalPrivacyContext.prototype.toObject = function() {
  return jspb$o$privacy$context$external$ExternalPrivacyContext.internal_toObject(this);
};
jspb$o$privacy$context$external$ExternalPrivacyContext.fromObject = function(obj) {
  var msg = new jspb$privacy$context$external$MutableExternalPrivacyContext();
  jspb_internal_adapters.setWrapperField(msg, jspb$privacy$context$external$MutableExternalPRequestContext, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.prequest, jspb$o$privacy$context$external$ExternalPRequestContext.fromObject));
  return msg;
};
proto.privacy.context.external.ReadonlyExternalPrivacyContext = {};
proto.privacy.context.external.ExternalPrivacyContext = jspb$privacy$context$external$MutableExternalPrivacyContext;
jspb$privacy$context$external$MutableExternalPrivacyContext.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$privacy$context$external$MutableExternalPrivacyContext, jspb$b$privacy$context$external$ExternalPrivacyContext.fields);
jspb$privacy$context$external$MutableExternalPrivacyContext.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$privacy$context$external$ExternalPrivacyContext.fields);
jspb$privacy$context$external$MutableExternalPrivacyContext.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$privacy$context$external$ExternalPrivacyContext.fields);
jspb$privacy$context$external$MutableExternalPrivacyContext.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$privacy$context$external$MutableExternalPrivacyContext, jspb$b$privacy$context$external$ExternalPrivacyContext.fields);
jspb$privacy$context$external$MutableExternalPrivacyContext.fromObject = jspb$o$privacy$context$external$ExternalPrivacyContext.fromObject;
proto.privacy.context.external.MutableExternalPrivacyContext = jspb$privacy$context$external$MutableExternalPrivacyContext;
jspb$privacy$context$external$ImmutableExternalPrivacyContext.serializeBinary = jspb$privacy$context$external$MutableExternalPrivacyContext.serializeBinary;
jspb$privacy$context$external$ImmutableExternalPrivacyContext.serializeBinaryToByteString = jspb$privacy$context$external$MutableExternalPrivacyContext.serializeBinaryToByteString;
jspb$privacy$context$external$ImmutableExternalPrivacyContext.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$privacy$context$external$MutableExternalPrivacyContext.deserializeBinary);
jspb$privacy$context$external$ImmutableExternalPrivacyContext.makeCrossSerializerComparisonsCompatible = jspb$privacy$context$external$MutableExternalPrivacyContext.makeCrossSerializerComparisonsCompatible;
proto.privacy.context.external.ImmutableExternalPrivacyContext = jspb$privacy$context$external$ImmutableExternalPrivacyContext;
goog.dom.HtmlElement = function() {
};
goog.dom.TagName = function() {
};
goog.dom.TagName.cast = function(name) {
  return name;
};
goog.dom.TagName.prototype.toString = function() {
};
goog.dom.TagName.A = "A";
goog.dom.TagName.ABBR = "ABBR";
goog.dom.TagName.ACRONYM = "ACRONYM";
goog.dom.TagName.ADDRESS = "ADDRESS";
goog.dom.TagName.APPLET = "APPLET";
goog.dom.TagName.AREA = "AREA";
goog.dom.TagName.ARTICLE = "ARTICLE";
goog.dom.TagName.ASIDE = "ASIDE";
goog.dom.TagName.AUDIO = "AUDIO";
goog.dom.TagName.B = "B";
goog.dom.TagName.BASE = "BASE";
goog.dom.TagName.BASEFONT = "BASEFONT";
goog.dom.TagName.BDI = "BDI";
goog.dom.TagName.BDO = "BDO";
goog.dom.TagName.BIG = "BIG";
goog.dom.TagName.BLOCKQUOTE = "BLOCKQUOTE";
goog.dom.TagName.BODY = "BODY";
goog.dom.TagName.BR = "BR";
goog.dom.TagName.BUTTON = "BUTTON";
goog.dom.TagName.CANVAS = "CANVAS";
goog.dom.TagName.CAPTION = "CAPTION";
goog.dom.TagName.CENTER = "CENTER";
goog.dom.TagName.CITE = "CITE";
goog.dom.TagName.CODE = "CODE";
goog.dom.TagName.COL = "COL";
goog.dom.TagName.COLGROUP = "COLGROUP";
goog.dom.TagName.COMMAND = "COMMAND";
goog.dom.TagName.DATA = "DATA";
goog.dom.TagName.DATALIST = "DATALIST";
goog.dom.TagName.DD = "DD";
goog.dom.TagName.DEL = "DEL";
goog.dom.TagName.DETAILS = "DETAILS";
goog.dom.TagName.DFN = "DFN";
goog.dom.TagName.DIALOG = "DIALOG";
goog.dom.TagName.DIR = "DIR";
goog.dom.TagName.DIV = "DIV";
goog.dom.TagName.DL = "DL";
goog.dom.TagName.DT = "DT";
goog.dom.TagName.EM = "EM";
goog.dom.TagName.EMBED = "EMBED";
goog.dom.TagName.FIELDSET = "FIELDSET";
goog.dom.TagName.FIGCAPTION = "FIGCAPTION";
goog.dom.TagName.FIGURE = "FIGURE";
goog.dom.TagName.FONT = "FONT";
goog.dom.TagName.FOOTER = "FOOTER";
goog.dom.TagName.FORM = "FORM";
goog.dom.TagName.FRAME = "FRAME";
goog.dom.TagName.FRAMESET = "FRAMESET";
goog.dom.TagName.H1 = "H1";
goog.dom.TagName.H2 = "H2";
goog.dom.TagName.H3 = "H3";
goog.dom.TagName.H4 = "H4";
goog.dom.TagName.H5 = "H5";
goog.dom.TagName.H6 = "H6";
goog.dom.TagName.HEAD = "HEAD";
goog.dom.TagName.HEADER = "HEADER";
goog.dom.TagName.HGROUP = "HGROUP";
goog.dom.TagName.HR = "HR";
goog.dom.TagName.HTML = "HTML";
goog.dom.TagName.I = "I";
goog.dom.TagName.IFRAME = "IFRAME";
goog.dom.TagName.IMG = "IMG";
goog.dom.TagName.INPUT = "INPUT";
goog.dom.TagName.INS = "INS";
goog.dom.TagName.ISINDEX = "ISINDEX";
goog.dom.TagName.KBD = "KBD";
goog.dom.TagName.KEYGEN = "KEYGEN";
goog.dom.TagName.LABEL = "LABEL";
goog.dom.TagName.LEGEND = "LEGEND";
goog.dom.TagName.LI = "LI";
goog.dom.TagName.LINK = "LINK";
goog.dom.TagName.MAIN = "MAIN";
goog.dom.TagName.MAP = "MAP";
goog.dom.TagName.MARK = "MARK";
goog.dom.TagName.MATH = "MATH";
goog.dom.TagName.MENU = "MENU";
goog.dom.TagName.MENUITEM = "MENUITEM";
goog.dom.TagName.META = "META";
goog.dom.TagName.METER = "METER";
goog.dom.TagName.NAV = "NAV";
goog.dom.TagName.NOFRAMES = "NOFRAMES";
goog.dom.TagName.NOSCRIPT = "NOSCRIPT";
goog.dom.TagName.OBJECT = "OBJECT";
goog.dom.TagName.OL = "OL";
goog.dom.TagName.OPTGROUP = "OPTGROUP";
goog.dom.TagName.OPTION = "OPTION";
goog.dom.TagName.OUTPUT = "OUTPUT";
goog.dom.TagName.P = "P";
goog.dom.TagName.PARAM = "PARAM";
goog.dom.TagName.PICTURE = "PICTURE";
goog.dom.TagName.PRE = "PRE";
goog.dom.TagName.PROGRESS = "PROGRESS";
goog.dom.TagName.Q = "Q";
goog.dom.TagName.RP = "RP";
goog.dom.TagName.RT = "RT";
goog.dom.TagName.RTC = "RTC";
goog.dom.TagName.RUBY = "RUBY";
goog.dom.TagName.S = "S";
goog.dom.TagName.SAMP = "SAMP";
goog.dom.TagName.SCRIPT = "SCRIPT";
goog.dom.TagName.SECTION = "SECTION";
goog.dom.TagName.SELECT = "SELECT";
goog.dom.TagName.SMALL = "SMALL";
goog.dom.TagName.SOURCE = "SOURCE";
goog.dom.TagName.SPAN = "SPAN";
goog.dom.TagName.STRIKE = "STRIKE";
goog.dom.TagName.STRONG = "STRONG";
goog.dom.TagName.STYLE = "STYLE";
goog.dom.TagName.SUB = "SUB";
goog.dom.TagName.SUMMARY = "SUMMARY";
goog.dom.TagName.SUP = "SUP";
goog.dom.TagName.SVG = "SVG";
goog.dom.TagName.TABLE = "TABLE";
goog.dom.TagName.TBODY = "TBODY";
goog.dom.TagName.TD = "TD";
goog.dom.TagName.TEMPLATE = "TEMPLATE";
goog.dom.TagName.TEXTAREA = "TEXTAREA";
goog.dom.TagName.TFOOT = "TFOOT";
goog.dom.TagName.TH = "TH";
goog.dom.TagName.THEAD = "THEAD";
goog.dom.TagName.TIME = "TIME";
goog.dom.TagName.TITLE = "TITLE";
goog.dom.TagName.TR = "TR";
goog.dom.TagName.TRACK = "TRACK";
goog.dom.TagName.TT = "TT";
goog.dom.TagName.U = "U";
goog.dom.TagName.UL = "UL";
goog.dom.TagName.VAR = "VAR";
goog.dom.TagName.VIDEO = "VIDEO";
goog.dom.TagName.WBR = "WBR";
goog.dom.element = {};
var module$contents$goog$dom$element_isElement = function(value) {
  return goog.isObject(value) && value.nodeType === goog.dom.NodeType.ELEMENT;
}, module$contents$goog$dom$element_isHtmlElement = function(value) {
  return goog.isObject(value) && module$contents$goog$dom$element_isElement(value) && (!value.namespaceURI || value.namespaceURI === "http://www.w3.org/1999/xhtml");
}, module$contents$goog$dom$element_isHtmlElementOfType = function(value, tagName) {
  return goog.isObject(value) && module$contents$goog$dom$element_isHtmlElement(value) && value.tagName.toUpperCase() === tagName.toString();
};
goog.dom.element.isElement = module$contents$goog$dom$element_isElement;
goog.dom.element.isHtmlElement = module$contents$goog$dom$element_isHtmlElement;
goog.dom.element.isHtmlElementOfType = module$contents$goog$dom$element_isHtmlElementOfType;
goog.dom.element.isHtmlAnchorElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.A);
};
goog.dom.element.isHtmlButtonElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.BUTTON);
};
goog.dom.element.isHtmlLinkElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.LINK);
};
goog.dom.element.isHtmlImageElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.IMG);
};
goog.dom.element.isHtmlAudioElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.AUDIO);
};
goog.dom.element.isHtmlVideoElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.VIDEO);
};
goog.dom.element.isHtmlInputElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.INPUT);
};
goog.dom.element.isHtmlTextAreaElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.TEXTAREA);
};
goog.dom.element.isHtmlCanvasElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.CANVAS);
};
goog.dom.element.isHtmlEmbedElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.EMBED);
};
goog.dom.element.isHtmlFormElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.FORM);
};
goog.dom.element.isHtmlFrameElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.FRAME);
};
goog.dom.element.isHtmlIFrameElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.IFRAME);
};
goog.dom.element.isHtmlObjectElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.OBJECT);
};
goog.dom.element.isHtmlScriptElement = function(value) {
  return module$contents$goog$dom$element_isHtmlElementOfType(value, goog.dom.TagName.SCRIPT);
};
goog.asserts.dom = {};
var module$contents$goog$asserts$dom_assertIsHtmlElement = function(value) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && !module$contents$goog$dom$element_isHtmlElement(value) && goog.asserts.fail("Argument is not an HTML Element; got: " + module$contents$goog$asserts$dom_debugStringForType(value));
  return value;
}, module$contents$goog$asserts$dom_assertIsHtmlElementOfType = function(value, tagName) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && !module$contents$goog$dom$element_isHtmlElementOfType(value, tagName) && goog.asserts.fail("Argument is not an HTML Element with tag name " + (tagName.toString() + "; got: " + module$contents$goog$asserts$dom_debugStringForType(value)));
  return value;
}, module$contents$goog$asserts$dom_assertIsHtmlInputElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.INPUT);
}, module$contents$goog$asserts$dom_assertIsHtmlFormElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.FORM);
}, module$contents$goog$asserts$dom_debugStringForType = function(value) {
  if (goog.isObject(value)) {
    try {
      return value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value);
    } catch (e) {
      return "<object could not be stringified>";
    }
  } else {
    return value === void 0 ? "undefined" : value === null ? "null" : typeof value;
  }
};
goog.asserts.dom.assertIsElement = function(value) {
  module$exports$google3$javascript$common$asserts$enable_goog_asserts.ENABLE_GOOG_ASSERTS && !module$contents$goog$dom$element_isElement(value) && goog.asserts.fail("Argument is not an Element; got: " + module$contents$goog$asserts$dom_debugStringForType(value));
  return value;
};
goog.asserts.dom.assertIsHtmlElement = module$contents$goog$asserts$dom_assertIsHtmlElement;
goog.asserts.dom.assertIsHtmlElementOfType = module$contents$goog$asserts$dom_assertIsHtmlElementOfType;
goog.asserts.dom.assertIsHtmlAnchorElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.A);
};
goog.asserts.dom.assertIsHtmlButtonElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.BUTTON);
};
goog.asserts.dom.assertIsHtmlLinkElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.LINK);
};
goog.asserts.dom.assertIsHtmlImageElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.IMG);
};
goog.asserts.dom.assertIsHtmlAudioElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.AUDIO);
};
goog.asserts.dom.assertIsHtmlVideoElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.VIDEO);
};
goog.asserts.dom.assertIsHtmlInputElement = module$contents$goog$asserts$dom_assertIsHtmlInputElement;
goog.asserts.dom.assertIsHtmlTextAreaElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.TEXTAREA);
};
goog.asserts.dom.assertIsHtmlCanvasElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.CANVAS);
};
goog.asserts.dom.assertIsHtmlEmbedElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.EMBED);
};
goog.asserts.dom.assertIsHtmlFormElement = module$contents$goog$asserts$dom_assertIsHtmlFormElement;
goog.asserts.dom.assertIsHtmlFrameElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.FRAME);
};
goog.asserts.dom.assertIsHtmlIFrameElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.IFRAME);
};
goog.asserts.dom.assertIsHtmlObjectElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.OBJECT);
};
goog.asserts.dom.assertIsHtmlScriptElement = function(value) {
  return module$contents$goog$asserts$dom_assertIsHtmlElementOfType(value, goog.dom.TagName.SCRIPT);
};
goog.math = {};
goog.math.randomInt = function(a) {
  return Math.floor(Math.random() * a);
};
goog.math.uniformRandom = function(a, b) {
  return a + Math.random() * (b - a);
};
goog.math.clamp = function(value, min, max) {
  return Math.min(Math.max(value, min), max);
};
goog.math.modulo = function(a, b) {
  var r = a % b;
  return r * b < 0 ? r + b : r;
};
goog.math.lerp = function(a, b, x) {
  return a + x * (b - a);
};
goog.math.nearlyEquals = function(a, b, opt_tolerance) {
  return Math.abs(a - b) <= (opt_tolerance || 1E-6);
};
goog.math.standardAngle = function(angle) {
  return goog.math.modulo(angle, 360);
};
goog.math.standardAngleInRadians = function(angle) {
  return goog.math.modulo(angle, 2 * Math.PI);
};
goog.math.toRadians = function(angleDegrees) {
  return angleDegrees * Math.PI / 180;
};
goog.math.toDegrees = function(angleRadians) {
  return angleRadians * 180 / Math.PI;
};
goog.math.angleDx = function(degrees, radius) {
  return radius * Math.cos(goog.math.toRadians(degrees));
};
goog.math.angleDy = function(degrees, radius) {
  return radius * Math.sin(goog.math.toRadians(degrees));
};
goog.math.angle = function(x1, y1, x2, y2) {
  return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(y2 - y1, x2 - x1)));
};
goog.math.angleDifference = function(startAngle, endAngle) {
  var d = goog.math.standardAngle(endAngle) - goog.math.standardAngle(startAngle);
  d > 180 ? d -= 360 : d <= -180 && (d = 360 + d);
  return d;
};
goog.math.sign = function(x) {
  return x > 0 ? 1 : x < 0 ? -1 : x;
};
goog.math.longestCommonSubsequence = function(array1, array2, opt_compareFn, opt_collectorFn) {
  var compare = opt_compareFn || function(a, b) {
    return a == b;
  }, collect = opt_collectorFn || function(i1) {
    return array1[i1];
  }, length1 = array1.length, length2 = array2.length, arr = [], i;
  for (i = 0; i < length1 + 1; i++) {
    arr[i] = [], arr[i][0] = 0;
  }
  var j;
  for (j = 0; j < length2 + 1; j++) {
    arr[0][j] = 0;
  }
  for (i = 1; i <= length1; i++) {
    for (j = 1; j <= length2; j++) {
      compare(array1[i - 1], array2[j - 1]) ? arr[i][j] = arr[i - 1][j - 1] + 1 : arr[i][j] = Math.max(arr[i - 1][j], arr[i][j - 1]);
    }
  }
  var result = [];
  i = length1;
  for (j = length2; i > 0 && j > 0;) {
    compare(array1[i - 1], array2[j - 1]) ? (result.unshift(collect(i - 1, j - 1)), i--, j--) : arr[i - 1][j] > arr[i][j - 1] ? i-- : j--;
  }
  return result;
};
goog.math.sum = function(var_args) {
  return Array.prototype.reduce.call(arguments, function(sum, value) {
    return sum + value;
  }, 0);
};
goog.math.average = function(var_args) {
  return goog.math.sum.apply(null, arguments) / arguments.length;
};
goog.math.sampleVariance = function(var_args) {
  var sampleSize = arguments.length;
  if (sampleSize < 2) {
    return 0;
  }
  var mean = goog.math.average.apply(null, arguments);
  return goog.math.sum.apply(null, Array.prototype.map.call(arguments, function(val) {
    return Math.pow(val - mean, 2);
  })) / (sampleSize - 1);
};
goog.math.standardDeviation = function(var_args) {
  return Math.sqrt(goog.math.sampleVariance.apply(null, arguments));
};
goog.math.isInt = function(num) {
  return isFinite(num) && num % 1 == 0;
};
goog.math.isFiniteNumber = function(num) {
  return isFinite(num);
};
goog.math.isNegativeZero = function(num) {
  return num == 0 && 1 / num < 0;
};
goog.math.log10Floor = function(num) {
  if (num > 0) {
    var x = Math.round(Math.log(num) * Math.LOG10E);
    return x - (parseFloat("1e" + x) > num ? 1 : 0);
  }
  return num == 0 ? -Infinity : NaN;
};
goog.math.safeFloor = function(num, opt_epsilon) {
  goog.asserts.assert(opt_epsilon === void 0 || opt_epsilon > 0);
  return Math.floor(num + (opt_epsilon || 2E-15));
};
goog.math.safeCeil = function(num, opt_epsilon) {
  goog.asserts.assert(opt_epsilon === void 0 || opt_epsilon > 0);
  return Math.ceil(num - (opt_epsilon || 2E-15));
};
goog.math.Coordinate = function(opt_x, opt_y) {
  this.x = opt_x !== void 0 ? opt_x : 0;
  this.y = opt_y !== void 0 ? opt_y : 0;
};
goog.math.Coordinate.prototype.clone = function() {
  return new goog.math.Coordinate(this.x, this.y);
};
goog.DEBUG && (goog.math.Coordinate.prototype.toString = function() {
  return "(" + this.x + ", " + this.y + ")";
});
goog.math.Coordinate.prototype.equals = function(other) {
  return other instanceof goog.math.Coordinate && goog.math.Coordinate.equals(this, other);
};
goog.math.Coordinate.equals = function(a, b) {
  return a == b ? !0 : a && b ? a.x == b.x && a.y == b.y : !1;
};
goog.math.Coordinate.distance = function(a, b) {
  var dx = a.x - b.x, dy = a.y - b.y;
  return Math.sqrt(dx * dx + dy * dy);
};
goog.math.Coordinate.magnitude = function(a) {
  return Math.sqrt(a.x * a.x + a.y * a.y);
};
goog.math.Coordinate.azimuth = function(a) {
  return goog.math.angle(0, 0, a.x, a.y);
};
goog.math.Coordinate.squaredDistance = function(a, b) {
  var dx = a.x - b.x, dy = a.y - b.y;
  return dx * dx + dy * dy;
};
goog.math.Coordinate.difference = function(a, b) {
  return new goog.math.Coordinate(a.x - b.x, a.y - b.y);
};
goog.math.Coordinate.sum = function(a, b) {
  return new goog.math.Coordinate(a.x + b.x, a.y + b.y);
};
goog.math.Coordinate.prototype.ceil = function() {
  this.x = Math.ceil(this.x);
  this.y = Math.ceil(this.y);
  return this;
};
goog.math.Coordinate.prototype.floor = function() {
  this.x = Math.floor(this.x);
  this.y = Math.floor(this.y);
  return this;
};
goog.math.Coordinate.prototype.round = function() {
  this.x = Math.round(this.x);
  this.y = Math.round(this.y);
  return this;
};
goog.math.Coordinate.prototype.translate = function(tx, opt_ty) {
  tx instanceof goog.math.Coordinate ? (this.x += tx.x, this.y += tx.y) : (this.x += Number(tx), typeof opt_ty === "number" && (this.y += opt_ty));
  return this;
};
goog.math.Coordinate.prototype.scale = function(sx, opt_sy) {
  this.x *= sx;
  this.y *= typeof opt_sy === "number" ? opt_sy : sx;
  return this;
};
goog.math.Size = function(width, height) {
  this.width = width;
  this.height = height;
};
goog.math.Size.equals = function(a, b) {
  return a == b ? !0 : a && b ? a.width == b.width && a.height == b.height : !1;
};
goog.math.Size.prototype.clone = function() {
  return new goog.math.Size(this.width, this.height);
};
goog.DEBUG && (goog.math.Size.prototype.toString = function() {
  return "(" + this.width + " x " + this.height + ")";
});
goog.math.Size.prototype.area = function() {
  return this.width * this.height;
};
goog.math.Size.prototype.aspectRatio = function() {
  return this.width / this.height;
};
goog.math.Size.prototype.isEmpty = function() {
  return !this.area();
};
goog.math.Size.prototype.ceil = function() {
  this.width = Math.ceil(this.width);
  this.height = Math.ceil(this.height);
  return this;
};
goog.math.Size.prototype.floor = function() {
  this.width = Math.floor(this.width);
  this.height = Math.floor(this.height);
  return this;
};
goog.math.Size.prototype.round = function() {
  this.width = Math.round(this.width);
  this.height = Math.round(this.height);
  return this;
};
goog.math.Size.prototype.scale = function(sx, opt_sy) {
  this.width *= sx;
  this.height *= typeof opt_sy === "number" ? opt_sy : sx;
  return this;
};
goog.object = {};
function module$contents$goog$object_forEach(obj, f, opt_obj) {
  for (var key in obj) {
    f.call(opt_obj, obj[key], key, obj);
  }
}
function module$contents$goog$object_map(obj, f, opt_obj) {
  var res = {}, key;
  for (key in obj) {
    res[key] = f.call(opt_obj, obj[key], key, obj);
  }
  return res;
}
function module$contents$goog$object_some(obj, f, opt_obj) {
  for (var key in obj) {
    if (f.call(opt_obj, obj[key], key, obj)) {
      return !0;
    }
  }
  return !1;
}
function module$contents$goog$object_getCount(obj) {
  var rv = 0, key;
  for (key in obj) {
    rv++;
  }
  return rv;
}
function module$contents$goog$object_getValues(obj) {
  var res = [], i = 0, key;
  for (key in obj) {
    res[i++] = obj[key];
  }
  return res;
}
function module$contents$goog$object_getKeys(obj) {
  var res = [], i = 0, key;
  for (key in obj) {
    res[i++] = key;
  }
  return res;
}
function module$contents$goog$object_containsValue(obj, val) {
  for (var key in obj) {
    if (obj[key] == val) {
      return !0;
    }
  }
  return !1;
}
function module$contents$goog$object_findKey(obj, f, thisObj) {
  for (var key in obj) {
    if (f.call(thisObj, obj[key], key, obj)) {
      return key;
    }
  }
}
function module$contents$goog$object_isEmpty(obj) {
  for (var key in obj) {
    return !1;
  }
  return !0;
}
function module$contents$goog$object_clear(obj) {
  for (var i in obj) {
    delete obj[i];
  }
}
function module$contents$goog$object_equals(a, b) {
  for (var k in a) {
    if (!(k in b) || a[k] !== b[k]) {
      return !1;
    }
  }
  for (var k$jscomp$0 in b) {
    if (!(k$jscomp$0 in a)) {
      return !1;
    }
  }
  return !0;
}
function module$contents$goog$object_unsafeClone(obj) {
  if (!obj || typeof obj !== "object") {
    return obj;
  }
  if (typeof obj.clone === "function") {
    return obj.clone();
  }
  if (typeof Map !== "undefined" && obj instanceof Map) {
    return new Map(obj);
  }
  if (typeof Set !== "undefined" && obj instanceof Set) {
    return new Set(obj);
  }
  if (obj instanceof Date) {
    return new Date(obj.getTime());
  }
  var clone = Array.isArray(obj) ? [] : typeof ArrayBuffer !== "function" || typeof ArrayBuffer.isView !== "function" || !ArrayBuffer.isView(obj) || obj instanceof DataView ? {} : new obj.constructor(obj.length), key;
  for (key in obj) {
    clone[key] = module$contents$goog$object_unsafeClone(obj[key]);
  }
  return clone;
}
var module$contents$goog$object_PROTOTYPE_FIELDS = "constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
function module$contents$goog$object_extend(target, var_args) {
  for (var key, source, i = 1; i < arguments.length; i++) {
    source = arguments[i];
    for (key in source) {
      target[key] = source[key];
    }
    for (var j = 0; j < module$contents$goog$object_PROTOTYPE_FIELDS.length; j++) {
      key = module$contents$goog$object_PROTOTYPE_FIELDS[j], Object.prototype.hasOwnProperty.call(source, key) && (target[key] = source[key]);
    }
  }
}
function module$contents$goog$object_create(var_args) {
  var argLength = arguments.length;
  if (argLength == 1 && Array.isArray(arguments[0])) {
    return module$contents$goog$object_create.apply(null, arguments[0]);
  }
  if (argLength % 2) {
    throw Error("Uneven number of arguments");
  }
  for (var rv = {}, i = 0; i < argLength; i += 2) {
    rv[arguments[i]] = arguments[i + 1];
  }
  return rv;
}
function module$contents$goog$object_createSet(var_args) {
  var argLength = arguments.length;
  if (argLength == 1 && Array.isArray(arguments[0])) {
    return module$contents$goog$object_createSet.apply(null, arguments[0]);
  }
  for (var rv = {}, i = 0; i < argLength; i++) {
    rv[arguments[i]] = !0;
  }
  return rv;
}
goog.object.add = function(obj, key, val) {
  if (obj !== null && key in obj) {
    throw Error('The object already contains the key "' + key + '"');
  }
  obj[key] = val;
};
goog.object.clear = module$contents$goog$object_clear;
goog.object.clone = function(obj) {
  var res = {}, key;
  for (key in obj) {
    res[key] = obj[key];
  }
  return res;
};
goog.object.contains = function(obj, val) {
  return module$contents$goog$object_containsValue(obj, val);
};
goog.object.containsKey = function(obj, key) {
  return obj !== null && key in obj;
};
goog.object.containsValue = module$contents$goog$object_containsValue;
goog.object.create = module$contents$goog$object_create;
goog.object.createImmutableView = function(obj) {
  var result = obj;
  Object.isFrozen && !Object.isFrozen(obj) && (result = Object.create(obj), Object.freeze(result));
  return result;
};
goog.object.createSet = module$contents$goog$object_createSet;
goog.object.equals = module$contents$goog$object_equals;
goog.object.every = function(obj, f, opt_obj) {
  for (var key in obj) {
    if (!f.call(opt_obj, obj[key], key, obj)) {
      return !1;
    }
  }
  return !0;
};
goog.object.extend = module$contents$goog$object_extend;
goog.object.filter = function(obj, f, opt_obj) {
  var res = {}, key;
  for (key in obj) {
    f.call(opt_obj, obj[key], key, obj) && (res[key] = obj[key]);
  }
  return res;
};
goog.object.findKey = module$contents$goog$object_findKey;
goog.object.findValue = function(obj, f, thisObj) {
  var key = module$contents$goog$object_findKey(obj, f, thisObj);
  return key && obj[key];
};
goog.object.forEach = module$contents$goog$object_forEach;
goog.object.get = function(obj, key, val) {
  return obj !== null && key in obj ? obj[key] : val;
};
goog.object.getAllPropertyNames = function(obj, includeObjectPrototype, includeFunctionPrototype) {
  if (!obj) {
    return [];
  }
  if (!Object.getOwnPropertyNames || !Object.getPrototypeOf) {
    return module$contents$goog$object_getKeys(obj);
  }
  for (var visitedSet = {}, proto = obj; proto && (proto !== Object.prototype || includeObjectPrototype) && (proto !== Function.prototype || includeFunctionPrototype);) {
    for (var names = Object.getOwnPropertyNames(proto), i = 0; i < names.length; i++) {
      visitedSet[names[i]] = !0;
    }
    proto = Object.getPrototypeOf(proto);
  }
  return module$contents$goog$object_getKeys(visitedSet);
};
goog.object.getAnyKey = function(obj) {
  for (var key in obj) {
    return key;
  }
};
goog.object.getAnyValue = function(obj) {
  for (var key in obj) {
    return obj[key];
  }
};
goog.object.getCount = module$contents$goog$object_getCount;
goog.object.getKeys = module$contents$goog$object_getKeys;
goog.object.getSuperClass = function(constructor) {
  var proto = Object.getPrototypeOf(constructor.prototype);
  return proto && proto.constructor;
};
goog.object.getValueByKeys = function(obj, var_args) {
  for (var isArrayLike = goog.isArrayLike(var_args), keys = isArrayLike ? var_args : arguments, i = isArrayLike ? 0 : 1; i < keys.length; i++) {
    if (obj == null) {
      return;
    }
    obj = obj[keys[i]];
  }
  return obj;
};
goog.object.getValues = module$contents$goog$object_getValues;
goog.object.isEmpty = module$contents$goog$object_isEmpty;
goog.object.isImmutableView = function(obj) {
  return !!Object.isFrozen && Object.isFrozen(obj);
};
goog.object.map = module$contents$goog$object_map;
goog.object.remove = function(obj, key) {
  var rv;
  (rv = key in obj) && delete obj[key];
  return rv;
};
goog.object.set = function(obj, key, value) {
  obj[key] = value;
};
goog.object.setIfUndefined = function(obj, key, value) {
  return key in obj ? obj[key] : obj[key] = value;
};
goog.object.setWithReturnValueIfNotSet = function(obj, key, f) {
  if (key in obj) {
    return obj[key];
  }
  var val = f();
  return obj[key] = val;
};
goog.object.some = module$contents$goog$object_some;
goog.object.transpose = function(obj) {
  var transposed = {}, key;
  for (key in obj) {
    transposed[obj[key]] = key;
  }
  return transposed;
};
goog.object.unsafeClone = module$contents$goog$object_unsafeClone;
goog.string.Const = function(opt_token, opt_content) {
  this.stringConstValueWithSecurityContract__googStringSecurityPrivate_ = opt_token === goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_ && opt_content || "";
  this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_ = goog.string.Const.TYPE_MARKER_;
};
goog.string.Const.prototype.toString = function() {
  return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_;
};
goog.string.Const.unwrap = function(stringConst) {
  if (stringConst instanceof goog.string.Const && stringConst.constructor === goog.string.Const && stringConst.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_ === goog.string.Const.TYPE_MARKER_) {
    return stringConst.stringConstValueWithSecurityContract__googStringSecurityPrivate_;
  }
  goog.asserts.fail("expected object of type Const, got '" + stringConst + "'");
  return "type_error:Const";
};
goog.string.Const.from = function(s) {
  return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_, s);
};
goog.string.Const.TYPE_MARKER_ = {};
goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_ = {};
goog.string.Const.EMPTY = goog.string.Const.from("");
var module$exports$google3$third_party$javascript$safevalues$builders$sensitive_attributes = {SECURITY_SENSITIVE_ATTRIBUTES:"src srcdoc codebase data href rel action formaction sandbox cite poster icon".split(" ")};
function module$contents$google3$third_party$javascript$safevalues$builders$attribute_builders_safeAttrPrefix(templ) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$string_literal_assertIsTemplateObject(templ, 0);
  var attrPrefix = templ[0].toLowerCase();
  if (goog.DEBUG) {
    if (attrPrefix.indexOf("on") === 0 || "on".indexOf(attrPrefix) === 0) {
      throw Error("Prefix '" + templ[0] + "' does not guarantee the attribute to be safe as it is also a prefix for event handler attributesPlease use 'addEventListener' to set event handlers.");
    }
    module$exports$google3$third_party$javascript$safevalues$builders$sensitive_attributes.SECURITY_SENSITIVE_ATTRIBUTES.forEach(function(sensitiveAttr) {
      if (sensitiveAttr.indexOf(attrPrefix) === 0) {
        throw Error("Prefix '" + templ[0] + "' does not guarantee the attribute to be safe as it is also a prefix for the security sensitive attribute '" + (sensitiveAttr + "'. Please use native or safe DOM APIs to set the attribute."));
      }
    });
  }
  return module$contents$google3$third_party$javascript$safevalues$internals$attribute_impl_createAttributePrefixInternal(attrPrefix);
}
;function module$contents$google3$third_party$javascript$safevalues$builders$document_fragment_builders_htmlFragment(templateObj) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$string_literal_assertIsTemplateObject(templateObj, 0);
  return document.createRange().createContextualFragment((0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)((0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(templateObj[0])));
}
function module$contents$google3$third_party$javascript$safevalues$builders$document_fragment_builders_svgFragment(templateObj) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$string_literal_assertIsTemplateObject(templateObj, 0);
  var svgElem = document.createElementNS("http://www.w3.org/2000/svg", "svg"), range = document.createRange();
  range.selectNodeContents(svgElem);
  return range.createContextualFragment((0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)((0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(templateObj[0])));
}
function module$contents$google3$third_party$javascript$safevalues$builders$document_fragment_builders_htmlToNode(html) {
  var fragment = document.createRange().createContextualFragment((0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)(html));
  return fragment.childNodes.length === 1 ? fragment.childNodes[0] : fragment;
}
;function module$contents$google3$third_party$javascript$safevalues$builders$style_sheet_builders_safeStyleRule(templateObj) {
  var rest = $jscomp.getRestArguments.apply(1, arguments);
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$string_literal_assertIsTemplateObject(templateObj, rest.length);
  for (var stringifiedRule = templateObj[0], i = 0; i < templateObj.length - 1; i++) {
    stringifiedRule += String(rest[i]), stringifiedRule += templateObj[i + 1];
  }
  var doc = document.implementation.createHTMLDocument(""), styleEl = doc.createElement("style");
  doc.head.appendChild(styleEl);
  var styleSheet = styleEl.sheet;
  styleSheet.insertRule(stringifiedRule, 0);
  if (styleSheet.cssRules.length !== 1) {
    if (goog.DEBUG) {
      throw Error("safeStyleRule can be used to construct only 1 CSSStyleRule at a time. Use the concatStyle function to create sheet with several rules. Tried to parse: " + stringifiedRule + ("which has " + styleSheet.cssRules.length + " rules: " + styleSheet.cssRules[0].cssText + " #$% " + styleSheet.cssRules[1].cssText + "."));
    }
  } else {
    var styleSheetRule = styleSheet.cssRules[0];
    if (styleSheetRule instanceof CSSStyleRule) {
      return module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_createStyleSheetInternal(styleSheetRule.cssText.replace(/</g, "\\3C "));
    }
    if (goog.DEBUG) {
      throw Error("safeStyleRule can be used to construct a CSSStyleRule. @-rules should be constructed with the safeStyleSheet builder. Tried to parse: " + stringifiedRule);
    }
  }
}
function module$contents$google3$third_party$javascript$safevalues$builders$style_sheet_builders_safeStyleSheet(templateObj) {
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$string_literal_assertIsTemplateObject(templateObj, 0);
  var styleSheet = templateObj[0];
  if (goog.DEBUG && /</.test(styleSheet)) {
    throw Error("'<' character is forbidden in styleSheet string: " + styleSheet);
  }
  return module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_createStyleSheetInternal(styleSheet);
}
function module$contents$google3$third_party$javascript$safevalues$builders$style_sheet_builders_concatStyleSheets(sheets) {
  return module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_createStyleSheetInternal(sheets.map(module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_unwrapStyleSheet).join(""));
}
;var module$exports$google3$third_party$javascript$safevalues$builders$html_builders = {};
function module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscape(value, options) {
  if ((0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.isHtml)(value)) {
    return value;
  }
  var htmlEscapedString = module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscapeToString(String(value));
  if (options == null ? 0 : options.preserveSpaces) {
    htmlEscapedString = htmlEscapedString.replace(/(^|[\r\n\t ]) /g, "$1&#160;");
  }
  if (options == null ? 0 : options.preserveNewlines) {
    htmlEscapedString = htmlEscapedString.replace(/(\r\n|\n|\r)/g, "<br>");
  }
  if (options == null ? 0 : options.preserveTabs) {
    htmlEscapedString = htmlEscapedString.replace(/(\t+)/g, '<span style="white-space:pre">$1</span>');
  }
  return (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(htmlEscapedString);
}
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.htmlEscape = module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscape;
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.scriptToHtml = function(script, options) {
  var unwrappedScript = module$contents$google3$third_party$javascript$safevalues$internals$script_impl_unwrapScript(script).toString(), stringTag = "<script";
  if (options == null ? 0 : options.id) {
    stringTag += ' id="' + module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscapeToString(options.id) + '"';
  }
  if (options == null ? 0 : options.nonce) {
    stringTag += ' nonce="' + module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscapeToString(options.nonce) + '"';
  }
  if (options == null ? 0 : options.type) {
    stringTag += ' type="' + module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscapeToString(options.type) + '"';
  }
  if (options == null ? 0 : options.defer) {
    stringTag += " defer";
  }
  return (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(stringTag + (">" + unwrappedScript + "\x3c/script>"));
};
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.scriptUrlToHtml = function(src, options) {
  var unwrappedSrc = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(src).toString(), stringTag = '<script src="' + module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscapeToString(unwrappedSrc) + '"';
  if (options == null ? 0 : options.async) {
    stringTag += " async";
  }
  (options == null ? void 0 : options.attributionSrc) !== void 0 && (stringTag += ' attributionsrc="' + module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscapeToString(options.attributionSrc) + '"');
  if (options == null ? 0 : options.customElement) {
    stringTag += ' custom-element="' + module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscapeToString(options.customElement) + '"';
  }
  if (options == null ? 0 : options.defer) {
    stringTag += " defer";
  }
  if (options == null ? 0 : options.id) {
    stringTag += ' id="' + module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscapeToString(options.id) + '"';
  }
  if (options == null ? 0 : options.nonce) {
    stringTag += ' nonce="' + module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscapeToString(options.nonce) + '"';
  }
  if (options == null ? 0 : options.type) {
    stringTag += ' type="' + module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscapeToString(options.type) + '"';
  }
  if (options == null ? 0 : options.crossorigin) {
    stringTag += ' crossorigin="' + module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscapeToString(options.crossorigin) + '"';
  }
  return (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(stringTag + ">\x3c/script>");
};
function module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscapeToString(text) {
  return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
}
function module$contents$google3$third_party$javascript$safevalues$builders$html_builders_concatHtmls(htmls) {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_builders_joinHtmls("", htmls);
}
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.concatHtmls = module$contents$google3$third_party$javascript$safevalues$builders$html_builders_concatHtmls;
function module$contents$google3$third_party$javascript$safevalues$builders$html_builders_joinHtmls(separator, htmls) {
  var separatorHtml = module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscape(separator);
  return (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(htmls.map(function(value) {
    return (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)(module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscape(value));
  }).join((0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml)(separatorHtml).toString()));
}
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.joinHtmls = module$contents$google3$third_party$javascript$safevalues$builders$html_builders_joinHtmls;
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.doctypeHtml = function() {
  return (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)("<!DOCTYPE html>");
};
function module$contents$google3$third_party$javascript$safevalues$builders$html_builders_nodeToHtmlInternal(node, temporaryRoot) {
  temporaryRoot.appendChild(node);
  var serializedNewTree = (new XMLSerializer()).serializeToString(temporaryRoot);
  serializedNewTree = serializedNewTree.slice(serializedNewTree.indexOf(">") + 1, serializedNewTree.lastIndexOf("</"));
  return (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(serializedNewTree);
}
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.nodeToHtmlInternal = module$contents$google3$third_party$javascript$safevalues$builders$html_builders_nodeToHtmlInternal;
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.nodeToHtml = function(node) {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_builders_nodeToHtmlInternal(node, document.createElement("span"));
};
var module$contents$google3$third_party$javascript$safevalues$builders$html_builders_VALID_TAG_OR_ATTRIBUTE_NAMES = /^[a-z][a-z\d-]*$/i, module$contents$google3$third_party$javascript$safevalues$builders$html_builders_DISALLOWED_TAG_NAMES = "APPLET BASE EMBED IFRAME LINK MATH META OBJECT SCRIPT STYLE SVG TEMPLATE".split(" ");
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.VOID_TAG_NAMES = "AREA BR COL COMMAND HR IMG INPUT KEYGEN PARAM SOURCE TRACK WBR".split(" ");
var module$contents$google3$third_party$javascript$safevalues$builders$html_builders_URL_ATTRIBUTES = ["action", "formaction", "href"];
function module$contents$google3$third_party$javascript$safevalues$builders$html_builders_verifyTagName(tagName) {
  if (!module$contents$google3$third_party$javascript$safevalues$builders$html_builders_VALID_TAG_OR_ATTRIBUTE_NAMES.test(tagName)) {
    throw Error(goog.DEBUG ? "Invalid tag name <" + tagName + ">." : "");
  }
  if (module$contents$google3$third_party$javascript$safevalues$builders$html_builders_DISALLOWED_TAG_NAMES.indexOf(tagName.toUpperCase()) !== -1) {
    throw Error(goog.DEBUG ? "Tag name <" + tagName + "> is not allowed for createHtml." : "");
  }
}
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.verifyTagName = module$contents$google3$third_party$javascript$safevalues$builders$html_builders_verifyTagName;
function module$contents$google3$third_party$javascript$safevalues$builders$html_builders_isVoidTag(tagName) {
  return module$exports$google3$third_party$javascript$safevalues$builders$html_builders.VOID_TAG_NAMES.indexOf(tagName.toUpperCase()) !== -1;
}
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.isVoidTag = module$contents$google3$third_party$javascript$safevalues$builders$html_builders_isVoidTag;
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.createHtml = function(tagName, attributes, content) {
  module$contents$google3$third_party$javascript$safevalues$builders$html_builders_verifyTagName(tagName);
  var result = "<" + tagName;
  attributes && (result += module$contents$google3$third_party$javascript$safevalues$builders$html_builders_stringifyAttributes(tagName, attributes));
  Array.isArray(content) || (content = content === void 0 ? [] : [content]);
  if (module$contents$google3$third_party$javascript$safevalues$builders$html_builders_isVoidTag(tagName)) {
    if (goog.DEBUG && content.length > 0) {
      throw Error("Void tag <" + tagName + "> does not allow content.");
    }
    result += ">";
  } else {
    var html = module$contents$google3$third_party$javascript$safevalues$builders$html_builders_concatHtmls(content.map(function(value) {
      return (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.isHtml)(value) ? value : module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscape(String(value));
    }));
    result += ">" + html.toString() + "</" + tagName + ">";
  }
  return (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(result);
};
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.styleSheetToHtml = function(styleSheet, attributes) {
  var combinedAttributes = {};
  if (attributes) {
    for (var customAttrNames = Object.keys(attributes), i = 0; i < customAttrNames.length; i++) {
      var name = customAttrNames[i];
      if (name.toLowerCase() === "type") {
        throw Error(goog.DEBUG ? "Cannot override the 'type' attribute with value " + attributes[name] + "." : "");
      }
      combinedAttributes[name] = attributes[name];
    }
  }
  combinedAttributes.type = "text/css";
  var stringifiedAttributes = module$contents$google3$third_party$javascript$safevalues$builders$html_builders_stringifyAttributes("style", combinedAttributes);
  Array.isArray(styleSheet) && (styleSheet = module$contents$google3$third_party$javascript$safevalues$builders$style_sheet_builders_concatStyleSheets(styleSheet));
  var styleContent = module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_unwrapStyleSheet(styleSheet);
  return (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)("<style " + stringifiedAttributes + ">" + styleContent + "</style>");
};
function module$contents$google3$third_party$javascript$safevalues$builders$html_builders_stringifyAttributes(tagName, attributes) {
  for (var result = "", attrNames = Object.keys(attributes), i = 0; i < attrNames.length; i++) {
    var name = attrNames[i], value = attributes[name];
    if (!module$contents$google3$third_party$javascript$safevalues$builders$html_builders_VALID_TAG_OR_ATTRIBUTE_NAMES.test(name)) {
      throw Error(goog.DEBUG ? 'Invalid attribute name "' + name + '".' : "");
    }
    if (value !== void 0 && value !== null) {
      var JSCompiler_temp_const = result, name$jscomp$0 = name, value$jscomp$0 = value;
      if (/^on./i.test(name$jscomp$0)) {
        throw Error(goog.DEBUG ? 'Attribute "' + name$jscomp$0 + " is forbidden. Inline event handlers can lead to XSS. Please use the 'addEventListener' API instead." : "");
      }
      module$contents$google3$third_party$javascript$safevalues$builders$html_builders_URL_ATTRIBUTES.indexOf(name$jscomp$0.toLowerCase()) !== -1 && (value$jscomp$0 = module$contents$google3$third_party$javascript$safevalues$internals$url_impl_isUrl(value$jscomp$0) ? value$jscomp$0.toString() : module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeJavaScriptUrl(String(value$jscomp$0)) || "about:invalid#zClosurez");
      if (goog.DEBUG && !module$contents$google3$third_party$javascript$safevalues$internals$url_impl_isUrl(value$jscomp$0) && !(0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.isHtml)(value$jscomp$0) && !module$contents$google3$third_party$javascript$safevalues$internals$style_impl_isStyle(value$jscomp$0) && typeof value$jscomp$0 !== "string" && typeof value$jscomp$0 !== "number") {
        throw Error("String or number value expected, got " + typeof value$jscomp$0 + " with value '" + value$jscomp$0 + "' given.");
      }
      var JSCompiler_inline_result = name$jscomp$0 + '="' + module$contents$google3$third_party$javascript$safevalues$builders$html_builders_htmlEscape(String(value$jscomp$0)) + '"';
      result = JSCompiler_temp_const + (" " + JSCompiler_inline_result);
    }
  }
  return result;
}
module$exports$google3$third_party$javascript$safevalues$builders$html_builders.stringifyAttributes = module$contents$google3$third_party$javascript$safevalues$builders$html_builders_stringifyAttributes;
var module$exports$google3$third_party$javascript$safevalues$builders$html_formatter = {HtmlFormatter:function() {
  this.replacements = new Map();
}};
module$exports$google3$third_party$javascript$safevalues$builders$html_formatter.HtmlFormatter.prototype.format = function(format) {
  var $jscomp$this$380122516$5 = this, openedTags = [], marker = (0,module$exports$google3$third_party$javascript$safevalues$builders$html_builders.htmlEscape)("_safevalues_format_marker_:").toString(), html = (0,module$exports$google3$third_party$javascript$safevalues$builders$html_builders.htmlEscape)(format).toString().replace(new RegExp("\\{" + marker + "[\\w&#;]+\\}", "g"), function(match) {
    return $jscomp$this$380122516$5.replaceFormattingString(openedTags, match);
  });
  if (openedTags.length !== 0) {
    if (goog.DEBUG) {
      throw Error("Expected no unclosed tags, got <" + openedTags.join(">, <") + ">.");
    }
    throw Error();
  }
  return (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(html);
};
module$exports$google3$third_party$javascript$safevalues$builders$html_formatter.HtmlFormatter.prototype.replaceFormattingString = function(openedTags, match) {
  var replacement = this.replacements.get(match);
  if (!replacement) {
    return match;
  }
  var result = "";
  switch(replacement.type) {
    case "html":
      result = replacement.html;
      break;
    case "startTag":
      result = "<" + replacement.tagName + replacement.attributes + ">";
      goog.DEBUG && ((0,module$exports$google3$third_party$javascript$safevalues$builders$html_builders.isVoidTag)(replacement.tagName.toLowerCase()) || openedTags.push(replacement.tagName.toLowerCase()));
      break;
    case "endTag":
      result = "</" + replacement.tagName + ">";
      if (goog.DEBUG) {
        var lastTag = openedTags.pop();
        if (lastTag !== replacement.tagName.toLowerCase()) {
          throw Error("Expected </" + lastTag + ">, got </" + replacement.tagName + ">.");
        }
      }
      break;
    default:
      if (goog.DEBUG) {
        throw Error("type had an unknown value");
      }
  }
  return result;
};
module$exports$google3$third_party$javascript$safevalues$builders$html_formatter.HtmlFormatter.prototype.text = function(text) {
  return this.storeReplacement({type:"html", html:(0,module$exports$google3$third_party$javascript$safevalues$builders$html_builders.htmlEscape)(text).toString()});
};
module$exports$google3$third_party$javascript$safevalues$builders$html_formatter.HtmlFormatter.prototype.storeReplacement = function(replacement) {
  var marker = "{_safevalues_format_marker_:" + this.replacements.size + "_" + Math.random().toString(36).slice(2) + "}";
  this.replacements.set((0,module$exports$google3$third_party$javascript$safevalues$builders$html_builders.htmlEscape)(marker).toString(), replacement);
  return marker;
};
var module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$allowlists = {};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$allowlists.CSS_PROPERTY_ALLOWLIST = new Set("accent-color align-content align-items align-self alignment-baseline all appearance aspect-ratio backdrop-filter backface-visibility background background-attachment background-blend-mode background-clip background-color background-image background-origin background-position background-position-x background-position-y background-repeat background-size block-size border border-block border-block-color border-block-end border-block-end-color border-block-end-style border-block-end-width border-block-start border-block-start-color border-block-start-style border-block-start-width border-block-style border-block-width border-bottom border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-collapse border-color border-end-end-radius border-end-start-radius border-image border-image-outset border-image-repeat border-image-slice border-image-source border-image-width border-inline border-inline-color border-inline-end border-inline-end-color border-inline-end-style border-inline-end-width border-inline-start border-inline-start-color border-inline-start-style border-inline-start-width border-inline-style border-inline-width border-left border-left-color border-left-style border-left-width border-radius border-right border-right-color border-right-style border-right-width border-spacing border-start-end-radius border-start-start-radius border-style border-top border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width border-width bottom box-shadow box-sizing caption-side caret-color clear clip clip-path clip-rule color color-interpolation color-interpolation-filters color-scheme column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width columns contain contain-intrinsic-block-size contain-intrinsic-height contain-intrinsic-inline-size contain-intrinsic-size contain-intrinsic-width content content-visibility counter-increment counter-reset counter-set cx cy d display dominant-baseline empty-cells field-sizing fill fill-opacity fill-rule filter flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap float flood-color flood-opacity font font-family font-feature-settings font-kerning font-optical-sizing font-palette font-size font-size-adjust font-stretch font-style font-synthesis font-synthesis-small-caps font-synthesis-style font-synthesis-weight font-variant font-variant-alternates font-variant-caps font-variant-east-asian font-variant-emoji font-variant-ligatures font-variant-numeric font-variant-position font-variation-settings font-weight forced-color-adjust gap grid grid-area grid-auto-columns grid-auto-flow grid-auto-rows grid-column grid-column-end grid-column-gap grid-column-start grid-gap grid-row grid-row-end grid-row-gap grid-row-start grid-template grid-template-areas grid-template-columns grid-template-rows height hyphenate-character hyphenate-limit-chars hyphens image-orientation image-rendering inline-size inset inset-area inset-block inset-block-end inset-block-start inset-inline inset-inline-end inset-inline-start isolation justify-content justify-items justify-self left letter-spacing lighting-color line-break line-clamp line-gap-override line-height list-style list-style-image list-style-position list-style-type margin margin-block margin-block-end margin-block-start margin-bottom margin-inline margin-inline-end margin-inline-start margin-left margin-right margin-top marker marker-end marker-mid marker-start mask mask-clip mask-composite mask-image mask-mode mask-origin mask-position mask-repeat mask-size mask-type max-block-size max-height max-inline-size max-width min-block-size min-height min-inline-size min-width mix-blend-mode object-fit object-position object-view-box opacity order orphans outline outline-color outline-offset outline-style outline-width overflow overflow-anchor overflow-block overflow-clip-margin overflow-inline overflow-wrap overflow-x overflow-y padding padding-block padding-block-end padding-block-start padding-bottom padding-inline padding-inline-end padding-inline-start padding-left padding-right padding-top paint-order perspective perspective-origin place-content place-items place-self position quotes r resize right rotate row-gap ruby-align ruby-position rx ry scale shape-image-threshold shape-margin shape-outside shape-rendering stop-color stop-opacity stroke stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width tab-size table-layout text-align text-align-last text-anchor text-autospace text-box-edge text-box-trim text-combine-upright text-decoration text-decoration-color text-decoration-line text-decoration-skip-ink text-decoration-style text-decoration-thickness text-emphasis text-emphasis-color text-emphasis-position text-emphasis-style text-indent text-orientation text-overflow text-rendering text-shadow text-size-adjust text-spacing text-spacing-trim text-transform text-underline-offset text-underline-position text-wrap top transform transform-box transform-origin transform-style translate unicode-bidi vector-effect vertical-align visibility white-space white-space-collapse widows width will-change word-break word-spacing word-wrap writing-mode x y z-index zoom animation animation-composition animation-delay animation-direction animation-duration animation-fill-mode animation-iteration-count animation-name animation-play-state animation-range animation-range-end animation-range-start animation-timeline animation-timing-function offset offset-anchor offset-distance offset-path offset-position offset-rotate transition transition-behavior transition-delay transition-duration transition-property transition-timing-function".split(" "));
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$allowlists.CSS_FUNCTION_ALLOWLIST = new Set("alpha cubic-bezier linear-gradient matrix perspective radial-gradient rect repeating-linear-gradient repeating-radial-gradient rgb rgba rotate rotate3d rotatex rotatey rotatez scale scale3d scalex scaley scalez skew skewx skewy steps translate translate3d translatex translatey translatez url".split(" "));
var module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens = {CssTokenKind:{AT_KEYWORD:0, CDC:1, CDO:2, CLOSE_CURLY:3, CLOSE_PAREN:4, CLOSE_SQUARE:5, COLON:6, COMMA:7, DELIM:8, DIMENSION:9, EOF:10, FUNCTION:11, HASH:12, IDENT:13, NUMBER:14, OPEN_CURLY:15, OPEN_PAREN:16, OPEN_SQUARE:17, PERCENTAGE:18, SEMICOLON:19, STRING:20, WHITESPACE:21}};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.AT_KEYWORD] = "AT_KEYWORD";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CDC] = "CDC";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CDO] = "CDO";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CLOSE_CURLY] = "CLOSE_CURLY";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CLOSE_PAREN] = "CLOSE_PAREN";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CLOSE_SQUARE] = "CLOSE_SQUARE";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.COLON] = "COLON";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.COMMA] = "COMMA";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DELIM] = "DELIM";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DIMENSION] = "DIMENSION";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.EOF] = "EOF";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.FUNCTION] = "FUNCTION";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.HASH] = "HASH";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.IDENT] = "IDENT";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.NUMBER] = "NUMBER";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.OPEN_CURLY] = "OPEN_CURLY";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.OPEN_PAREN] = "OPEN_PAREN";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.OPEN_SQUARE] = "OPEN_SQUARE";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.PERCENTAGE] = "PERCENTAGE";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.SEMICOLON] = "SEMICOLON";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.STRING] = "STRING";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.WHITESPACE] = "WHITESPACE";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.AtKeywordToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CdcToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CdoToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CloseCurlyToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CloseParenToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CloseSquareToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.ColonToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CommaToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.DelimToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.DimensionToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.EofToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.FunctionToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.HashToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.IdentToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.NumberToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.OpenCurlyToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.OpenParenToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.OpenSquareToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.PercentageToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.SemicolonToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.StringToken = function() {
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.WhitespaceToken = function() {
};
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeCodePoint(c) {
  return "\\" + c.codePointAt(0).toString(16) + " ";
}
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeString(str) {
  return '"' + str.replace(/[^A-Za-z0-9_/. :,?=%;-]/g, function(c) {
    return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeCodePoint(c);
  }) + '"';
}
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeIdent(ident) {
  return (/^[^A-Za-z_]/.test(ident) ? module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeCodePoint(ident[0]) : ident[0]) + ident.slice(1).replace(/[^A-Za-z0-9_-]/g, function(c) {
    return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeCodePoint(c);
  });
}
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_serializeToken(token) {
  switch(token.tokenKind) {
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.AT_KEYWORD:
      return "@" + module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeIdent(token.name);
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CDC:
      return "--\x3e";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CDO:
      return "\x3c!--";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CLOSE_CURLY:
      return "}";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CLOSE_PAREN:
      return ")";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CLOSE_SQUARE:
      return "]";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.COLON:
      return ":";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.COMMA:
      return ",";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DELIM:
      return token.codePoint === "\\" ? "\\\n" : token.codePoint;
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DIMENSION:
      return token.repr + module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeIdent(token.dimension);
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.EOF:
      return "";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.FUNCTION:
      return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeIdent(token.lowercaseName) + "(";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.HASH:
      return "#" + module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeIdent(token.value);
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.IDENT:
      return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeIdent(token.ident);
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.NUMBER:
      return token.repr;
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.OPEN_CURLY:
      return "{";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.OPEN_PAREN:
      return "(";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.OPEN_SQUARE:
      return "[";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.PERCENTAGE:
      return token.repr + "%";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.SEMICOLON:
      return ";";
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.STRING:
      return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeString(token.value);
    case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.WHITESPACE:
      return " ";
    default:
      throw Error("unexpected value " + token + "!");
  }
}
;var module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_HEX_DIGIT_REGEX = /^[0-9a-fA-F]$/, module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer = function(css) {
  this.pos = 0;
  this.css = this.preprocess(css);
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.tokenize = function() {
  for (var tokens = [], lastToken = void 0;;) {
    var token = this.consumeToken();
    if (Array.isArray(token)) {
      tokens.push.apply(tokens, (0,$jscomp.arrayFromIterable)(token));
    } else {
      var $jscomp$optchain$tmpm583190311$0 = void 0;
      if (token.tokenKind !== module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.WHITESPACE || (($jscomp$optchain$tmpm583190311$0 = lastToken) == null ? void 0 : $jscomp$optchain$tmpm583190311$0.tokenKind) !== module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.WHITESPACE) {
        tokens.push(token);
        if (token.tokenKind === module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.EOF) {
          return tokens;
        }
        lastToken = token;
      }
    }
  }
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.nextInputCodePoint = function() {
  return this.css[this.pos];
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.nextTwoInputCodePoints = function() {
  return [this.css[this.pos], this.css[this.pos + 1]];
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.nextThreeInputCodePoints = function() {
  return [this.css[this.pos], this.css[this.pos + 1], this.css[this.pos + 2]];
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.currentInputCodePoint = function() {
  return this.css[this.pos - 1];
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.nextNInputCodePoints = function(n) {
  return this.css.slice(this.pos, this.pos + n);
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeTheNextInputCodePoint = function() {
  this.pos++;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeNInputCodePoints = function(n) {
  this.pos += n;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.reconsumeTheCurrentInputCodePoint = function() {
  this.pos--;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.preprocess = function(css) {
  return css.replace(/[\x0d\x0c]|\x0d\x0a/g, "\n").replace(/\x00/g, "\ufffd");
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeToken = function() {
  if (this.consumeComments()) {
    return {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.WHITESPACE};
  }
  var codePoint = this.nextInputCodePoint();
  this.consumeTheNextInputCodePoint();
  if (codePoint === void 0) {
    return {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.EOF};
  }
  if (this.isWhitespace(codePoint)) {
    return this.consumeAsMuchWhitespaceAsPossible(), {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.WHITESPACE};
  }
  if (codePoint === "'" || codePoint === '"') {
    return this.consumeString(codePoint);
  }
  if (codePoint === "#") {
    return this.isIdentCodePoint(this.nextInputCodePoint()) || this.twoCodePointsAreValidEscape.apply(this, (0,$jscomp.arrayFromIterable)(this.nextTwoInputCodePoints())) ? {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.HASH, value:this.consumeIdentSequence()} : {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DELIM, codePoint:"#"};
  }
  if (codePoint === "(") {
    return {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.OPEN_PAREN};
  }
  if (codePoint === ")") {
    return {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CLOSE_PAREN};
  }
  if (codePoint === "+") {
    return this.streamStartsWithANumber() ? (this.reconsumeTheCurrentInputCodePoint(), this.consumeNumericToken()) : {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DELIM, codePoint:"+"};
  }
  if (codePoint === ",") {
    return {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.COMMA};
  }
  if (codePoint === "-") {
    return this.streamStartsWithANumber() ? (this.reconsumeTheCurrentInputCodePoint(), this.consumeNumericToken()) : this.nextNInputCodePoints(2) === "->" ? (this.consumeNInputCodePoints(2), {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CDC}) : this.streamStartsWithAnIdentSequence() ? (this.reconsumeTheCurrentInputCodePoint(), this.consumeIdentLikeToken()) : {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DELIM, 
    codePoint:"-"};
  }
  if (codePoint === ".") {
    return this.streamStartsWithANumber() ? (this.reconsumeTheCurrentInputCodePoint(), this.consumeNumericToken()) : {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DELIM, codePoint:"."};
  }
  if (codePoint === ":") {
    return {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.COLON};
  }
  if (codePoint === ";") {
    return {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.SEMICOLON};
  }
  if (codePoint === "<") {
    return this.nextNInputCodePoints(3) === "!--" ? (this.consumeNInputCodePoints(3), {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CDO}) : {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DELIM, codePoint:"<"};
  }
  if (codePoint === "@") {
    if (this.threeCodePointsWouldStartAnIdentSequence.apply(this, (0,$jscomp.arrayFromIterable)(this.nextThreeInputCodePoints()))) {
      var ident = this.consumeIdentSequence();
      return {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.AT_KEYWORD, name:ident};
    }
    return {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DELIM, codePoint:"@"};
  }
  return codePoint === "\\" ? this.streamStartsWithValidEscape() ? (this.reconsumeTheCurrentInputCodePoint(), this.consumeIdentLikeToken()) : {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DELIM, codePoint:"\\"} : codePoint === "[" ? {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.OPEN_SQUARE} : codePoint === "]" ? {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CLOSE_SQUARE} : 
  codePoint === "{" ? {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.OPEN_CURLY} : codePoint === "}" ? {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CLOSE_CURLY} : this.isDigit(codePoint) ? (this.reconsumeTheCurrentInputCodePoint(), this.consumeNumericToken()) : this.isIdentStartCodePoint(codePoint) ? (this.reconsumeTheCurrentInputCodePoint(), this.consumeIdentLikeToken()) : 
  {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DELIM, codePoint:codePoint};
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeComments = function() {
  for (var anyComments = !1; this.nextNInputCodePoints(2) === "/*";) {
    anyComments = !0;
    this.consumeNInputCodePoints(2);
    var endIndex = this.css.indexOf("*/", this.pos);
    if (endIndex === -1) {
      this.pos = this.css.length;
      break;
    }
    this.pos = endIndex + 2;
  }
  return anyComments;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeString = function(quote) {
  for (var stringToken = {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.STRING, value:""};;) {
    var codePoint = this.nextInputCodePoint();
    this.consumeTheNextInputCodePoint();
    if (codePoint === void 0 || codePoint === quote) {
      return stringToken;
    }
    if (this.isNewline(codePoint)) {
      return this.reconsumeTheCurrentInputCodePoint(), stringToken.value = "", stringToken;
    }
    if (codePoint === "\\") {
      if (this.nextInputCodePoint() !== void 0) {
        if (this.isNewline(this.nextInputCodePoint())) {
          this.consumeTheNextInputCodePoint();
        } else {
          var escapedCodePoint = this.consumeEscapedCodePoint();
          stringToken.value += escapedCodePoint;
        }
      }
    } else {
      stringToken.value += codePoint;
    }
  }
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeEscapedCodePoint = function() {
  var codePoint = this.nextInputCodePoint();
  this.consumeTheNextInputCodePoint();
  if (codePoint === void 0) {
    return "\ufffd";
  }
  if (this.isHexDigit(codePoint)) {
    for (var hexDigits = codePoint; this.isHexDigit(this.nextInputCodePoint()) && hexDigits.length < 6;) {
      hexDigits += this.nextInputCodePoint(), this.consumeTheNextInputCodePoint();
    }
    this.isWhitespace(this.nextInputCodePoint()) && this.consumeTheNextInputCodePoint();
    return String.fromCodePoint(parseInt(hexDigits, 16));
  }
  return codePoint;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeAsMuchWhitespaceAsPossible = function() {
  for (; this.isWhitespace(this.nextInputCodePoint());) {
    this.consumeTheNextInputCodePoint();
  }
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeIdentSequence = function() {
  for (var result = "";;) {
    var codePoint = this.nextInputCodePoint();
    this.consumeTheNextInputCodePoint();
    var codePoint2 = this.nextInputCodePoint();
    if (this.isIdentCodePoint(codePoint)) {
      result += codePoint;
    } else if (this.twoCodePointsAreValidEscape(codePoint, codePoint2)) {
      result += this.consumeEscapedCodePoint();
    } else {
      return this.reconsumeTheCurrentInputCodePoint(), result;
    }
  }
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeIdentLikeToken = function() {
  var ident = this.consumeIdentSequence();
  if (/^url$/i.test(ident) && this.nextInputCodePoint() === "(") {
    for (this.consumeTheNextInputCodePoint(); this.nextTwoInputsPointsAreWhitespace();) {
      this.consumeTheNextInputCodePoint();
    }
    var nextTwo = this.nextTwoInputCodePoints();
    return this.isWhitespace(nextTwo[0]) && (nextTwo[1] === '"' || nextTwo[1] === "'") || nextTwo[0] === '"' || nextTwo[0] === "'" ? {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.FUNCTION, lowercaseName:"url"} : this.consumeUrlToken();
  }
  return this.nextInputCodePoint() === "(" ? (this.consumeTheNextInputCodePoint(), {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.FUNCTION, lowercaseName:ident.toLowerCase()}) : {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.IDENT, ident:ident};
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeUrlToken = function() {
  var url = "";
  for (this.consumeAsMuchWhitespaceAsPossible();;) {
    var codePoint = this.nextInputCodePoint();
    this.consumeTheNextInputCodePoint();
    if (codePoint === ")" || codePoint === void 0) {
      return this.createFunctionUrlToken(url);
    }
    if (this.isWhitespace(codePoint)) {
      this.consumeAsMuchWhitespaceAsPossible();
      if (this.nextInputCodePoint() === ")" || this.nextInputCodePoint() === void 0) {
        return this.consumeTheNextInputCodePoint(), this.createFunctionUrlToken(url);
      }
      this.consumeRemnantsOfBadUrl();
      return this.createFunctionUrlToken("");
    }
    if (codePoint === '"' || codePoint === "'" || codePoint === "(" || this.isNonPrintableCodePoint(codePoint)) {
      return this.consumeRemnantsOfBadUrl(), this.createFunctionUrlToken("");
    }
    if (codePoint === "\\") {
      if (this.streamStartsWithValidEscape()) {
        url += this.consumeEscapedCodePoint();
      } else {
        return this.consumeRemnantsOfBadUrl(), this.createFunctionUrlToken("");
      }
    } else {
      url += codePoint;
    }
  }
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.createFunctionUrlToken = function(url) {
  return [{tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.FUNCTION, lowercaseName:"url"}, {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.STRING, value:url}, {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.CLOSE_PAREN}];
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeRemnantsOfBadUrl = function() {
  for (;;) {
    var codePoint = this.nextInputCodePoint();
    this.consumeTheNextInputCodePoint();
    if (codePoint === void 0 || codePoint === ")") {
      break;
    } else {
      this.streamStartsWithValidEscape() && this.consumeEscapedCodePoint();
    }
  }
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeNumber = function() {
  var repr = "", next = this.nextInputCodePoint();
  if (next === "+" || next === "-") {
    this.consumeTheNextInputCodePoint(), repr += next;
  }
  repr += this.consumeDigits();
  var next2 = this.css[this.pos + 1];
  this.nextInputCodePoint() === "." && this.isDigit(next2) && (this.consumeTheNextInputCodePoint(), repr += "." + this.consumeDigits());
  var next$jscomp$0 = this.nextInputCodePoint(), next2$jscomp$0 = this.css[this.pos + 1], next3 = this.css[this.pos + 2];
  if (next$jscomp$0 === "e" || next$jscomp$0 === "E") {
    next2$jscomp$0 !== "+" && next2$jscomp$0 !== "-" || !this.isDigit(next3) ? this.isDigit(next2$jscomp$0) && (this.consumeTheNextInputCodePoint(), repr += next$jscomp$0 + this.consumeDigits()) : (this.consumeNInputCodePoints(2), repr += next$jscomp$0 + next2$jscomp$0 + this.consumeDigits());
  }
  return repr;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeDigits = function() {
  for (var repr = ""; this.isDigit(this.nextInputCodePoint());) {
    repr += this.nextInputCodePoint(), this.consumeTheNextInputCodePoint();
  }
  return repr;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.consumeNumericToken = function() {
  var repr = this.consumeNumber();
  return this.threeCodePointsWouldStartAnIdentSequence.apply(this, (0,$jscomp.arrayFromIterable)(this.nextThreeInputCodePoints())) ? {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.DIMENSION, repr:repr, dimension:this.consumeIdentSequence()} : this.nextInputCodePoint() === "%" ? (this.consumeTheNextInputCodePoint(), {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.PERCENTAGE, 
  repr:repr}) : {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.NUMBER, repr:repr};
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.nextTwoInputsPointsAreWhitespace = function() {
  var $jscomp$this$m583190311$26 = this;
  return this.nextTwoInputCodePoints().every(function(c) {
    return $jscomp$this$m583190311$26.isWhitespace(c);
  });
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.twoCodePointsAreValidEscape = function(codePoint1, codePoint2) {
  return codePoint1 === "\\" && codePoint2 !== "\n";
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.streamStartsWithValidEscape = function() {
  return this.twoCodePointsAreValidEscape(this.currentInputCodePoint(), this.nextInputCodePoint());
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.threeCodePointsWouldStartANumber = function(codePoint1, codePoint2, codePoint3) {
  return codePoint1 === "+" || codePoint1 === "-" ? this.isDigit(codePoint2) || codePoint2 === "." && this.isDigit(codePoint3) : codePoint1 === "." ? this.isDigit(codePoint2) : this.isDigit(codePoint1);
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.streamStartsWithANumber = function() {
  return this.threeCodePointsWouldStartANumber.apply(this, [this.currentInputCodePoint()].concat((0,$jscomp.arrayFromIterable)(this.nextTwoInputCodePoints())));
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.threeCodePointsWouldStartAnIdentSequence = function(codePoint1, codePoint2, codePoint3) {
  return codePoint1 === "-" ? this.isIdentStartCodePoint(codePoint2) || codePoint2 === "-" ? !0 : this.twoCodePointsAreValidEscape(codePoint2, codePoint3) ? !0 : !1 : this.isIdentStartCodePoint(codePoint1) ? !0 : codePoint1 === "\\" ? this.twoCodePointsAreValidEscape(codePoint1, codePoint2) : !1;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.streamStartsWithAnIdentSequence = function() {
  return this.threeCodePointsWouldStartAnIdentSequence.apply(this, [this.currentInputCodePoint()].concat((0,$jscomp.arrayFromIterable)(this.nextTwoInputCodePoints())));
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.isDigit = function(codePoint) {
  return codePoint !== void 0 && codePoint >= "0" && codePoint <= "9";
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.isHexDigit = function(codePoint) {
  return codePoint !== void 0 && module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_HEX_DIGIT_REGEX.test(codePoint);
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.isNewline = function(codePoint) {
  return codePoint === "\n";
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.isWhitespace = function(codePoint) {
  return codePoint === " " || codePoint === "\t" || this.isNewline(codePoint);
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.isIdentCodePoint = function(codePoint) {
  return codePoint === void 0 ? !1 : /^([A-Za-z0-9_-]|[^\u0000-\u007f])$/.test(codePoint);
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.isIdentStartCodePoint = function(codePoint) {
  return codePoint === void 0 ? !1 : /^([A-Za-z_]|[^\u0000-\u007f])$/.test(codePoint);
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer.prototype.isNonPrintableCodePoint = function(codePoint) {
  return codePoint === void 0 ? !1 : /[\x00-\x08\x0b\x0e-\x1f\x7f]/.test(codePoint);
};
var module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy = {ResourceUrlPolicyHintsType:{STYLE_ELEMENT:0, STYLE_ATTRIBUTE:1, HTML_ATTRIBUTE:2}};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.ResourceUrlPolicyHintsType[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.ResourceUrlPolicyHintsType.STYLE_ELEMENT] = "STYLE_ELEMENT";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.ResourceUrlPolicyHintsType[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.ResourceUrlPolicyHintsType.STYLE_ATTRIBUTE] = "STYLE_ATTRIBUTE";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.ResourceUrlPolicyHintsType[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.ResourceUrlPolicyHintsType.HTML_ATTRIBUTE] = "HTML_ATTRIBUTE";
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy_parseUrl(value) {
  try {
    return new URL(value, window.document.baseURI);
  } catch (e) {
    return new URL("about:invalid");
  }
}
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.parseUrl = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy_parseUrl;
var module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer = function(propertyAllowlist, functionAllowlist, resourceUrlPolicy, allowKeyframes, propertyDiscarders) {
  this.propertyAllowlist = propertyAllowlist;
  this.functionAllowlist = functionAllowlist;
  this.resourceUrlPolicy = resourceUrlPolicy;
  this.allowKeyframes = allowKeyframes;
  this.propertyDiscarders = propertyDiscarders;
  this.inertDocument = document.implementation.createHTMLDocument();
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.getStyleSheet = function(cssText) {
  var style = this.inertDocument.createElement("style"), safeStyle = module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_createStyleSheetInternal(cssText);
  (0,module$exports$google3$third_party$javascript$safevalues$dom$elements$style.setTextContent)(style, safeStyle);
  this.inertDocument.head.appendChild(style);
  var sheet = style.sheet;
  style.remove();
  return sheet;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.getStyleDeclaration = function(cssText) {
  var div = this.inertDocument.createElement("div");
  div.style.cssText = cssText;
  this.inertDocument.body.appendChild(div);
  var style = div.style;
  div.remove();
  return style;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.hasShadowDomEscapingTokens = function(token, nextToken) {
  return token.tokenKind !== module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.COLON ? !1 : nextToken.tokenKind === module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.IDENT && nextToken.ident.toLowerCase() === "host" || nextToken.tokenKind === module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.FUNCTION && (nextToken.lowercaseName === "host" || 
  nextToken.lowercaseName === "host-context") ? !0 : !1;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.sanitizeSelector = function(selector) {
  for (var tokens = (new module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer(selector)).tokenize(), i = 0; i < tokens.length - 1; i++) {
    if (this.hasShadowDomEscapingTokens(tokens[i], tokens[i + 1])) {
      return null;
    }
  }
  return tokens.map(module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_serializeToken).join("");
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.sanitizeValue = function(propertyName, value, calledFromStyleElement) {
  for (var tokens = (new module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokenizer_Tokenizer(value)).tokenize(), i = 0; i < tokens.length; i++) {
    var token = tokens[i];
    if (token.tokenKind === module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.FUNCTION) {
      if (!this.functionAllowlist.has(token.lowercaseName)) {
        return null;
      }
      if (token.lowercaseName === "url") {
        var nextToken = tokens[i + 1], $jscomp$optchain$tmpm1877845113$0 = void 0;
        if ((($jscomp$optchain$tmpm1877845113$0 = nextToken) == null ? void 0 : $jscomp$optchain$tmpm1877845113$0.tokenKind) !== module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.STRING) {
          return null;
        }
        var parsedUrl = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy_parseUrl(nextToken.value);
        this.resourceUrlPolicy && (parsedUrl = this.resourceUrlPolicy(parsedUrl, {type:calledFromStyleElement ? module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.ResourceUrlPolicyHintsType.STYLE_ELEMENT : module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.ResourceUrlPolicyHintsType.STYLE_ATTRIBUTE, propertyName:propertyName}));
        if (!parsedUrl) {
          return null;
        }
        tokens[i + 1] = {tokenKind:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$tokens.CssTokenKind.STRING, value:parsedUrl.toString()};
        i++;
      }
    }
  }
  return tokens.map(module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_serializeToken).join("");
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.sanitizeKeyframeRule = function(rule) {
  var sanitizedProperties = this.sanitizeStyleDeclaration(rule.style, !0);
  return rule.keyText + " { " + sanitizedProperties + " }";
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.sanitizeKeyframesRule = function(keyframesRule) {
  if (!this.allowKeyframes) {
    return null;
  }
  for (var keyframeRules = [], $jscomp$iter$84 = (0,$jscomp.makeIterator)(keyframesRule.cssRules), $jscomp$key$m1877845113$1$rule = $jscomp$iter$84.next(); !$jscomp$key$m1877845113$1$rule.done; $jscomp$key$m1877845113$1$rule = $jscomp$iter$84.next()) {
    var rule = $jscomp$key$m1877845113$1$rule.value;
    if (rule instanceof CSSKeyframeRule) {
      var sanitizedRule = this.sanitizeKeyframeRule(rule);
      sanitizedRule && keyframeRules.push(sanitizedRule);
    }
  }
  return "@keyframes " + module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeIdent(keyframesRule.name) + " { " + keyframeRules.join(" ") + " }";
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.isPropertyNameAllowed = function(name) {
  if (!this.propertyAllowlist.has(name)) {
    return !1;
  }
  for (var $jscomp$iter$85 = (0,$jscomp.makeIterator)(this.propertyDiscarders), $jscomp$key$m1877845113$2$discarder = $jscomp$iter$85.next(); !$jscomp$key$m1877845113$2$discarder.done; $jscomp$key$m1877845113$2$discarder = $jscomp$iter$85.next()) {
    var discarder = $jscomp$key$m1877845113$2$discarder.value;
    if (discarder(name)) {
      return !1;
    }
  }
  return !0;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.sanitizeProperty = function(name, value, isImportant, calledFromStyleElement) {
  if (!this.isPropertyNameAllowed(name)) {
    return null;
  }
  var sanitizedValue = this.sanitizeValue(name, value, calledFromStyleElement);
  return sanitizedValue ? module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$serializer_escapeIdent(name) + ": " + sanitizedValue + (isImportant ? " !important" : "") : null;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.sanitizeStyleDeclaration = function(style, calledFromStyleElement) {
  for (var sortedPropertyNames = [].concat((0,$jscomp.arrayFromIterable)(style)).sort(), sanitizedProperties = "", $jscomp$iter$86 = (0,$jscomp.makeIterator)(sortedPropertyNames), $jscomp$key$m1877845113$3$name = $jscomp$iter$86.next(); !$jscomp$key$m1877845113$3$name.done; $jscomp$key$m1877845113$3$name = $jscomp$iter$86.next()) {
    var name = $jscomp$key$m1877845113$3$name.value, value = style.getPropertyValue(name), isImportant = style.getPropertyPriority(name) === "important", sanitizedProperty = this.sanitizeProperty(name, value, isImportant, calledFromStyleElement);
    sanitizedProperty && (sanitizedProperties += sanitizedProperty + ";");
  }
  return sanitizedProperties;
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.sanitizeStyleRule = function(rule) {
  var selector = this.sanitizeSelector(rule.selectorText);
  if (!selector) {
    return null;
  }
  var sanitizedProperties = this.sanitizeStyleDeclaration(rule.style, !0);
  return selector + " { " + sanitizedProperties + " }";
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.sanitizeStyleElement = function(cssText) {
  for (var rules = this.getStyleSheet(cssText).cssRules, output = [], $jscomp$iter$87 = (0,$jscomp.makeIterator)(rules), $jscomp$key$m1877845113$4$rule = $jscomp$iter$87.next(); !$jscomp$key$m1877845113$4$rule.done; $jscomp$key$m1877845113$4$rule = $jscomp$iter$87.next()) {
    var rule = $jscomp$key$m1877845113$4$rule.value;
    if (rule instanceof CSSStyleRule) {
      var sanitizedRule = this.sanitizeStyleRule(rule);
      sanitizedRule && output.push(sanitizedRule);
    } else if (rule instanceof CSSKeyframesRule) {
      var sanitizedRule$jscomp$0 = this.sanitizeKeyframesRule(rule);
      sanitizedRule$jscomp$0 && output.push(sanitizedRule$jscomp$0);
    }
  }
  return output.join("\n");
};
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer.prototype.sanitizeStyleAttribute = function(cssText) {
  var styleDeclaration = this.getStyleDeclaration(cssText);
  return this.sanitizeStyleDeclaration(styleDeclaration, !1);
};
var module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$css_isolation = {CSS_ISOLATION_PROPERTIES:"display:inline-block;clip-path:inset(0);overflow:hidden;vertical-align:top;text-decoration:inherit"};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$css_isolation.CSS_ISOLATION_STYLESHEET = ":host{" + module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$css_isolation.CSS_ISOLATION_PROPERTIES + "}";
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$inert_fragment_createInertFragment(dirtyHtml, inertDocument) {
  if (goog.DEBUG && inertDocument.defaultView) {
    throw Error("createInertFragment called with non-inert document");
  }
  var range = inertDocument.createRange();
  range.selectNode(inertDocument.body);
  var temporarySafeHtml = (0,module$exports$google3$third_party$javascript$safevalues$internals$html_impl.createHtmlInternal)(dirtyHtml);
  return module$contents$google3$third_party$javascript$safevalues$dom$globals$range_createContextualFragment(range, temporarySafeHtml);
}
;function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$no_clobber_getNodeName(node) {
  var nodeName = node.nodeName;
  return typeof nodeName === "string" ? nodeName : "FORM";
}
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$no_clobber_isElement(node) {
  var nodeType = node.nodeType;
  return nodeType === 1 || typeof nodeType !== "number";
}
;var module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table = {SanitizerTable:function(allowedElements, elementPolicies, allowedGlobalAttributes, globalAttributePolicies, globallyAllowedAttributePrefixes) {
  this.allowedElements = allowedElements;
  this.elementPolicies = elementPolicies;
  this.allowedGlobalAttributes = allowedGlobalAttributes;
  this.globalAttributePolicies = globalAttributePolicies;
  this.globallyAllowedAttributePrefixes = globallyAllowedAttributePrefixes;
}};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.SanitizerTable.prototype.isAllowedElement = function(elementName) {
  return elementName !== "FORM" && (this.allowedElements.has(elementName) || this.elementPolicies.has(elementName));
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.SanitizerTable.prototype.getAttributePolicy = function(attributeName, elementName) {
  var elementPolicy = this.elementPolicies.get(elementName);
  if (elementPolicy == null ? 0 : elementPolicy.has(attributeName)) {
    return elementPolicy.get(attributeName);
  }
  if (this.allowedGlobalAttributes.has(attributeName)) {
    return {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP};
  }
  var globalPolicy = this.globalAttributePolicies.get(attributeName);
  return globalPolicy ? globalPolicy : this.globallyAllowedAttributePrefixes && [].concat((0,$jscomp.arrayFromIterable)(this.globallyAllowedAttributePrefixes)).some(function(prefix) {
    return attributeName.indexOf(prefix) === 0;
  }) ? {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP} : {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.DROP};
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction = {DROP:0, KEEP:1, KEEP_AND_SANITIZE_URL:2, KEEP_AND_NORMALIZE:3, KEEP_AND_SANITIZE_STYLE:4, KEEP_AND_USE_RESOURCE_URL_POLICY:5, KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET:6};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.DROP] = "DROP";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP] = "KEEP";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_SANITIZE_URL] = "KEEP_AND_SANITIZE_URL";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_NORMALIZE] = "KEEP_AND_NORMALIZE";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_SANITIZE_STYLE] = "KEEP_AND_SANITIZE_STYLE";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_USE_RESOURCE_URL_POLICY] = "KEEP_AND_USE_RESOURCE_URL_POLICY";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction[module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET] = "KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET";
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicy = function() {
};
var module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table_FORBIDDEN_CUSTOM_ELEMENT_NAMES = new Set("ANNOTATION-XML COLOR-PROFILE FONT-FACE FONT-FACE-SRC FONT-FACE-URI FONT-FACE-FORMAT FONT-FACE-NAME MISSING-GLYPH".split(" "));
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.isCustomElement = function(tag) {
  return !module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table_FORBIDDEN_CUSTOM_ELEMENT_NAMES.has(tag.toUpperCase()) && /^[a-z][-_.a-z0-9]*-[-_.a-z0-9]*$/i.test(tag);
};
var module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table = {}, module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_ALLOWED_ELEMENTS = "ARTICLE SECTION NAV ASIDE H1 H2 H3 H4 H5 H6 HEADER FOOTER ADDRESS P HR PRE BLOCKQUOTE OL UL LH LI DL DT DD FIGURE FIGCAPTION MAIN DIV EM STRONG SMALL S CITE Q DFN ABBR RUBY RB RT RTC RP DATA TIME CODE VAR SAMP KBD SUB SUP I B U MARK BDI BDO SPAN BR WBR NOBR INS DEL PICTURE PARAM TRACK MAP TABLE CAPTION COLGROUP COL TBODY THEAD TFOOT TR TD TH SELECT DATALIST OPTGROUP OPTION OUTPUT PROGRESS METER FIELDSET LEGEND DETAILS SUMMARY MENU DIALOG SLOT CANVAS FONT CENTER ACRONYM BASEFONT BIG DIR HGROUP STRIKE TT".split(" "), 
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_ELEMENT_POLICIES = [["A", new Map([["href", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_SANITIZE_URL}]])], ["AREA", new Map([["href", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_SANITIZE_URL}]])], 
["LINK", new Map([["href", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_USE_RESOURCE_URL_POLICY, conditions:new Map([["rel", new Set("alternate author bookmark canonical cite help icon license next prefetch dns-prefetch prerender preconnect preload prev search subresource".split(" "))]])}]])], ["SOURCE", new Map([["src", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_USE_RESOURCE_URL_POLICY}], 
["srcset", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET}]])], ["IMG", new Map([["src", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_USE_RESOURCE_URL_POLICY}], ["srcset", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET}]])], 
["VIDEO", new Map([["src", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_USE_RESOURCE_URL_POLICY}]])], ["AUDIO", new Map([["src", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_USE_RESOURCE_URL_POLICY}]])]], module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_ALLOWED_GLOBAL_ATTRIBUTES = 
"title aria-atomic aria-autocomplete aria-busy aria-checked aria-current aria-disabled aria-dropeffect aria-expanded aria-haspopup aria-hidden aria-invalid aria-label aria-level aria-live aria-multiline aria-multiselectable aria-orientation aria-posinset aria-pressed aria-readonly aria-relevant aria-required aria-selected aria-setsize aria-sort aria-valuemax aria-valuemin aria-valuenow aria-valuetext alt align autocapitalize autocomplete autocorrect autofocus autoplay bgcolor border cellpadding cellspacing checked color cols colspan controls datetime disabled download draggable enctype face formenctype frameborder height hreflang hidden ismap label lang loop max maxlength media minlength min multiple muted nonce open placeholder preload rel required reversed role rows rowspan selected shape size sizes slot span spellcheck start step summary translate type valign value width wrap itemscope itemtype itemid itemprop itemref".split(" "), 
module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_GLOBAL_ATTRIBUTE_POLICIES = [["dir", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_NORMALIZE, conditions:module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return new Map([["dir", new Set(["auto", "ltr", "rtl"])]]);
})}], ["async", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_NORMALIZE, conditions:module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return new Map([["async", new Set(["async"])]]);
})}], ["cite", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_SANITIZE_URL}], ["loading", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_NORMALIZE, conditions:module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return new Map([["loading", new Set(["eager", "lazy"])]]);
})}], ["poster", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_SANITIZE_URL}], ["target", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_NORMALIZE, conditions:module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return new Map([["target", new Set(["_self", "_blank"])]]);
})}]];
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table.DEFAULT_SANITIZER_TABLE = new module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.SanitizerTable(new Set(module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_ALLOWED_ELEMENTS), new Map(module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_ELEMENT_POLICIES), 
new Set(module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_ALLOWED_GLOBAL_ATTRIBUTES), new Map(module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_GLOBAL_ATTRIBUTE_POLICIES));
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table.LENIENT_SANITIZER_TABLE = new module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.SanitizerTable(new Set(module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_ALLOWED_ELEMENTS.concat(["BUTTON", "INPUT"])), new Map(module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_ELEMENT_POLICIES), 
new Set(module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_ALLOWED_GLOBAL_ATTRIBUTES.concat(["class", "id", "name"]);
})), new Map(module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_GLOBAL_ATTRIBUTE_POLICIES.concat([["style", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP}]]);
})));
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table.SUPER_LENIENT_SANITIZER_TABLE = new module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.SanitizerTable(new Set(module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_ALLOWED_ELEMENTS.concat("STYLE TITLE INPUT TEXTAREA BUTTON LABEL".split(" "));
})), new Map(module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_ELEMENT_POLICIES), new Set(module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_ALLOWED_GLOBAL_ATTRIBUTES.concat(["class", "id", "tabindex", "contenteditable", "name"]);
})), new Map(module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table_GLOBAL_ATTRIBUTE_POLICIES.concat([["style", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP}]]);
})), new Set(["data-", "aria-"]));
var module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer = {HtmlSanitizer:function() {
}, CssSanitizer:function() {
}, HtmlSanitizerImpl:function(sanitizerTable, token, styleElementSanitizer, styleAttributeSanitizer, resourceUrlPolicy) {
  this.sanitizerTable = sanitizerTable;
  this.styleElementSanitizer = styleElementSanitizer;
  this.styleAttributeSanitizer = styleAttributeSanitizer;
  this.resourceUrlPolicy = resourceUrlPolicy;
  this.changes = [];
  module$contents$google3$third_party$javascript$safevalues$internals$secrets_ensureTokenIsValid(token);
}};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl.prototype.sanitizeAssertUnchanged = function(html) {
  goog.DEBUG && (this.changes = []);
  var sanitizedHtml = this.sanitize(html);
  if (goog.DEBUG && this.changes.length !== 0) {
    throw Error('Unexpected change to HTML value as a result of sanitization. Input: "' + (html + '", sanitized output: "' + sanitizedHtml + '"\nList of changes:') + this.changes.join("\n"));
  }
  return sanitizedHtml;
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl.prototype.sanitize = function(html) {
  var inertDocument = document.implementation.createHTMLDocument("");
  return (0,module$exports$google3$third_party$javascript$safevalues$builders$html_builders.nodeToHtmlInternal)(this.sanitizeToFragmentInternal(html, inertDocument), inertDocument.body);
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl.prototype.sanitizeToFragment = function(html) {
  var inertDocument = document.implementation.createHTMLDocument("");
  return this.styleElementSanitizer && this.styleAttributeSanitizer ? this.sanitizeWithCssToFragment(html, inertDocument) : this.sanitizeToFragmentInternal(html, inertDocument);
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl.prototype.sanitizeWithCssToFragment = function(htmlWithCss, inertDocument) {
  var elem = document.createElement("safevalues-with-css"), shadow = elem.attachShadow({mode:"closed"}), sanitized = this.sanitizeToFragmentInternal(htmlWithCss, inertDocument), internalStyle = document.createElement("style");
  internalStyle.textContent = module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$css_isolation.CSS_ISOLATION_STYLESHEET;
  internalStyle.id = "safevalues-internal-style";
  shadow.appendChild(internalStyle);
  shadow.appendChild(sanitized);
  var fragment = inertDocument.createDocumentFragment();
  fragment.appendChild(elem);
  return fragment;
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl.prototype.sanitizeToFragmentInternal = function(html, inertDocument) {
  for (var $jscomp$this$m1803429925$13 = this, dirtyFragment = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$inert_fragment_createInertFragment(html, inertDocument), treeWalker = document.createTreeWalker(dirtyFragment, 5, function(n) {
    return $jscomp$this$m1803429925$13.nodeFilter(n);
  }), currentNode = treeWalker.nextNode(), sanitizedFragment = inertDocument.createDocumentFragment(), sanitizedParent = sanitizedFragment; currentNode !== null;) {
    var sanitizedNode = void 0;
    if (currentNode.nodeType === 3) {
      if (this.styleElementSanitizer && sanitizedParent.nodeName === "STYLE") {
        var sanitizedCss = this.styleElementSanitizer(currentNode.data);
        sanitizedNode = this.createTextNode(sanitizedCss);
      } else {
        sanitizedNode = this.sanitizeTextNode(currentNode);
      }
    } else if (module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$no_clobber_isElement(currentNode)) {
      sanitizedNode = this.sanitizeElementNode(currentNode, inertDocument);
    } else {
      var message = "";
      goog.DEBUG && (message = "Node is not of type text or element");
      throw Error(message);
    }
    sanitizedParent.appendChild(sanitizedNode);
    if (currentNode = treeWalker.firstChild()) {
      sanitizedParent = sanitizedNode;
    } else {
      for (; !(currentNode = treeWalker.nextSibling()) && (currentNode = treeWalker.parentNode());) {
        sanitizedParent = sanitizedParent.parentNode;
      }
    }
  }
  return sanitizedFragment;
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl.prototype.createTextNode = function(text) {
  return document.createTextNode(text);
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl.prototype.sanitizeTextNode = function(textNode) {
  return this.createTextNode(textNode.data);
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl.prototype.sanitizeElementNode = function(elementNode, inertDocument) {
  for (var elementName = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$no_clobber_getNodeName(elementNode), newNode = inertDocument.createElement(elementName), dirtyAttributes = elementNode.attributes, $jscomp$iter$89 = (0,$jscomp.makeIterator)(dirtyAttributes), $jscomp$key$m1803429925$34$ = $jscomp$iter$89.next(); !$jscomp$key$m1803429925$34$.done; $jscomp$key$m1803429925$34$ = $jscomp$iter$89.next()) {
    var $jscomp$destructuring$var41 = $jscomp$key$m1803429925$34$.value, name = $jscomp$destructuring$var41.name, value = $jscomp$destructuring$var41.value, policy = this.sanitizerTable.getAttributePolicy(name, elementName);
    if (this.satisfiesAllConditions(policy.conditions, dirtyAttributes)) {
      switch(policy.policyAction) {
        case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP:
          module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_setAttribute(newNode, name, value);
          break;
        case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_SANITIZE_URL:
          var sanitizedAttrUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_restrictivelySanitizeUrl(value);
          sanitizedAttrUrl !== value && this.recordChange("Url in attribute " + name + ' was modified during sanitization. Original url:"' + value + '" was sanitized to: "' + sanitizedAttrUrl + '"');
          module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_setAttribute(newNode, name, sanitizedAttrUrl);
          break;
        case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_NORMALIZE:
          module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_setAttribute(newNode, name, value.toLowerCase());
          break;
        case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_SANITIZE_STYLE:
          if (this.styleAttributeSanitizer) {
            var sanitizedCss = this.styleAttributeSanitizer(value);
            module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_setAttribute(newNode, name, sanitizedCss);
          } else {
            module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_setAttribute(newNode, name, value);
          }
          break;
        case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_USE_RESOURCE_URL_POLICY:
          if (this.resourceUrlPolicy) {
            var hints = {type:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.ResourceUrlPolicyHintsType.HTML_ATTRIBUTE, attributeName:name, elementName:elementName}, url = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy_parseUrl(value), sanitizedUrl = this.resourceUrlPolicy(url, hints);
            sanitizedUrl && module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_setAttribute(newNode, name, sanitizedUrl.toString());
          } else {
            module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_setAttribute(newNode, name, value);
          }
          break;
        case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET:
          if (this.resourceUrlPolicy) {
            for (var hints$jscomp$0 = {type:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.ResourceUrlPolicyHintsType.HTML_ATTRIBUTE, attributeName:name, elementName:elementName}, srcset = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_parseSrcset(value), sanitizedSrcset = {parts:[]}, $jscomp$iter$88 = (0,$jscomp.makeIterator)(srcset.parts), $jscomp$key$m1803429925$33$part = $jscomp$iter$88.next(); !$jscomp$key$m1803429925$33$part.done; $jscomp$key$m1803429925$33$part = 
            $jscomp$iter$88.next()) {
              var part = $jscomp$key$m1803429925$33$part.value, url$jscomp$0 = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy_parseUrl(part.url), sanitizedUrl$jscomp$0 = this.resourceUrlPolicy(url$jscomp$0, hints$jscomp$0);
              sanitizedUrl$jscomp$0 && sanitizedSrcset.parts.push({url:sanitizedUrl$jscomp$0.toString(), descriptor:part.descriptor});
            }
            module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_setAttribute(newNode, name, module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_serializeSrcset(sanitizedSrcset));
          } else {
            module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_setAttribute(newNode, name, value);
          }
          break;
        case module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.DROP:
          this.recordChange("Attribute: " + name + " was dropped");
          break;
        default:
          if (goog.DEBUG) {
            throw Error("Unhandled AttributePolicyAction case");
          }
      }
    } else {
      this.recordChange("Not all conditions satisfied for attribute: " + name + ".");
    }
  }
  return newNode;
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl.prototype.nodeFilter = function(node) {
  if (node.nodeType === 3) {
    return 1;
  }
  if (!module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$no_clobber_isElement(node)) {
    return 2;
  }
  var nodeName = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$no_clobber_getNodeName(node);
  if (nodeName === null) {
    return this.recordChange("Node name was null for node: " + node), 2;
  }
  if (this.sanitizerTable.isAllowedElement(nodeName)) {
    return 1;
  }
  this.recordChange("Element: " + nodeName + " was dropped");
  return 2;
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl.prototype.recordChange = function(errorMessage) {
  goog.DEBUG && this.changes.push(errorMessage);
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl.prototype.satisfiesAllConditions = function(conditions, attrs) {
  if (!conditions) {
    return !0;
  }
  for (var $jscomp$iter$90 = (0,$jscomp.makeIterator)(conditions), $jscomp$key$m1803429925$35$ = $jscomp$iter$90.next(); !$jscomp$key$m1803429925$35$.done; $jscomp$key$m1803429925$35$ = $jscomp$iter$90.next()) {
    var $jscomp$destructuring$var43 = (0,$jscomp.makeIterator)($jscomp$key$m1803429925$35$.value), attrName__tsickle_destructured_1 = $jscomp$destructuring$var43.next().value, expectedValues = $jscomp$destructuring$var43.next().value, $jscomp$optchain$tmpm1803429925$0 = void 0, value = ($jscomp$optchain$tmpm1803429925$0 = attrs.getNamedItem(attrName__tsickle_destructured_1)) == null ? void 0 : $jscomp$optchain$tmpm1803429925$0.value;
    if (value && !expectedValues.has(value)) {
      return !1;
    }
  }
  return !0;
};
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_setAttribute(el, name, value) {
  el.setAttribute(name, value);
}
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.Srcset = function() {
};
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_parseSrcset(srcset) {
  for (var parts = [], $jscomp$iter$91 = (0,$jscomp.makeIterator)(srcset.split(",")), $jscomp$key$m1803429925$36$part = $jscomp$iter$91.next(); !$jscomp$key$m1803429925$36$part.done; $jscomp$key$m1803429925$36$part = $jscomp$iter$91.next()) {
    var $jscomp$destructuring$var44 = (0,$jscomp.makeIterator)($jscomp$key$m1803429925$36$part.value.trim().split(/\s+/, 2)), url__tsickle_destructured_3 = $jscomp$destructuring$var44.next().value, descriptor__tsickle_destructured_4 = $jscomp$destructuring$var44.next().value;
    parts.push({url:url__tsickle_destructured_3, descriptor:descriptor__tsickle_destructured_4});
  }
  return {parts:parts};
}
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.parseSrcset = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_parseSrcset;
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_serializeSrcset(srcset) {
  return srcset.parts.map(function(part) {
    var descriptor = part.descriptor;
    return "" + part.url + (descriptor ? " " + descriptor : "");
  }).join(" , ");
}
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.serializeSrcset = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_serializeSrcset;
var module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_defaultHtmlSanitizer = module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return new module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl(module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table.DEFAULT_SANITIZER_TABLE, module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken);
});
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtml(html) {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_defaultHtmlSanitizer.sanitize(html);
}
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.sanitizeHtml = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtml;
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtmlAssertUnchanged(html) {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_defaultHtmlSanitizer.sanitizeAssertUnchanged(html);
}
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.sanitizeHtmlAssertUnchanged = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtmlAssertUnchanged;
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtmlToFragment(html) {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_defaultHtmlSanitizer.sanitizeToFragment(html);
}
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.sanitizeHtmlToFragment = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtmlToFragment;
var module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_lenientHtmlSanitizer = module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return new module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl(module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table.LENIENT_SANITIZER_TABLE, module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken);
});
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.lenientlySanitizeHtml = function(html) {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_lenientHtmlSanitizer.sanitize(html);
};
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_lenientlySanitizeHtmlAssertUnchanged(html) {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_lenientHtmlSanitizer.sanitizeAssertUnchanged(html);
}
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.lenientlySanitizeHtmlAssertUnchanged = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_lenientlySanitizeHtmlAssertUnchanged;
var module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_superLenientHtmlSanitizer = module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return new module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl(module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table.SUPER_LENIENT_SANITIZER_TABLE, module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken);
});
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.superLenientlySanitizeHtml = function(html) {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_superLenientHtmlSanitizer.sanitize(html);
};
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_superLenientlySanitizeHtmlAssertUnchanged(html) {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_superLenientHtmlSanitizer.sanitizeAssertUnchanged(html);
}
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.superLenientlySanitizeHtmlAssertUnchanged = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_superLenientlySanitizeHtmlAssertUnchanged;
var module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder = {BaseSanitizerBuilder:function() {
  this.calledBuild = !1;
  this.sanitizerTable = module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$default_sanitizer_table.DEFAULT_SANITIZER_TABLE;
}, HtmlSanitizerBuilder:function() {
  module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.BaseSanitizerBuilder.apply(this, arguments);
}};
$jscomp.inherits(module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.HtmlSanitizerBuilder, module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.BaseSanitizerBuilder);
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.HtmlSanitizerBuilder.prototype.build = function() {
  if (this.calledBuild) {
    throw Error("this sanitizer has already called build");
  }
  this.calledBuild = !0;
  return new module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl(this.sanitizerTable, module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken, void 0, void 0, this.resourceUrlPolicy);
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.CssSanitizerBuilder = function() {
  module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.BaseSanitizerBuilder.apply(this, arguments);
  this.transitionsAllowed = this.animationsAllowed = !1;
};
$jscomp.inherits(module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.CssSanitizerBuilder, module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.BaseSanitizerBuilder);
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.CssSanitizerBuilder.prototype.build = function() {
  var $jscomp$this$m1412690177$17 = this;
  this.extendSanitizerTableForCss();
  var propertyDiscarders = [];
  this.animationsAllowed || propertyDiscarders.push(function(property) {
    return /^(animation|offset)(-|$)/.test(property);
  });
  this.transitionsAllowed || propertyDiscarders.push(function(property) {
    return /^transition(-|$)/.test(property);
  });
  return new module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer.HtmlSanitizerImpl(this.sanitizerTable, module$exports$google3$third_party$javascript$safevalues$internals$secrets.secretToken, function(cssText) {
    return (new module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer(module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$allowlists.CSS_PROPERTY_ALLOWLIST, module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$allowlists.CSS_FUNCTION_ALLOWLIST, $jscomp$this$m1412690177$17.resourceUrlPolicy, $jscomp$this$m1412690177$17.animationsAllowed, propertyDiscarders)).sanitizeStyleElement(cssText);
  }, function(cssText) {
    return (new module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$sanitizer_CssSanitizer(module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$allowlists.CSS_PROPERTY_ALLOWLIST, module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$css$allowlists.CSS_FUNCTION_ALLOWLIST, $jscomp$this$m1412690177$17.resourceUrlPolicy, !1, propertyDiscarders)).sanitizeStyleAttribute(cssText);
  }, this.resourceUrlPolicy);
};
module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.CssSanitizerBuilder.prototype.extendSanitizerTableForCss = function() {
  var allowedElements = new Set(this.sanitizerTable.allowedElements), allowedGlobalAttributes = new Set(this.sanitizerTable.allowedGlobalAttributes), globalAttributePolicies = new Map(this.sanitizerTable.globalAttributePolicies);
  allowedElements.add("STYLE");
  globalAttributePolicies.set("style", {policyAction:module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.AttributePolicyAction.KEEP_AND_SANITIZE_STYLE});
  allowedGlobalAttributes.add("id");
  allowedGlobalAttributes.add("name");
  allowedGlobalAttributes.add("class");
  this.sanitizerTable = new module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$sanitizer_table$sanitizer_table.SanitizerTable(allowedElements, this.sanitizerTable.elementPolicies, allowedGlobalAttributes, globalAttributePolicies);
};
var module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$default_css_sanitizer_defaultCssSanitizer = module$contents$google3$third_party$javascript$safevalues$internals$pure_pure(function() {
  return (new module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.CssSanitizerBuilder()).build();
});
function module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$default_css_sanitizer_sanitizeHtmlWithCss(css) {
  return module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$default_css_sanitizer_defaultCssSanitizer.sanitizeToFragment(css);
}
;function module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_getUrlSegments(url) {
  var parts = url.split(/[?#]/), params = /[?]/.test(url) ? "?" + parts[1] : "";
  return {urlPath:parts[0], params:params, fragment:/[#]/.test(url) ? "#" + (params ? parts[2] : parts[1]) : ""};
}
function module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_trustedResourceUrl(templateObj) {
  var rest = $jscomp.getRestArguments.apply(1, arguments);
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$string_literal_assertIsTemplateObject(templateObj, rest.length);
  if (rest.length === 0) {
    return module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_createResourceUrlInternal(templateObj[0]);
  }
  var base = templateObj[0].toLowerCase();
  if (goog.DEBUG) {
    if (/^data:/.test(base)) {
      throw Error("Data URLs cannot have expressions in the template literal input.");
    }
    if (/^https:\/\//.test(base) || /^\/\//.test(base)) {
      var originStart = base.indexOf("//") + 2, originEnd = base.indexOf("/", originStart);
      if (originEnd <= originStart) {
        throw Error("Can't interpolate data in a url's origin, Please make sure to fully specify the origin, terminated with '/'.");
      }
      var origin = base.substring(originStart, originEnd);
      if (!/^[0-9a-z.:-]+$/i.test(origin)) {
        throw Error("The origin contains unsupported characters.");
      }
      if (!/^[^:]*(:[0-9]+)?$/i.test(origin)) {
        throw Error("Invalid port number.");
      }
      if (!/(^|\.)[a-z][^.]*$/i.test(origin)) {
        throw Error("The top-level domain must start with a letter.");
      }
      var JSCompiler_inline_result = !0;
    } else {
      JSCompiler_inline_result = !1;
    }
    var JSCompiler_temp, JSCompiler_temp$jscomp$0;
    if (!(JSCompiler_temp$jscomp$0 = JSCompiler_inline_result)) {
      if (/^\//.test(base)) {
        if (base === "/" || base.length > 1 && base[1] !== "/" && base[1] !== "\\") {
          JSCompiler_temp$jscomp$0 = !0;
        } else {
          throw Error("The path start in the url is invalid.");
        }
      } else {
        JSCompiler_temp$jscomp$0 = !1;
      }
    }
    if (!(JSCompiler_temp = JSCompiler_temp$jscomp$0 || RegExp("^[^:\\s\\\\/]+/").test(base))) {
      if (/^about:blank/.test(base)) {
        if (base !== "about:blank" && !/^about:blank#/.test(base)) {
          throw Error("The about url is invalid.");
        }
        JSCompiler_temp = !0;
      } else {
        JSCompiler_temp = !1;
      }
    }
    if (!JSCompiler_temp) {
      throw Error("Trying to interpolate expressions in an unsupported url format.");
    }
  }
  for (var url = templateObj[0], i = 0; i < rest.length; i++) {
    url += encodeURIComponent(rest[i]) + templateObj[i + 1];
  }
  return module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_createResourceUrlInternal(url);
}
function module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_replaceParams(trustedUrl, params) {
  var urlSegments = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_getUrlSegments(module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(trustedUrl).toString());
  return module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_appendParamsInternal(urlSegments.urlPath, "", urlSegments.fragment, params);
}
function module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_appendParams(trustedUrl, params) {
  var urlSegments = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_getUrlSegments(module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(trustedUrl).toString());
  return module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_appendParamsInternal(urlSegments.urlPath, urlSegments.params, urlSegments.fragment, params);
}
function module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_appendParamsInternal(path, params, hash, newParams) {
  function addParam(value, key) {
    value != null && (Array.isArray(value) ? value.forEach(function(v) {
      return addParam(v, key);
    }) : (params += separator + encodeURIComponent(key) + "=" + encodeURIComponent(value), separator = "&"));
  }
  var separator = params.length ? "&" : "?";
  newParams.constructor === Object && (newParams = Object.entries(newParams));
  Array.isArray(newParams) ? newParams.forEach(function(pair) {
    return addParam(pair[1], pair[0]);
  }) : newParams.forEach(addParam);
  return module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_createResourceUrlInternal(path + params + hash);
}
var module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_BEFORE_FRAGMENT_REGEXP = /[^#]*/;
function module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_replaceFragment(trustedUrl, fragment) {
  var urlString = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(trustedUrl).toString();
  return module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_createResourceUrlInternal(module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_BEFORE_FRAGMENT_REGEXP.exec(urlString)[0] + (fragment.trim() ? "#" + fragment : ""));
}
function module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_appendPathSegment(trustedUrl, pathSegment) {
  var urlSegments = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_getUrlSegments(module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(trustedUrl).toString()), separator = urlSegments.urlPath.slice(-1) === "/" ? "" : "/", newPath = urlSegments.urlPath + separator + encodeURIComponent(pathSegment);
  return module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_createResourceUrlInternal(newPath + urlSegments.params + urlSegments.fragment);
}
function module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_objectUrlFromScript(safeScript) {
  var scriptContent = module$contents$google3$third_party$javascript$safevalues$internals$script_impl_unwrapScript(safeScript).toString();
  return module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_createResourceUrlInternal(URL.createObjectURL(new Blob([scriptContent], {type:"text/javascript"})));
}
function module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_toAbsoluteResourceUrl(pathRelativeUrl) {
  var originalUrl = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl(pathRelativeUrl).toString(), qualifiedUrl = new URL(originalUrl, window.document.baseURI);
  return module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_createResourceUrlInternal(qualifiedUrl.toString());
}
;function module$contents$google3$third_party$javascript$safevalues$builders$script_builders_safeScript(templateObj) {
  var emptyArgs = $jscomp.getRestArguments.apply(1, arguments);
  if (goog.DEBUG) {
    if (emptyArgs.some(function(a) {
      return a !== "";
    })) {
      throw Error("safeScript only allows empty string expressions to enable inline comments.");
    }
    module$contents$google3$third_party$javascript$safevalues$internals$string_literal_assertIsTemplateObject(templateObj, emptyArgs.length);
  }
  return module$contents$google3$third_party$javascript$safevalues$internals$script_impl_createScriptInternal(templateObj.join(""));
}
function module$contents$google3$third_party$javascript$safevalues$builders$script_builders_concatScripts(scripts) {
  return module$contents$google3$third_party$javascript$safevalues$internals$script_impl_createScriptInternal(scripts.map(module$contents$google3$third_party$javascript$safevalues$internals$script_impl_unwrapScript).join(""));
}
function module$contents$google3$third_party$javascript$safevalues$builders$script_builders_valueAsScript(value) {
  return module$contents$google3$third_party$javascript$safevalues$internals$script_impl_createScriptInternal(JSON.stringify(value).replace(/</g, "\\u003C"));
}
function module$contents$google3$third_party$javascript$safevalues$builders$script_builders_safeScriptWithArgs(templateObj) {
  var emptyArgs = $jscomp.getRestArguments.apply(1, arguments);
  if (goog.DEBUG) {
    if (emptyArgs.some(function(a) {
      return a !== "";
    })) {
      throw Error("safeScriptWithArgs only allows empty string expressions to enable inline comments.");
    }
    module$contents$google3$third_party$javascript$safevalues$internals$string_literal_assertIsTemplateObject(templateObj, emptyArgs.length);
  }
  return function() {
    var values = $jscomp.getRestArguments.apply(0, arguments).map(function(v) {
      return module$contents$google3$third_party$javascript$safevalues$builders$script_builders_valueAsScript(v).toString();
    });
    return module$contents$google3$third_party$javascript$safevalues$internals$script_impl_createScriptInternal("(" + templateObj.join("") + ")(" + values.join(",") + ")");
  };
}
;function module$contents$google3$third_party$javascript$safevalues$builders$style_builders_safeStyle(templateObj) {
  var rest = $jscomp.getRestArguments.apply(1, arguments);
  goog.DEBUG && module$contents$google3$third_party$javascript$safevalues$internals$string_literal_assertIsTemplateObject(templateObj, rest.length);
  for (var stringifiedStyle = templateObj[0], i = 0; i < templateObj.length - 1; i++) {
    stringifiedStyle += String(rest[i]) + templateObj[i + 1];
  }
  if (/[<>]/.test(stringifiedStyle)) {
    throw Error("Forbidden characters in style string: " + stringifiedStyle);
  }
  if (goog.DEBUG) {
    if (stringifiedStyle.length === 0) {
      return stringifiedStyle;
    }
    if (!/;$/.test(stringifiedStyle)) {
      throw Error('Style string does not end with ";": ' + stringifiedStyle);
    }
    if (!/:/.test(stringifiedStyle)) {
      throw Error('Style string should contain one or more ":": ' + stringifiedStyle);
    }
  }
  return stringifiedStyle;
}
;var module$exports$google3$third_party$javascript$safevalues$reporting$reporting = {}, module$contents$google3$third_party$javascript$safevalues$reporting$reporting_REPORTING_ID_PREFIX_TO_SAMPLING_RATE = {0:1, 1:1}, module$contents$google3$third_party$javascript$safevalues$reporting$reporting_REPORTING_ID_PREFIX_TO_HEARTBEAT_RATE = {0:.1, 1:.1};
module$exports$google3$third_party$javascript$safevalues$reporting$reporting.ReportingOptions = function() {
};
function module$contents$google3$third_party$javascript$safevalues$reporting$reporting_reportOnlyHtmlPassthrough(s, options) {
  var JSCompiler_temp;
  if (!(JSCompiler_temp = !options)) {
    var $jscomp$inline_679, $jscomp$inline_680;
    JSCompiler_temp = !(Math.random() < (($jscomp$inline_680 = ($jscomp$inline_679 = options.samplingRate) != null ? $jscomp$inline_679 : module$contents$google3$third_party$javascript$safevalues$reporting$reporting_REPORTING_ID_PREFIX_TO_SAMPLING_RATE[options.reportingId[0]]) != null ? $jscomp$inline_680 : 0));
  }
  if (JSCompiler_temp || window.SAFEVALUES_REPORTING === !1 || !("DocumentFragment" in window)) {
    return s;
  }
  var $jscomp$inline_683, $jscomp$inline_684;
  Math.random() < (($jscomp$inline_684 = ($jscomp$inline_683 = options.heartbeatRate) != null ? $jscomp$inline_683 : module$contents$google3$third_party$javascript$safevalues$reporting$reporting_REPORTING_ID_PREFIX_TO_HEARTBEAT_RATE[options.reportingId[0]]) != null ? $jscomp$inline_684 : 0) && module$contents$google3$third_party$javascript$safevalues$reporting$reporting_reportLegacyConversion(options, module$contents$google3$third_party$javascript$safevalues$reporting$reporting_ReportingType.HEARTBEAT);
  module$contents$google3$third_party$javascript$safevalues$reporting$reporting_isChangedBySanitizing(s, options) || (0,module$exports$google3$third_party$javascript$safevalues$builders$html_builders.htmlEscape)(s).toString() !== s && module$contents$google3$third_party$javascript$safevalues$reporting$reporting_reportLegacyConversion(options, module$contents$google3$third_party$javascript$safevalues$reporting$reporting_ReportingType.HTML_CHANGED_BY_ESCAPING);
  return s;
}
module$exports$google3$third_party$javascript$safevalues$reporting$reporting.reportOnlyHtmlPassthrough = module$contents$google3$third_party$javascript$safevalues$reporting$reporting_reportOnlyHtmlPassthrough;
function module$contents$google3$third_party$javascript$safevalues$reporting$reporting_isChangedBySanitizing(s, options) {
  try {
    module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_superLenientlySanitizeHtmlAssertUnchanged(s);
  } catch (e) {
    var corpRe = /([.]corp[.]google[.]com|[.]proxy[.]googleprod[.]com|[.]googlers[.]com)$/;
    goog.DEBUG && corpRe.test(window.location.hostname) && e instanceof Error ? module$contents$google3$third_party$javascript$safevalues$reporting$reporting_reportLegacyConversion(options, module$contents$google3$third_party$javascript$safevalues$reporting$reporting_ReportingType.HTML_CHANGED_BY_SUPER_LENIENT_SANITIZING, e.message) : module$contents$google3$third_party$javascript$safevalues$reporting$reporting_reportLegacyConversion(options, module$contents$google3$third_party$javascript$safevalues$reporting$reporting_ReportingType.HTML_CHANGED_BY_SUPER_LENIENT_SANITIZING);
    return !0;
  }
  try {
    module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_lenientlySanitizeHtmlAssertUnchanged(s);
  } catch ($jscomp$unused$catch$442189172$0) {
    return module$contents$google3$third_party$javascript$safevalues$reporting$reporting_reportLegacyConversion(options, module$contents$google3$third_party$javascript$safevalues$reporting$reporting_ReportingType.HTML_CHANGED_BY_RELAXED_SANITIZING), !0;
  }
  try {
    module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtmlAssertUnchanged(s);
  } catch ($jscomp$unused$catch$442189172$1) {
    return module$contents$google3$third_party$javascript$safevalues$reporting$reporting_reportLegacyConversion(options, module$contents$google3$third_party$javascript$safevalues$reporting$reporting_ReportingType.HTML_CHANGED_BY_SANITIZING), !0;
  }
  return !1;
}
var module$contents$google3$third_party$javascript$safevalues$reporting$reporting_ReportingType = {HEARTBEAT:"HEARTBEAT", CRASHED:"CRASHED", HTML_CHANGED_BY_ESCAPING:"H_ESCAPE", HTML_CHANGED_BY_SANITIZING:"H_SANITIZE", HTML_CHANGED_BY_RELAXED_SANITIZING:"H_RSANITIZE", HTML_CHANGED_BY_SUPER_LENIENT_SANITIZING:"H_SLSANITIZE"};
function module$contents$google3$third_party$javascript$safevalues$reporting$reporting_reportLegacyConversion(options, type, additionalData) {
  (module$exports$google3$third_party$javascript$safevalues$reporting$reporting.TEST_ONLY.sendReport ? module$exports$google3$third_party$javascript$safevalues$reporting$reporting.TEST_ONLY.sendReport : typeof window !== "undefined" && window.navigator && window.navigator.sendBeacon !== void 0 ? navigator.sendBeacon.bind(navigator) : module$contents$google3$third_party$javascript$safevalues$reporting$reporting_sendBeaconPolyfill)("https://csp.withgoogle.com/csp/lcreport/" + options.reportingId, JSON.stringify({host:window.location.hostname, 
  type:type, additionalData:additionalData}));
}
function module$contents$google3$third_party$javascript$safevalues$reporting$reporting_sendBeaconPolyfill(url, body) {
  var req = new XMLHttpRequest();
  req.open("POST", url);
  req.setRequestHeader("Content-Type", "application/json");
  req.send(body);
}
module$exports$google3$third_party$javascript$safevalues$reporting$reporting.TEST_ONLY = {reset:function() {
  module$exports$google3$third_party$javascript$safevalues$reporting$reporting.TEST_ONLY.sendReport = void 0;
}};
var module$exports$google3$third_party$javascript$safevalues$index = {};
module$exports$google3$third_party$javascript$safevalues$index.safeAttrPrefix = module$contents$google3$third_party$javascript$safevalues$builders$attribute_builders_safeAttrPrefix;
module$exports$google3$third_party$javascript$safevalues$index.htmlFragment = module$contents$google3$third_party$javascript$safevalues$builders$document_fragment_builders_htmlFragment;
module$exports$google3$third_party$javascript$safevalues$index.htmlToNode = module$contents$google3$third_party$javascript$safevalues$builders$document_fragment_builders_htmlToNode;
module$exports$google3$third_party$javascript$safevalues$index.svgFragment = module$contents$google3$third_party$javascript$safevalues$builders$document_fragment_builders_svgFragment;
module$exports$google3$third_party$javascript$safevalues$index.concatHtmls = module$exports$google3$third_party$javascript$safevalues$builders$html_builders.concatHtmls;
module$exports$google3$third_party$javascript$safevalues$index.createHtml = module$exports$google3$third_party$javascript$safevalues$builders$html_builders.createHtml;
module$exports$google3$third_party$javascript$safevalues$index.doctypeHtml = module$exports$google3$third_party$javascript$safevalues$builders$html_builders.doctypeHtml;
module$exports$google3$third_party$javascript$safevalues$index.htmlEscape = module$exports$google3$third_party$javascript$safevalues$builders$html_builders.htmlEscape;
module$exports$google3$third_party$javascript$safevalues$index.joinHtmls = module$exports$google3$third_party$javascript$safevalues$builders$html_builders.joinHtmls;
module$exports$google3$third_party$javascript$safevalues$index.nodeToHtml = module$exports$google3$third_party$javascript$safevalues$builders$html_builders.nodeToHtml;
module$exports$google3$third_party$javascript$safevalues$index.scriptToHtml = module$exports$google3$third_party$javascript$safevalues$builders$html_builders.scriptToHtml;
module$exports$google3$third_party$javascript$safevalues$index.scriptUrlToHtml = module$exports$google3$third_party$javascript$safevalues$builders$html_builders.scriptUrlToHtml;
module$exports$google3$third_party$javascript$safevalues$index.styleSheetToHtml = module$exports$google3$third_party$javascript$safevalues$builders$html_builders.styleSheetToHtml;
module$exports$google3$third_party$javascript$safevalues$index.HtmlFormatter = module$exports$google3$third_party$javascript$safevalues$builders$html_formatter.HtmlFormatter;
module$exports$google3$third_party$javascript$safevalues$index.sanitizeHtmlWithCss = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$default_css_sanitizer_sanitizeHtmlWithCss;
module$exports$google3$third_party$javascript$safevalues$index.sanitizeHtml = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtml;
module$exports$google3$third_party$javascript$safevalues$index.sanitizeHtmlAssertUnchanged = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtmlAssertUnchanged;
module$exports$google3$third_party$javascript$safevalues$index.sanitizeHtmlToFragment = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtmlToFragment;
module$exports$google3$third_party$javascript$safevalues$index.CssSanitizerBuilder = module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.CssSanitizerBuilder;
module$exports$google3$third_party$javascript$safevalues$index.HtmlSanitizerBuilder = module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.HtmlSanitizerBuilder;
module$exports$google3$third_party$javascript$safevalues$index.ResourceUrlPolicyHintsType = module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.ResourceUrlPolicyHintsType;
module$exports$google3$third_party$javascript$safevalues$index.appendParams = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_appendParams;
module$exports$google3$third_party$javascript$safevalues$index.appendPathSegment = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_appendPathSegment;
module$exports$google3$third_party$javascript$safevalues$index.objectUrlFromScript = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_objectUrlFromScript;
module$exports$google3$third_party$javascript$safevalues$index.replaceFragment = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_replaceFragment;
module$exports$google3$third_party$javascript$safevalues$index.replaceParams = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_replaceParams;
module$exports$google3$third_party$javascript$safevalues$index.toAbsoluteResourceUrl = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_toAbsoluteResourceUrl;
module$exports$google3$third_party$javascript$safevalues$index.trustedResourceUrl = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_trustedResourceUrl;
module$exports$google3$third_party$javascript$safevalues$index.concatScripts = module$contents$google3$third_party$javascript$safevalues$builders$script_builders_concatScripts;
module$exports$google3$third_party$javascript$safevalues$index.safeScript = module$contents$google3$third_party$javascript$safevalues$builders$script_builders_safeScript;
module$exports$google3$third_party$javascript$safevalues$index.safeScriptWithArgs = module$contents$google3$third_party$javascript$safevalues$builders$script_builders_safeScriptWithArgs;
module$exports$google3$third_party$javascript$safevalues$index.valueAsScript = module$contents$google3$third_party$javascript$safevalues$builders$script_builders_valueAsScript;
module$exports$google3$third_party$javascript$safevalues$index.safeStyle = module$contents$google3$third_party$javascript$safevalues$builders$style_builders_safeStyle;
module$exports$google3$third_party$javascript$safevalues$index.concatStyleSheets = module$contents$google3$third_party$javascript$safevalues$builders$style_sheet_builders_concatStyleSheets;
module$exports$google3$third_party$javascript$safevalues$index.safeStyleRule = module$contents$google3$third_party$javascript$safevalues$builders$style_sheet_builders_safeStyleRule;
module$exports$google3$third_party$javascript$safevalues$index.safeStyleSheet = module$contents$google3$third_party$javascript$safevalues$builders$style_sheet_builders_safeStyleSheet;
module$exports$google3$third_party$javascript$safevalues$index.SanitizableUrlScheme = module$exports$google3$third_party$javascript$safevalues$builders$url_builders.SanitizableUrlScheme;
module$exports$google3$third_party$javascript$safevalues$index.addJavaScriptUrlSanitizationCallback = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_addJavaScriptUrlSanitizationCallback;
module$exports$google3$third_party$javascript$safevalues$index.fromMediaSource = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_fromMediaSource;
module$exports$google3$third_party$javascript$safevalues$index.fromTrustedResourceUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_fromTrustedResourceUrl;
module$exports$google3$third_party$javascript$safevalues$index.objectUrlFromSafeSource = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_objectUrlFromSafeSource;
module$exports$google3$third_party$javascript$safevalues$index.removeJavaScriptUrlSanitizationCallback = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_removeJavaScriptUrlSanitizationCallback;
module$exports$google3$third_party$javascript$safevalues$index.safeUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_safeUrl;
module$exports$google3$third_party$javascript$safevalues$index.sanitizeUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeUrl;
module$exports$google3$third_party$javascript$safevalues$index.sanitizeUrlForMigration = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeUrlForMigration;
module$exports$google3$third_party$javascript$safevalues$index.trySanitizeUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_trySanitizeUrl;
module$exports$google3$third_party$javascript$safevalues$index.SafeAttributePrefix = module$exports$google3$third_party$javascript$safevalues$internals$attribute_impl.SafeAttributePrefix;
module$exports$google3$third_party$javascript$safevalues$index.unwrapAttributePrefix = module$contents$google3$third_party$javascript$safevalues$internals$attribute_impl_unwrapAttributePrefix;
module$exports$google3$third_party$javascript$safevalues$index.EMPTY_HTML = module$exports$google3$third_party$javascript$safevalues$internals$html_impl.EMPTY_HTML;
module$exports$google3$third_party$javascript$safevalues$index.SafeHtml = module$exports$google3$third_party$javascript$safevalues$internals$html_impl.SafeHtml;
module$exports$google3$third_party$javascript$safevalues$index.isHtml = module$exports$google3$third_party$javascript$safevalues$internals$html_impl.isHtml;
module$exports$google3$third_party$javascript$safevalues$index.unwrapHtml = module$exports$google3$third_party$javascript$safevalues$internals$html_impl.unwrapHtml;
module$exports$google3$third_party$javascript$safevalues$index.TrustedResourceUrl = module$exports$google3$third_party$javascript$safevalues$internals$resource_url_impl.TrustedResourceUrl;
module$exports$google3$third_party$javascript$safevalues$index.isResourceUrl = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_isResourceUrl;
module$exports$google3$third_party$javascript$safevalues$index.unwrapResourceUrl = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl;
module$exports$google3$third_party$javascript$safevalues$index.EMPTY_SCRIPT = module$exports$google3$third_party$javascript$safevalues$internals$script_impl.EMPTY_SCRIPT;
module$exports$google3$third_party$javascript$safevalues$index.SafeScript = module$exports$google3$third_party$javascript$safevalues$internals$script_impl.SafeScript;
module$exports$google3$third_party$javascript$safevalues$index.isScript = module$contents$google3$third_party$javascript$safevalues$internals$script_impl_isScript;
module$exports$google3$third_party$javascript$safevalues$index.unwrapScript = module$contents$google3$third_party$javascript$safevalues$internals$script_impl_unwrapScript;
module$exports$google3$third_party$javascript$safevalues$index.isStyle = module$contents$google3$third_party$javascript$safevalues$internals$style_impl_isStyle;
module$exports$google3$third_party$javascript$safevalues$index.unwrapStyle = module$contents$google3$third_party$javascript$safevalues$internals$style_impl_unwrapStyle;
module$exports$google3$third_party$javascript$safevalues$index.SafeStyleSheet = module$exports$google3$third_party$javascript$safevalues$internals$style_sheet_impl.SafeStyleSheet;
module$exports$google3$third_party$javascript$safevalues$index.isStyleSheet = module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_isStyleSheet;
module$exports$google3$third_party$javascript$safevalues$index.unwrapStyleSheet = module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_unwrapStyleSheet;
module$exports$google3$third_party$javascript$safevalues$index.ABOUT_BLANK = module$exports$google3$third_party$javascript$safevalues$internals$url_impl.ABOUT_BLANK;
module$exports$google3$third_party$javascript$safevalues$index.INNOCUOUS_URL = module$exports$google3$third_party$javascript$safevalues$internals$url_impl.INNOCUOUS_URL;
module$exports$google3$third_party$javascript$safevalues$index.SafeUrl = module$exports$google3$third_party$javascript$safevalues$internals$url_impl.SafeUrl;
module$exports$google3$third_party$javascript$safevalues$index.isUrl = module$contents$google3$third_party$javascript$safevalues$internals$url_impl_isUrl;
module$exports$google3$third_party$javascript$safevalues$index.unwrapUrl = module$contents$google3$third_party$javascript$safevalues$internals$url_impl_unwrapUrl;
module$exports$google3$third_party$javascript$safevalues$index.reportOnlyHtmlPassthrough = module$contents$google3$third_party$javascript$safevalues$reporting$reporting_reportOnlyHtmlPassthrough;
safevalues.safeAttrPrefix = module$contents$google3$third_party$javascript$safevalues$builders$attribute_builders_safeAttrPrefix;
safevalues.htmlFragment = module$contents$google3$third_party$javascript$safevalues$builders$document_fragment_builders_htmlFragment;
safevalues.htmlToNode = module$contents$google3$third_party$javascript$safevalues$builders$document_fragment_builders_htmlToNode;
safevalues.svgFragment = module$contents$google3$third_party$javascript$safevalues$builders$document_fragment_builders_svgFragment;
safevalues.concatHtmls = module$exports$google3$third_party$javascript$safevalues$index.concatHtmls;
safevalues.createHtml = module$exports$google3$third_party$javascript$safevalues$index.createHtml;
safevalues.doctypeHtml = module$exports$google3$third_party$javascript$safevalues$index.doctypeHtml;
safevalues.htmlEscape = module$exports$google3$third_party$javascript$safevalues$index.htmlEscape;
safevalues.joinHtmls = module$exports$google3$third_party$javascript$safevalues$index.joinHtmls;
safevalues.nodeToHtml = module$exports$google3$third_party$javascript$safevalues$index.nodeToHtml;
safevalues.scriptToHtml = module$exports$google3$third_party$javascript$safevalues$index.scriptToHtml;
safevalues.scriptUrlToHtml = module$exports$google3$third_party$javascript$safevalues$index.scriptUrlToHtml;
safevalues.styleSheetToHtml = module$exports$google3$third_party$javascript$safevalues$index.styleSheetToHtml;
safevalues.HtmlFormatter = module$exports$google3$third_party$javascript$safevalues$builders$html_formatter.HtmlFormatter;
safevalues.sanitizeHtmlWithCss = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$default_css_sanitizer_sanitizeHtmlWithCss;
safevalues.sanitizeHtml = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtml;
safevalues.sanitizeHtmlAssertUnchanged = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtmlAssertUnchanged;
safevalues.sanitizeHtmlToFragment = module$contents$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_sanitizeHtmlToFragment;
safevalues.CssSanitizer = module$exports$google3$third_party$javascript$safevalues$index.CssSanitizer;
safevalues.HtmlSanitizer = module$exports$google3$third_party$javascript$safevalues$index.HtmlSanitizer;
safevalues.CssSanitizerBuilder = module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.CssSanitizerBuilder;
safevalues.HtmlSanitizerBuilder = module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$html_sanitizer_builder.HtmlSanitizerBuilder;
safevalues.ResourceUrlPolicyHintsType = module$exports$google3$third_party$javascript$safevalues$builders$html_sanitizer$resource_url_policy.ResourceUrlPolicyHintsType;
safevalues.ResourceUrlPolicy = module$exports$google3$third_party$javascript$safevalues$index.ResourceUrlPolicy;
safevalues.ResourceUrlPolicyHints = module$exports$google3$third_party$javascript$safevalues$index.ResourceUrlPolicyHints;
safevalues.appendParams = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_appendParams;
safevalues.appendPathSegment = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_appendPathSegment;
safevalues.objectUrlFromScript = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_objectUrlFromScript;
safevalues.replaceFragment = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_replaceFragment;
safevalues.replaceParams = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_replaceParams;
safevalues.toAbsoluteResourceUrl = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_toAbsoluteResourceUrl;
safevalues.trustedResourceUrl = module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_trustedResourceUrl;
safevalues.concatScripts = module$contents$google3$third_party$javascript$safevalues$builders$script_builders_concatScripts;
safevalues.safeScript = module$contents$google3$third_party$javascript$safevalues$builders$script_builders_safeScript;
safevalues.safeScriptWithArgs = module$contents$google3$third_party$javascript$safevalues$builders$script_builders_safeScriptWithArgs;
safevalues.valueAsScript = module$contents$google3$third_party$javascript$safevalues$builders$script_builders_valueAsScript;
safevalues.safeStyle = module$contents$google3$third_party$javascript$safevalues$builders$style_builders_safeStyle;
safevalues.concatStyleSheets = module$contents$google3$third_party$javascript$safevalues$builders$style_sheet_builders_concatStyleSheets;
safevalues.safeStyleRule = module$contents$google3$third_party$javascript$safevalues$builders$style_sheet_builders_safeStyleRule;
safevalues.safeStyleSheet = module$contents$google3$third_party$javascript$safevalues$builders$style_sheet_builders_safeStyleSheet;
safevalues.SanitizableUrlScheme = module$exports$google3$third_party$javascript$safevalues$builders$url_builders.SanitizableUrlScheme;
safevalues.addJavaScriptUrlSanitizationCallback = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_addJavaScriptUrlSanitizationCallback;
safevalues.fromMediaSource = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_fromMediaSource;
safevalues.fromTrustedResourceUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_fromTrustedResourceUrl;
safevalues.objectUrlFromSafeSource = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_objectUrlFromSafeSource;
safevalues.removeJavaScriptUrlSanitizationCallback = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_removeJavaScriptUrlSanitizationCallback;
safevalues.safeUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_safeUrl;
safevalues.sanitizeUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeUrl;
safevalues.sanitizeUrlForMigration = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeUrlForMigration;
safevalues.trySanitizeUrl = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_trySanitizeUrl;
safevalues.Scheme = module$exports$google3$third_party$javascript$safevalues$index.Scheme;
safevalues.SafeAttributePrefix = module$exports$google3$third_party$javascript$safevalues$internals$attribute_impl.SafeAttributePrefix;
safevalues.unwrapAttributePrefix = module$contents$google3$third_party$javascript$safevalues$internals$attribute_impl_unwrapAttributePrefix;
safevalues.EMPTY_HTML = module$exports$google3$third_party$javascript$safevalues$index.EMPTY_HTML;
safevalues.SafeHtml = module$exports$google3$third_party$javascript$safevalues$internals$html_impl.SafeHtml;
safevalues.isHtml = module$exports$google3$third_party$javascript$safevalues$index.isHtml;
safevalues.unwrapHtml = module$exports$google3$third_party$javascript$safevalues$index.unwrapHtml;
safevalues.TrustedResourceUrl = module$exports$google3$third_party$javascript$safevalues$internals$resource_url_impl.TrustedResourceUrl;
safevalues.isResourceUrl = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_isResourceUrl;
safevalues.unwrapResourceUrl = module$contents$google3$third_party$javascript$safevalues$internals$resource_url_impl_unwrapResourceUrl;
safevalues.EMPTY_SCRIPT = module$exports$google3$third_party$javascript$safevalues$internals$script_impl.EMPTY_SCRIPT;
safevalues.SafeScript = module$exports$google3$third_party$javascript$safevalues$internals$script_impl.SafeScript;
safevalues.isScript = module$contents$google3$third_party$javascript$safevalues$internals$script_impl_isScript;
safevalues.unwrapScript = module$contents$google3$third_party$javascript$safevalues$internals$script_impl_unwrapScript;
safevalues.isStyle = module$contents$google3$third_party$javascript$safevalues$internals$style_impl_isStyle;
safevalues.unwrapStyle = module$contents$google3$third_party$javascript$safevalues$internals$style_impl_unwrapStyle;
safevalues.SafeStyle = module$exports$google3$third_party$javascript$safevalues$index.SafeStyle;
safevalues.SafeStyleSheet = module$exports$google3$third_party$javascript$safevalues$internals$style_sheet_impl.SafeStyleSheet;
safevalues.isStyleSheet = module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_isStyleSheet;
safevalues.unwrapStyleSheet = module$contents$google3$third_party$javascript$safevalues$internals$style_sheet_impl_unwrapStyleSheet;
safevalues.ABOUT_BLANK = module$exports$google3$third_party$javascript$safevalues$internals$url_impl.ABOUT_BLANK;
safevalues.INNOCUOUS_URL = module$exports$google3$third_party$javascript$safevalues$internals$url_impl.INNOCUOUS_URL;
safevalues.SafeUrl = module$exports$google3$third_party$javascript$safevalues$internals$url_impl.SafeUrl;
safevalues.isUrl = module$contents$google3$third_party$javascript$safevalues$internals$url_impl_isUrl;
safevalues.unwrapUrl = module$contents$google3$third_party$javascript$safevalues$internals$url_impl_unwrapUrl;
safevalues.reportOnlyHtmlPassthrough = module$contents$google3$third_party$javascript$safevalues$reporting$reporting_reportOnlyHtmlPassthrough;
goog.dom.Appendable = {};
goog.dom.ASSUME_QUIRKS_MODE = !1;
goog.dom.ASSUME_STANDARDS_MODE = !1;
goog.dom.COMPAT_MODE_KNOWN_ = goog.dom.ASSUME_QUIRKS_MODE || goog.dom.ASSUME_STANDARDS_MODE;
goog.dom.getDomHelper = function(opt_element) {
  return opt_element ? new goog.dom.DomHelper(goog.dom.getOwnerDocument(opt_element)) : goog.dom.defaultDomHelper_ || (goog.dom.defaultDomHelper_ = new goog.dom.DomHelper());
};
goog.dom.getDocument = function() {
  return document;
};
goog.dom.getElement = function(element) {
  return goog.dom.getElementHelper_(document, element);
};
goog.dom.getHTMLElement = function(id) {
  var element = goog.dom.getElement(id);
  return element ? module$contents$goog$asserts$dom_assertIsHtmlElement(element) : null;
};
goog.dom.getElementHelper_ = function(doc, element) {
  return typeof element === "string" ? doc.getElementById(element) : element;
};
goog.dom.getRequiredElement = function(id) {
  return goog.dom.getRequiredElementHelper_(document, id);
};
goog.dom.getRequiredHTMLElement = function(id) {
  return module$contents$goog$asserts$dom_assertIsHtmlElement(goog.dom.getRequiredElementHelper_(document, id));
};
goog.dom.getRequiredElementHelper_ = function(doc, id) {
  goog.asserts.assertString(id);
  var element = goog.dom.getElementHelper_(doc, id);
  return goog.asserts.assert(element, "No element found with id: " + id);
};
goog.dom.$ = goog.dom.getElement;
goog.dom.getElementsByTagName = function(tagName, opt_parent) {
  return (opt_parent || document).getElementsByTagName(String(tagName));
};
goog.dom.getElementsByTagNameAndClass = function(opt_tag, opt_class, opt_el) {
  return goog.dom.getElementsByTagNameAndClass_(document, opt_tag, opt_class, opt_el);
};
goog.dom.getElementByTagNameAndClass = function(opt_tag, opt_class, opt_el) {
  return goog.dom.getElementByTagNameAndClass_(document, opt_tag, opt_class, opt_el);
};
goog.dom.getElementsByClass = function(className, opt_el) {
  return (opt_el || document).querySelectorAll("." + className);
};
goog.dom.getElementByClass = function(className, opt_el) {
  var parent = opt_el || document;
  return (parent.getElementsByClassName ? parent.getElementsByClassName(className)[0] : goog.dom.getElementByTagNameAndClass_(document, "*", className, opt_el)) || null;
};
goog.dom.getHTMLElementByClass = function(className, opt_parent) {
  var element = goog.dom.getElementByClass(className, opt_parent);
  return element ? module$contents$goog$asserts$dom_assertIsHtmlElement(element) : null;
};
goog.dom.getRequiredElementByClass = function(className, opt_root) {
  return goog.asserts.assert(goog.dom.getElementByClass(className, opt_root), "No element found with className: " + className);
};
goog.dom.getRequiredHTMLElementByClass = function(className, opt_parent) {
  var retValue = goog.dom.getElementByClass(className, opt_parent);
  goog.asserts.assert(retValue, "No HTMLElement found with className: " + className);
  return module$contents$goog$asserts$dom_assertIsHtmlElement(retValue);
};
goog.dom.getElementsByTagNameAndClass_ = function(doc, opt_tag, opt_class, opt_el) {
  var parent = opt_el || doc, tagName = opt_tag && opt_tag != "*" ? String(opt_tag).toUpperCase() : "";
  return tagName || opt_class ? parent.querySelectorAll(tagName + (opt_class ? "." + opt_class : "")) : parent.getElementsByTagName("*");
};
goog.dom.getElementByTagNameAndClass_ = function(doc, opt_tag, opt_class, opt_el) {
  var tag = opt_tag && opt_tag != "*" ? String(opt_tag).toUpperCase() : "";
  return tag || opt_class ? (opt_el || doc).querySelector(tag + (opt_class ? "." + opt_class : "")) : goog.dom.getElementsByTagNameAndClass_(doc, opt_tag, opt_class, opt_el)[0] || null;
};
goog.dom.$$ = goog.dom.getElementsByTagNameAndClass;
goog.dom.setProperties = function(element, properties) {
  module$contents$goog$object_forEach(properties, function(val, key) {
    key == "style" ? element.style.cssText = val : key == "class" ? element.className = val : key == "for" ? element.htmlFor = val : goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(key) ? element.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[key], val) : goog.string.startsWith(key, "aria-") || goog.string.startsWith(key, "data-") ? element.setAttribute(key, val) : element[key] = val;
  });
};
goog.dom.DIRECT_ATTRIBUTE_MAP_ = {cellpadding:"cellPadding", cellspacing:"cellSpacing", colspan:"colSpan", frameborder:"frameBorder", height:"height", maxlength:"maxLength", nonce:"nonce", role:"role", rowspan:"rowSpan", type:"type", usemap:"useMap", valign:"vAlign", width:"width"};
goog.dom.getViewportSize = function(opt_window) {
  return goog.dom.getViewportSize_(opt_window || window);
};
goog.dom.getViewportSize_ = function(win) {
  var doc = win.document, el = goog.dom.isCss1CompatMode_(doc) ? doc.documentElement : doc.body;
  return new goog.math.Size(el.clientWidth, el.clientHeight);
};
goog.dom.getDocumentHeight = function() {
  return goog.dom.getDocumentHeight_(window);
};
goog.dom.getDocumentHeightForWindow = function(win) {
  return goog.dom.getDocumentHeight_(win);
};
goog.dom.getDocumentHeight_ = function(win) {
  var doc = win.document, height = 0;
  if (doc) {
    var body = doc.body, docEl = doc.documentElement;
    if (!docEl || !body) {
      return 0;
    }
    var vh = goog.dom.getViewportSize_(win).height;
    if (goog.dom.isCss1CompatMode_(doc) && docEl.scrollHeight) {
      height = docEl.scrollHeight != vh ? docEl.scrollHeight : docEl.offsetHeight;
    } else {
      var sh = docEl.scrollHeight, oh = docEl.offsetHeight;
      docEl.clientHeight != oh && (sh = body.scrollHeight, oh = body.offsetHeight);
      height = sh > vh ? sh > oh ? sh : oh : sh < oh ? sh : oh;
    }
  }
  return height;
};
goog.dom.getPageScroll = function(opt_window) {
  return goog.dom.getDomHelper((opt_window || goog.global || window).document).getDocumentScroll();
};
goog.dom.getDocumentScroll = function() {
  return goog.dom.getDocumentScroll_(document);
};
goog.dom.getDocumentScroll_ = function(doc) {
  var el = goog.dom.getDocumentScrollElement_(doc), win = goog.dom.getWindow_(doc);
  return new goog.math.Coordinate(win.pageXOffset || el.scrollLeft, win.pageYOffset || el.scrollTop);
};
goog.dom.getDocumentScrollElement = function() {
  return goog.dom.getDocumentScrollElement_(document);
};
goog.dom.getDocumentScrollElement_ = function(doc) {
  return doc.scrollingElement ? doc.scrollingElement : !goog.userAgent.WEBKIT && goog.dom.isCss1CompatMode_(doc) ? doc.documentElement : doc.body || doc.documentElement;
};
goog.dom.getWindow = function(opt_doc) {
  return opt_doc ? goog.dom.getWindow_(opt_doc) : window;
};
goog.dom.getWindow_ = function(doc) {
  return doc.defaultView;
};
goog.dom.createDom = function(tagName, opt_attributes, var_args) {
  return goog.dom.createDom_(document, arguments);
};
goog.dom.createDom_ = function(doc, args) {
  var attributes = args[1], element = goog.dom.createElement_(doc, String(args[0]));
  attributes && (typeof attributes === "string" ? element.className = attributes : Array.isArray(attributes) ? element.className = attributes.join(" ") : goog.dom.setProperties(element, attributes));
  args.length > 2 && goog.dom.append_(doc, element, args, 2);
  return element;
};
goog.dom.append_ = function(doc, parent, args, startIndex) {
  function childHandler(child) {
    child && parent.appendChild(typeof child === "string" ? doc.createTextNode(child) : child);
  }
  for (var i = startIndex; i < args.length; i++) {
    var arg = args[i];
    goog.isArrayLike(arg) && !goog.dom.isNodeLike(arg) ? module$contents$goog$array_forEach(goog.dom.isNodeList(arg) ? module$contents$goog$array_toArray(arg) : arg, childHandler) : childHandler(arg);
  }
};
goog.dom.$dom = goog.dom.createDom;
goog.dom.createElement = function(name) {
  return goog.dom.createElement_(document, name);
};
goog.dom.createElement_ = function(doc, name) {
  name = String(name);
  doc.contentType === "application/xhtml+xml" && (name = name.toLowerCase());
  return doc.createElement(name);
};
goog.dom.createTextNode = function(content) {
  return document.createTextNode(String(content));
};
goog.dom.createTable = function(rows, columns, opt_fillWithNbsp) {
  return goog.dom.createTable_(document, rows, columns, !!opt_fillWithNbsp);
};
goog.dom.createTable_ = function(doc, rows, columns, fillWithNbsp) {
  for (var table = goog.dom.createElement_(doc, goog.dom.TagName.TABLE), tbody = table.appendChild(goog.dom.createElement_(doc, goog.dom.TagName.TBODY)), i = 0; i < rows; i++) {
    for (var tr = goog.dom.createElement_(doc, goog.dom.TagName.TR), j = 0; j < columns; j++) {
      var td = goog.dom.createElement_(doc, goog.dom.TagName.TD);
      fillWithNbsp && goog.dom.setTextContent(td, goog.string.Unicode.NBSP);
      tr.appendChild(td);
    }
    tbody.appendChild(tr);
  }
  return table;
};
goog.dom.constHtmlToNode = function(var_args) {
  var stringArray = Array.prototype.map.call(arguments, goog.string.Const.unwrap), safeHtml = module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_htmlSafeByReview(stringArray.join(""), {justification:"Constant HTML string, that gets turned into a Node later, so it will be automatically balanced."});
  return goog.dom.safeHtmlToNode(safeHtml);
};
goog.dom.safeHtmlToNode = function(html) {
  return goog.dom.safeHtmlToNode_(document, html);
};
goog.dom.safeHtmlToNode_ = function(doc, html) {
  var tempDiv = goog.dom.createElement_(doc, goog.dom.TagName.DIV);
  module$exports$google3$third_party$javascript$safevalues$dom$index.setElementInnerHtml(tempDiv, html);
  return goog.dom.childrenToNode_(doc, tempDiv);
};
goog.dom.childrenToNode_ = function(doc, tempDiv) {
  if (tempDiv.childNodes.length == 1) {
    return tempDiv.removeChild(goog.asserts.assert(tempDiv.firstChild));
  }
  for (var fragment = doc.createDocumentFragment(); tempDiv.firstChild;) {
    fragment.appendChild(tempDiv.firstChild);
  }
  return fragment;
};
goog.dom.isCss1CompatMode = function() {
  return goog.dom.isCss1CompatMode_(document);
};
goog.dom.isCss1CompatMode_ = function(doc) {
  return goog.dom.COMPAT_MODE_KNOWN_ ? goog.dom.ASSUME_STANDARDS_MODE : doc.compatMode == "CSS1Compat";
};
goog.dom.canHaveChildren = function(node) {
  if (node.nodeType != goog.dom.NodeType.ELEMENT) {
    return !1;
  }
  switch(node.tagName) {
    case String(goog.dom.TagName.APPLET):
    case String(goog.dom.TagName.AREA):
    case String(goog.dom.TagName.BASE):
    case String(goog.dom.TagName.BR):
    case String(goog.dom.TagName.COL):
    case String(goog.dom.TagName.COMMAND):
    case String(goog.dom.TagName.EMBED):
    case String(goog.dom.TagName.FRAME):
    case String(goog.dom.TagName.HR):
    case String(goog.dom.TagName.IMG):
    case String(goog.dom.TagName.INPUT):
    case String(goog.dom.TagName.IFRAME):
    case String(goog.dom.TagName.ISINDEX):
    case String(goog.dom.TagName.KEYGEN):
    case String(goog.dom.TagName.LINK):
    case String(goog.dom.TagName.NOFRAMES):
    case String(goog.dom.TagName.NOSCRIPT):
    case String(goog.dom.TagName.META):
    case String(goog.dom.TagName.OBJECT):
    case String(goog.dom.TagName.PARAM):
    case String(goog.dom.TagName.SCRIPT):
    case String(goog.dom.TagName.SOURCE):
    case String(goog.dom.TagName.STYLE):
    case String(goog.dom.TagName.TRACK):
    case String(goog.dom.TagName.WBR):
      return !1;
  }
  return !0;
};
goog.dom.appendChild = function(parent, child) {
  goog.asserts.assert(parent != null && child != null, "goog.dom.appendChild expects non-null arguments");
  parent.appendChild(child);
};
goog.dom.append = function(parent, var_args) {
  goog.dom.append_(goog.dom.getOwnerDocument(parent), parent, arguments, 1);
};
goog.dom.removeChildren = function(node) {
  for (var child; child = node.firstChild;) {
    node.removeChild(child);
  }
};
goog.dom.insertSiblingBefore = function(newNode, refNode) {
  goog.asserts.assert(newNode != null && refNode != null, "goog.dom.insertSiblingBefore expects non-null arguments");
  refNode.parentNode && refNode.parentNode.insertBefore(newNode, refNode);
};
goog.dom.insertSiblingAfter = function(newNode, refNode) {
  goog.asserts.assert(newNode != null && refNode != null, "goog.dom.insertSiblingAfter expects non-null arguments");
  refNode.parentNode && refNode.parentNode.insertBefore(newNode, refNode.nextSibling);
};
goog.dom.insertChildAt = function(parent, child, index) {
  goog.asserts.assert(parent != null, "goog.dom.insertChildAt expects a non-null parent");
  parent.insertBefore(child, parent.childNodes[index] || null);
};
goog.dom.removeNode = function(node) {
  return node && node.parentNode ? node.parentNode.removeChild(node) : null;
};
goog.dom.replaceNode = function(newNode, oldNode) {
  goog.asserts.assert(newNode != null && oldNode != null, "goog.dom.replaceNode expects non-null arguments");
  var parent = oldNode.parentNode;
  parent && parent.replaceChild(newNode, oldNode);
};
goog.dom.copyContents = function(target, source) {
  goog.asserts.assert(target != null && source != null, "goog.dom.copyContents expects non-null arguments");
  var childNodes = source.cloneNode(!0).childNodes;
  for (goog.dom.removeChildren(target); childNodes.length;) {
    target.appendChild(childNodes[0]);
  }
};
goog.dom.flattenElement = function(element) {
  var child, parent = element.parentNode;
  if (parent && parent.nodeType != goog.dom.NodeType.DOCUMENT_FRAGMENT) {
    if (element.removeNode) {
      return element.removeNode(!1);
    }
    for (; child = element.firstChild;) {
      parent.insertBefore(child, element);
    }
    return goog.dom.removeNode(element);
  }
};
goog.dom.getChildren = function(element) {
  return goog.FEATURESET_YEAR > 2018 || element.children != void 0 ? element.children : Array.prototype.filter.call(element.childNodes, function(node) {
    return node.nodeType == goog.dom.NodeType.ELEMENT;
  });
};
goog.dom.getFirstElementChild = function(node) {
  return node.firstElementChild !== void 0 ? node.firstElementChild : goog.dom.getNextElementNode_(node.firstChild, !0);
};
goog.dom.getLastElementChild = function(node) {
  return node.lastElementChild !== void 0 ? node.lastElementChild : goog.dom.getNextElementNode_(node.lastChild, !1);
};
goog.dom.getNextElementSibling = function(node) {
  return goog.FEATURESET_YEAR > 2018 || node.nextElementSibling !== void 0 ? node.nextElementSibling : goog.dom.getNextElementNode_(node.nextSibling, !0);
};
goog.dom.getPreviousElementSibling = function(node) {
  return node.previousElementSibling !== void 0 ? node.previousElementSibling : goog.dom.getNextElementNode_(node.previousSibling, !1);
};
goog.dom.getNextElementNode_ = function(node, forward) {
  for (; node && node.nodeType != goog.dom.NodeType.ELEMENT;) {
    node = forward ? node.nextSibling : node.previousSibling;
  }
  return node;
};
goog.dom.getNextNode = function(node) {
  if (!node) {
    return null;
  }
  if (node.firstChild) {
    return node.firstChild;
  }
  for (; node && !node.nextSibling;) {
    node = node.parentNode;
  }
  return node ? node.nextSibling : null;
};
goog.dom.getPreviousNode = function(node) {
  if (!node) {
    return null;
  }
  if (!node.previousSibling) {
    return node.parentNode;
  }
  for (node = node.previousSibling; node && node.lastChild;) {
    node = node.lastChild;
  }
  return node;
};
goog.dom.isNodeLike = function(obj) {
  return goog.isObject(obj) && obj.nodeType > 0;
};
goog.dom.isElement = function(obj) {
  return goog.isObject(obj) && obj.nodeType == goog.dom.NodeType.ELEMENT;
};
goog.dom.isWindow = function(obj) {
  return goog.isObject(obj) && obj.window == obj;
};
goog.dom.getParentElement = function(element) {
  return element.parentElement || null;
};
goog.dom.contains = function(parent, descendant) {
  if (!parent || !descendant) {
    return !1;
  }
  if (goog.FEATURESET_YEAR > 2018 || parent.contains && descendant.nodeType == goog.dom.NodeType.ELEMENT) {
    return parent == descendant || parent.contains(descendant);
  }
  if (typeof parent.compareDocumentPosition != "undefined") {
    return parent == descendant || !!(parent.compareDocumentPosition(descendant) & 16);
  }
  for (; descendant && parent != descendant;) {
    descendant = descendant.parentNode;
  }
  return descendant == parent;
};
goog.dom.compareNodeOrder = function(node1, node2) {
  if (node1 == node2) {
    return 0;
  }
  if (node1.compareDocumentPosition) {
    return node1.compareDocumentPosition(node2) & 2 ? 1 : -1;
  }
  if ("sourceIndex" in node1 || node1.parentNode && "sourceIndex" in node1.parentNode) {
    var isElement1 = node1.nodeType == goog.dom.NodeType.ELEMENT, isElement2 = node2.nodeType == goog.dom.NodeType.ELEMENT;
    if (isElement1 && isElement2) {
      return node1.sourceIndex - node2.sourceIndex;
    }
    var parent1 = node1.parentNode, parent2 = node2.parentNode;
    return parent1 == parent2 ? goog.dom.compareSiblingOrder_(node1, node2) : !isElement1 && goog.dom.contains(parent1, node2) ? -1 * goog.dom.compareParentsDescendantNodeIe_(node1, node2) : !isElement2 && goog.dom.contains(parent2, node1) ? goog.dom.compareParentsDescendantNodeIe_(node2, node1) : (isElement1 ? node1.sourceIndex : parent1.sourceIndex) - (isElement2 ? node2.sourceIndex : parent2.sourceIndex);
  }
  var doc = goog.dom.getOwnerDocument(node1);
  var range1 = doc.createRange();
  range1.selectNode(node1);
  range1.collapse(!0);
  var range2 = doc.createRange();
  range2.selectNode(node2);
  range2.collapse(!0);
  return range1.compareBoundaryPoints(goog.global.Range.START_TO_END, range2);
};
goog.dom.compareParentsDescendantNodeIe_ = function(textNode, node) {
  var parent = textNode.parentNode;
  if (parent == node) {
    return -1;
  }
  for (var sibling = node; sibling.parentNode != parent;) {
    sibling = sibling.parentNode;
  }
  return goog.dom.compareSiblingOrder_(sibling, textNode);
};
goog.dom.compareSiblingOrder_ = function(node1, node2) {
  for (var s = node2; s = s.previousSibling;) {
    if (s == node1) {
      return -1;
    }
  }
  return 1;
};
goog.dom.findCommonAncestor = function(var_args) {
  var i, count = arguments.length;
  if (!count) {
    return null;
  }
  if (count == 1) {
    return arguments[0];
  }
  var paths = [], minLength = Infinity;
  for (i = 0; i < count; i++) {
    for (var ancestors = [], node = arguments[i]; node;) {
      ancestors.unshift(node), node = node.parentNode;
    }
    paths.push(ancestors);
    minLength = Math.min(minLength, ancestors.length);
  }
  var output = null;
  for (i = 0; i < minLength; i++) {
    for (var first = paths[0][i], j = 1; j < count; j++) {
      if (first != paths[j][i]) {
        return output;
      }
    }
    output = first;
  }
  return output;
};
goog.dom.isInDocument = function(node) {
  return (node.ownerDocument.compareDocumentPosition(node) & 16) == 16;
};
goog.dom.getOwnerDocument = function(node) {
  goog.asserts.assert(node, "Node cannot be null or undefined.");
  return node.nodeType == goog.dom.NodeType.DOCUMENT ? node : node.ownerDocument || node.document;
};
goog.dom.getFrameContentDocument = function(frame) {
  return frame.contentDocument || frame.contentWindow.document;
};
goog.dom.getFrameContentWindow = function(frame) {
  try {
    return frame.contentWindow || (frame.contentDocument ? goog.dom.getWindow(frame.contentDocument) : null);
  } catch (e) {
  }
  return null;
};
goog.dom.setTextContent = function(node, text) {
  goog.asserts.assert(node != null, "goog.dom.setTextContent expects a non-null value for node");
  if ("textContent" in node) {
    node.textContent = text;
  } else if (node.nodeType == goog.dom.NodeType.TEXT) {
    node.data = String(text);
  } else if (node.firstChild && node.firstChild.nodeType == goog.dom.NodeType.TEXT) {
    for (; node.lastChild != node.firstChild;) {
      node.removeChild(goog.asserts.assert(node.lastChild));
    }
    node.firstChild.data = String(text);
  } else {
    goog.dom.removeChildren(node);
    var doc = goog.dom.getOwnerDocument(node);
    node.appendChild(doc.createTextNode(String(text)));
  }
};
goog.dom.getOuterHtml = function(element) {
  goog.asserts.assert(element !== null, "goog.dom.getOuterHtml expects a non-null value for element");
  if ("outerHTML" in element) {
    return element.outerHTML;
  }
  var doc = goog.dom.getOwnerDocument(element), div = goog.dom.createElement_(doc, goog.dom.TagName.DIV);
  div.appendChild(element.cloneNode(!0));
  return div.innerHTML;
};
goog.dom.findNode = function(root, p) {
  var rv = [];
  return goog.dom.findNodes_(root, p, rv, !0) ? rv[0] : void 0;
};
goog.dom.findNodes = function(root, p) {
  var rv = [];
  goog.dom.findNodes_(root, p, rv, !1);
  return rv;
};
goog.dom.findNodes_ = function(root, p, rv, findOne) {
  if (root != null) {
    for (var child = root.firstChild; child;) {
      if (p(child) && (rv.push(child), findOne) || goog.dom.findNodes_(child, p, rv, findOne)) {
        return !0;
      }
      child = child.nextSibling;
    }
  }
  return !1;
};
goog.dom.findElement = function(root, pred) {
  for (var stack = goog.dom.getChildrenReverse_(root); stack.length > 0;) {
    var next = stack.pop();
    if (pred(next)) {
      return next;
    }
    for (var c = next.lastElementChild; c; c = c.previousElementSibling) {
      stack.push(c);
    }
  }
  return null;
};
goog.dom.findElements = function(root, pred) {
  for (var result = [], stack = goog.dom.getChildrenReverse_(root); stack.length > 0;) {
    var next = stack.pop();
    pred(next) && result.push(next);
    for (var c = next.lastElementChild; c; c = c.previousElementSibling) {
      stack.push(c);
    }
  }
  return result;
};
goog.dom.getChildrenReverse_ = function(node) {
  if (node.nodeType == goog.dom.NodeType.DOCUMENT) {
    return [node.documentElement];
  }
  for (var children = [], c = node.lastElementChild; c; c = c.previousElementSibling) {
    children.push(c);
  }
  return children;
};
goog.dom.TAGS_TO_IGNORE_ = {SCRIPT:1, STYLE:1, HEAD:1, IFRAME:1, OBJECT:1};
goog.dom.PREDEFINED_TAG_VALUES_ = {IMG:" ", BR:"\n"};
goog.dom.isFocusableTabIndex = function(element) {
  return goog.dom.hasSpecifiedTabIndex_(element) && goog.dom.isTabIndexFocusable_(element);
};
goog.dom.setFocusableTabIndex = function(element, enable) {
  enable ? element.tabIndex = 0 : (element.tabIndex = -1, element.removeAttribute("tabIndex"));
};
goog.dom.isFocusable = function(element) {
  return goog.dom.nativelySupportsFocus_(element) ? !element.disabled && (!goog.dom.hasSpecifiedTabIndex_(element) || goog.dom.isTabIndexFocusable_(element)) : goog.dom.isFocusableTabIndex(element);
};
goog.dom.hasSpecifiedTabIndex_ = function(element) {
  return element.hasAttribute("tabindex");
};
goog.dom.isTabIndexFocusable_ = function(element) {
  var index = element.tabIndex;
  return typeof index === "number" && index >= 0 && index < 32768;
};
goog.dom.nativelySupportsFocus_ = function(element) {
  return element.tagName == goog.dom.TagName.A && element.hasAttribute("href") || element.tagName == goog.dom.TagName.INPUT || element.tagName == goog.dom.TagName.TEXTAREA || element.tagName == goog.dom.TagName.SELECT || element.tagName == goog.dom.TagName.BUTTON;
};
goog.dom.hasNonZeroBoundingRect_ = function(element) {
  var rect = typeof element.getBoundingClientRect !== "function" ? {height:element.offsetHeight, width:element.offsetWidth} : element.getBoundingClientRect();
  return rect != null && rect.height > 0 && rect.width > 0;
};
goog.dom.getTextContent = function(node) {
  var buf = [];
  goog.dom.getTextContent_(node, buf, !0);
  var textContent = buf.join("");
  textContent = textContent.replace(/ \xAD /g, " ").replace(/\xAD/g, "");
  textContent = textContent.replace(/\u200B/g, "");
  textContent = textContent.replace(/ +/g, " ");
  textContent != " " && (textContent = textContent.replace(/^\s*/, ""));
  return textContent;
};
goog.dom.getRawTextContent = function(node) {
  var buf = [];
  goog.dom.getTextContent_(node, buf, !1);
  return buf.join("");
};
goog.dom.getTextContent_ = function(node, buf, normalizeWhitespace) {
  if (!(node.nodeName in goog.dom.TAGS_TO_IGNORE_)) {
    if (node.nodeType == goog.dom.NodeType.TEXT) {
      normalizeWhitespace ? buf.push(String(node.nodeValue).replace(/(\r\n|\r|\n)/g, "")) : buf.push(node.nodeValue);
    } else if (node.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) {
      buf.push(goog.dom.PREDEFINED_TAG_VALUES_[node.nodeName]);
    } else {
      for (var child = node.firstChild; child;) {
        goog.dom.getTextContent_(child, buf, normalizeWhitespace), child = child.nextSibling;
      }
    }
  }
};
goog.dom.getNodeTextLength = function(node) {
  return goog.dom.getTextContent(node).length;
};
goog.dom.getNodeTextOffset = function(node, opt_offsetParent) {
  for (var root = opt_offsetParent || goog.dom.getOwnerDocument(node).body, buf = []; node && node != root;) {
    for (var cur = node; cur = cur.previousSibling;) {
      buf.unshift(goog.dom.getTextContent(cur));
    }
    node = node.parentNode;
  }
  return goog.string.trimLeft(buf.join("")).replace(/ +/g, " ").length;
};
goog.dom.getNodeAtOffset = function(parent, offset, opt_result) {
  for (var stack = [parent], pos = 0, cur = null; stack.length > 0 && pos < offset;) {
    if (cur = stack.pop(), !(cur.nodeName in goog.dom.TAGS_TO_IGNORE_)) {
      if (cur.nodeType == goog.dom.NodeType.TEXT) {
        var text = cur.nodeValue.replace(/(\r\n|\r|\n)/g, "").replace(/ +/g, " ");
        pos += text.length;
      } else if (cur.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) {
        pos += goog.dom.PREDEFINED_TAG_VALUES_[cur.nodeName].length;
      } else {
        for (var i = cur.childNodes.length - 1; i >= 0; i--) {
          stack.push(cur.childNodes[i]);
        }
      }
    }
  }
  goog.isObject(opt_result) && (opt_result.remainder = cur ? cur.nodeValue.length + offset - pos - 1 : 0, opt_result.node = cur);
  return cur;
};
goog.dom.isNodeList = function(val) {
  if (goog.FEATURESET_YEAR >= 2018) {
    return !!val && typeof val.length == "number" && typeof val.item == "function";
  }
  if (val && typeof val.length == "number") {
    if (goog.isObject(val)) {
      return typeof val.item == "function" || typeof val.item == "string";
    }
    if (typeof val === "function") {
      return typeof val.item == "function";
    }
  }
  return !1;
};
goog.dom.getAncestorByTagNameAndClass = function(element, opt_tag, opt_class, opt_maxSearchSteps) {
  if (!opt_tag && !opt_class) {
    return null;
  }
  var tagName = opt_tag ? String(opt_tag).toUpperCase() : null;
  return goog.dom.getAncestor(element, function(node) {
    return (!tagName || node.nodeName == tagName) && (!opt_class || typeof node.className === "string" && module$contents$goog$array_contains(node.className.split(/\s+/), opt_class));
  }, !0, opt_maxSearchSteps);
};
goog.dom.getAncestorByClass = function(element, className, opt_maxSearchSteps) {
  return goog.dom.getAncestorByTagNameAndClass(element, null, className, opt_maxSearchSteps);
};
goog.dom.getAncestor = function(element, matcher, opt_includeNode, opt_maxSearchSteps) {
  element && !opt_includeNode && (element = element.parentNode);
  for (var steps = 0; element && (opt_maxSearchSteps == null || steps <= opt_maxSearchSteps);) {
    goog.asserts.assert(element.name != "parentNode");
    if (matcher(element)) {
      return element;
    }
    element = element.parentNode;
    steps++;
  }
  return null;
};
goog.dom.getActiveElement = function(doc) {
  try {
    var activeElement = doc && doc.activeElement;
    return activeElement && activeElement.nodeName ? activeElement : null;
  } catch (e) {
    return null;
  }
};
goog.dom.getPixelRatio = function() {
  var win = goog.dom.getWindow();
  return win.devicePixelRatio !== void 0 ? win.devicePixelRatio : win.matchMedia ? goog.dom.matchesPixelRatio_(3) || goog.dom.matchesPixelRatio_(2) || goog.dom.matchesPixelRatio_(1.5) || goog.dom.matchesPixelRatio_(1) || .75 : 1;
};
goog.dom.matchesPixelRatio_ = function(pixelRatio) {
  return goog.dom.getWindow().matchMedia("(min-resolution: " + pixelRatio + "dppx),(min--moz-device-pixel-ratio: " + pixelRatio + "),(min-resolution: " + pixelRatio * 96 + "dpi)").matches ? pixelRatio : 0;
};
goog.dom.getCanvasContext2D = function(canvas) {
  return canvas.getContext("2d");
};
goog.dom.DomHelper = function(opt_document) {
  this.document_ = opt_document || goog.global.document || document;
};
goog.dom.DomHelper.prototype.getDomHelper = goog.dom.getDomHelper;
goog.dom.DomHelper.prototype.getDocument = function() {
  return this.document_;
};
goog.dom.DomHelper.prototype.getElement = function(element) {
  return goog.dom.getElementHelper_(this.document_, element);
};
goog.dom.DomHelper.prototype.getRequiredElement = function(id) {
  return goog.dom.getRequiredElementHelper_(this.document_, id);
};
goog.dom.DomHelper.prototype.$ = goog.dom.DomHelper.prototype.getElement;
goog.dom.DomHelper.prototype.getElementsByTagName = function(tagName, opt_parent) {
  return (opt_parent || this.document_).getElementsByTagName(String(tagName));
};
goog.dom.DomHelper.prototype.getElementsByTagNameAndClass = function(opt_tag, opt_class, opt_el) {
  return goog.dom.getElementsByTagNameAndClass_(this.document_, opt_tag, opt_class, opt_el);
};
goog.dom.DomHelper.prototype.getElementByTagNameAndClass = function(opt_tag, opt_class, opt_el) {
  return goog.dom.getElementByTagNameAndClass_(this.document_, opt_tag, opt_class, opt_el);
};
goog.dom.DomHelper.prototype.getElementsByClass = function(className, opt_el) {
  return goog.dom.getElementsByClass(className, opt_el || this.document_);
};
goog.dom.DomHelper.prototype.getElementByClass = function(className, opt_el) {
  return goog.dom.getElementByClass(className, opt_el || this.document_);
};
goog.dom.DomHelper.prototype.getRequiredElementByClass = function(className, opt_root) {
  return goog.dom.getRequiredElementByClass(className, opt_root || this.document_);
};
goog.dom.DomHelper.prototype.$$ = goog.dom.DomHelper.prototype.getElementsByTagNameAndClass;
goog.dom.DomHelper.prototype.setProperties = goog.dom.setProperties;
goog.dom.DomHelper.prototype.getViewportSize = function(opt_window) {
  return goog.dom.getViewportSize(opt_window || this.getWindow());
};
goog.dom.DomHelper.prototype.getDocumentHeight = function() {
  return goog.dom.getDocumentHeight_(this.getWindow());
};
goog.dom.DomHelper.prototype.createDom = function(tagName, opt_attributes, var_args) {
  return goog.dom.createDom_(this.document_, arguments);
};
goog.dom.DomHelper.prototype.$dom = goog.dom.DomHelper.prototype.createDom;
goog.dom.DomHelper.prototype.createElement = function(name) {
  return goog.dom.createElement_(this.document_, name);
};
goog.dom.DomHelper.prototype.createTextNode = function(content) {
  return this.document_.createTextNode(String(content));
};
goog.dom.DomHelper.prototype.createTable = function(rows, columns, opt_fillWithNbsp) {
  return goog.dom.createTable_(this.document_, rows, columns, !!opt_fillWithNbsp);
};
goog.dom.DomHelper.prototype.safeHtmlToNode = function(html) {
  return goog.dom.safeHtmlToNode_(this.document_, html);
};
goog.dom.DomHelper.prototype.isCss1CompatMode = function() {
  return goog.dom.isCss1CompatMode_(this.document_);
};
goog.dom.DomHelper.prototype.getWindow = function() {
  return goog.dom.getWindow_(this.document_);
};
goog.dom.DomHelper.prototype.getDocumentScrollElement = function() {
  return goog.dom.getDocumentScrollElement_(this.document_);
};
goog.dom.DomHelper.prototype.getDocumentScroll = function() {
  return goog.dom.getDocumentScroll_(this.document_);
};
goog.dom.DomHelper.prototype.getActiveElement = function(opt_doc) {
  return goog.dom.getActiveElement(opt_doc || this.document_);
};
goog.dom.DomHelper.prototype.appendChild = goog.dom.appendChild;
goog.dom.DomHelper.prototype.append = goog.dom.append;
goog.dom.DomHelper.prototype.canHaveChildren = goog.dom.canHaveChildren;
goog.dom.DomHelper.prototype.removeChildren = goog.dom.removeChildren;
goog.dom.DomHelper.prototype.insertSiblingBefore = goog.dom.insertSiblingBefore;
goog.dom.DomHelper.prototype.insertSiblingAfter = goog.dom.insertSiblingAfter;
goog.dom.DomHelper.prototype.insertChildAt = goog.dom.insertChildAt;
goog.dom.DomHelper.prototype.removeNode = goog.dom.removeNode;
goog.dom.DomHelper.prototype.replaceNode = goog.dom.replaceNode;
goog.dom.DomHelper.prototype.copyContents = goog.dom.copyContents;
goog.dom.DomHelper.prototype.flattenElement = goog.dom.flattenElement;
goog.dom.DomHelper.prototype.getChildren = goog.dom.getChildren;
goog.dom.DomHelper.prototype.getFirstElementChild = goog.dom.getFirstElementChild;
goog.dom.DomHelper.prototype.getLastElementChild = goog.dom.getLastElementChild;
goog.dom.DomHelper.prototype.getNextElementSibling = goog.dom.getNextElementSibling;
goog.dom.DomHelper.prototype.getPreviousElementSibling = goog.dom.getPreviousElementSibling;
goog.dom.DomHelper.prototype.getNextNode = goog.dom.getNextNode;
goog.dom.DomHelper.prototype.getPreviousNode = goog.dom.getPreviousNode;
goog.dom.DomHelper.prototype.isNodeLike = goog.dom.isNodeLike;
goog.dom.DomHelper.prototype.isElement = goog.dom.isElement;
goog.dom.DomHelper.prototype.isWindow = goog.dom.isWindow;
goog.dom.DomHelper.prototype.getParentElement = goog.dom.getParentElement;
goog.dom.DomHelper.prototype.contains = goog.dom.contains;
goog.dom.DomHelper.prototype.compareNodeOrder = goog.dom.compareNodeOrder;
goog.dom.DomHelper.prototype.findCommonAncestor = goog.dom.findCommonAncestor;
goog.dom.DomHelper.prototype.getOwnerDocument = goog.dom.getOwnerDocument;
goog.dom.DomHelper.prototype.getFrameContentDocument = goog.dom.getFrameContentDocument;
goog.dom.DomHelper.prototype.getFrameContentWindow = goog.dom.getFrameContentWindow;
goog.dom.DomHelper.prototype.setTextContent = goog.dom.setTextContent;
goog.dom.DomHelper.prototype.getOuterHtml = goog.dom.getOuterHtml;
goog.dom.DomHelper.prototype.findNode = goog.dom.findNode;
goog.dom.DomHelper.prototype.findNodes = goog.dom.findNodes;
goog.dom.DomHelper.prototype.isFocusableTabIndex = goog.dom.isFocusableTabIndex;
goog.dom.DomHelper.prototype.setFocusableTabIndex = goog.dom.setFocusableTabIndex;
goog.dom.DomHelper.prototype.isFocusable = goog.dom.isFocusable;
goog.dom.DomHelper.prototype.getTextContent = goog.dom.getTextContent;
goog.dom.DomHelper.prototype.getNodeTextLength = goog.dom.getNodeTextLength;
goog.dom.DomHelper.prototype.getNodeTextOffset = goog.dom.getNodeTextOffset;
goog.dom.DomHelper.prototype.getNodeAtOffset = goog.dom.getNodeAtOffset;
goog.dom.DomHelper.prototype.isNodeList = goog.dom.isNodeList;
goog.dom.DomHelper.prototype.getAncestorByTagNameAndClass = goog.dom.getAncestorByTagNameAndClass;
goog.dom.DomHelper.prototype.getAncestorByClass = goog.dom.getAncestorByClass;
goog.dom.DomHelper.prototype.getAncestor = goog.dom.getAncestor;
goog.dom.DomHelper.prototype.getCanvasContext2D = goog.dom.getCanvasContext2D;
goog.events = {};
goog.events.BrowserFeature = {TOUCH_ENABLED:!!(goog.global.navigator && goog.global.navigator.maxTouchPoints || goog.FEATURESET_YEAR < 2018 && ("ontouchstart" in goog.global || goog.global.document && document.documentElement && "ontouchstart" in document.documentElement || goog.global.navigator && goog.global.navigator.msMaxTouchPoints)), POINTER_EVENTS:goog.FEATURESET_YEAR >= 2019 || "PointerEvent" in goog.global, PASSIVE_EVENTS:goog.FEATURESET_YEAR > 2018 || function() {
  if (!goog.global.addEventListener || !Object.defineProperty) {
    return !1;
  }
  var passive = !1, options = Object.defineProperty({}, "passive", {get:function() {
    passive = !0;
  }});
  try {
    var nullFunction = function() {
    };
    goog.global.addEventListener("test", nullFunction, options);
    goog.global.removeEventListener("test", nullFunction, options);
  } catch (e) {
  }
  return passive;
}()};
goog.events.eventTypeHelpers = {};
goog.events.eventTypeHelpers.getVendorPrefixedName = function(eventName) {
  return goog.userAgent.WEBKIT ? "webkit" + eventName : eventName.toLowerCase();
};
goog.events.eventTypeHelpers.getPointerFallbackEventName = function(pointerEventName, fallbackEventName) {
  return goog.events.BrowserFeature.POINTER_EVENTS ? pointerEventName : fallbackEventName;
};
goog.events.EventType = {CLICK:"click", RIGHTCLICK:"rightclick", DBLCLICK:"dblclick", AUXCLICK:"auxclick", MOUSEDOWN:"mousedown", MOUSEUP:"mouseup", MOUSEOVER:"mouseover", MOUSEOUT:"mouseout", MOUSEMOVE:"mousemove", MOUSEENTER:"mouseenter", MOUSELEAVE:"mouseleave", MOUSECANCEL:"mousecancel", SELECTIONCHANGE:"selectionchange", SELECTSTART:"selectstart", WHEEL:"wheel", KEYPRESS:"keypress", KEYDOWN:"keydown", KEYUP:"keyup", BLUR:"blur", FOCUS:"focus", DEACTIVATE:"deactivate", FOCUSIN:"focusin", FOCUSOUT:"focusout", 
CHANGE:"change", RESET:"reset", SELECT:"select", SUBMIT:"submit", INPUT:"input", PROPERTYCHANGE:"propertychange", DRAGSTART:"dragstart", DRAG:"drag", DRAGENTER:"dragenter", DRAGOVER:"dragover", DRAGLEAVE:"dragleave", DROP:"drop", DRAGEND:"dragend", TOUCHSTART:"touchstart", TOUCHMOVE:"touchmove", TOUCHEND:"touchend", TOUCHCANCEL:"touchcancel", BEFOREUNLOAD:"beforeunload", CONSOLEMESSAGE:"consolemessage", CONTEXTMENU:"contextmenu", DEVICECHANGE:"devicechange", DEVICEMOTION:"devicemotion", DEVICEORIENTATION:"deviceorientation", 
DOMCONTENTLOADED:"DOMContentLoaded", ERROR:"error", HELP:"help", LOAD:"load", LOSECAPTURE:"losecapture", ORIENTATIONCHANGE:"orientationchange", READYSTATECHANGE:"readystatechange", RESIZE:"resize", SCROLL:"scroll", UNLOAD:"unload", CANPLAY:"canplay", CANPLAYTHROUGH:"canplaythrough", DURATIONCHANGE:"durationchange", EMPTIED:"emptied", ENDED:"ended", LOADEDDATA:"loadeddata", LOADEDMETADATA:"loadedmetadata", PAUSE:"pause", PLAY:"play", PLAYING:"playing", PROGRESS:"progress", RATECHANGE:"ratechange", 
SEEKED:"seeked", SEEKING:"seeking", STALLED:"stalled", SUSPEND:"suspend", TIMEUPDATE:"timeupdate", VOLUMECHANGE:"volumechange", WAITING:"waiting", SOURCEOPEN:"sourceopen", SOURCEENDED:"sourceended", SOURCECLOSED:"sourceclosed", ABORT:"abort", UPDATE:"update", UPDATESTART:"updatestart", UPDATEEND:"updateend", HASHCHANGE:"hashchange", PAGEHIDE:"pagehide", PAGESHOW:"pageshow", POPSTATE:"popstate", COPY:"copy", PASTE:"paste", CUT:"cut", BEFORECOPY:"beforecopy", BEFORECUT:"beforecut", BEFOREPASTE:"beforepaste", 
ONLINE:"online", OFFLINE:"offline", MESSAGE:"message", CONNECT:"connect", INSTALL:"install", ACTIVATE:"activate", FETCH:"fetch", FOREIGNFETCH:"foreignfetch", MESSAGEERROR:"messageerror", STATECHANGE:"statechange", UPDATEFOUND:"updatefound", CONTROLLERCHANGE:"controllerchange", ANIMATIONSTART:goog.events.eventTypeHelpers.getVendorPrefixedName("AnimationStart"), ANIMATIONEND:goog.events.eventTypeHelpers.getVendorPrefixedName("AnimationEnd"), ANIMATIONITERATION:goog.events.eventTypeHelpers.getVendorPrefixedName("AnimationIteration"), 
TRANSITIONEND:goog.events.eventTypeHelpers.getVendorPrefixedName("TransitionEnd"), POINTERDOWN:"pointerdown", POINTERUP:"pointerup", POINTERCANCEL:"pointercancel", POINTERMOVE:"pointermove", POINTEROVER:"pointerover", POINTEROUT:"pointerout", POINTERENTER:"pointerenter", POINTERLEAVE:"pointerleave", GOTPOINTERCAPTURE:"gotpointercapture", LOSTPOINTERCAPTURE:"lostpointercapture", MSGESTURECHANGE:"MSGestureChange", MSGESTUREEND:"MSGestureEnd", MSGESTUREHOLD:"MSGestureHold", MSGESTURESTART:"MSGestureStart", 
MSGESTURETAP:"MSGestureTap", MSGOTPOINTERCAPTURE:"MSGotPointerCapture", MSINERTIASTART:"MSInertiaStart", MSLOSTPOINTERCAPTURE:"MSLostPointerCapture", MSPOINTERCANCEL:"MSPointerCancel", MSPOINTERDOWN:"MSPointerDown", MSPOINTERENTER:"MSPointerEnter", MSPOINTERHOVER:"MSPointerHover", MSPOINTERLEAVE:"MSPointerLeave", MSPOINTERMOVE:"MSPointerMove", MSPOINTEROUT:"MSPointerOut", MSPOINTEROVER:"MSPointerOver", MSPOINTERUP:"MSPointerUp", TEXT:"text", TEXTINPUT:"textInput", COMPOSITIONSTART:"compositionstart", 
COMPOSITIONUPDATE:"compositionupdate", COMPOSITIONEND:"compositionend", BEFOREINPUT:"beforeinput", FULLSCREENCHANGE:"fullscreenchange", WEBKITBEGINFULLSCREEN:"webkitbeginfullscreen", WEBKITENDFULLSCREEN:"webkitendfullscreen", EXIT:"exit", LOADABORT:"loadabort", LOADCOMMIT:"loadcommit", LOADREDIRECT:"loadredirect", LOADSTART:"loadstart", LOADSTOP:"loadstop", RESPONSIVE:"responsive", SIZECHANGED:"sizechanged", UNRESPONSIVE:"unresponsive", VISIBILITYCHANGE:"visibilitychange", STORAGE:"storage", BEFOREPRINT:"beforeprint", 
AFTERPRINT:"afterprint", BEFOREINSTALLPROMPT:"beforeinstallprompt", APPINSTALLED:"appinstalled", CANCEL:"cancel", FINISH:"finish", REMOVE:"remove"};
goog.math.ExponentialBackoff = function(initialValue, maxValue, opt_randomFactor, opt_backoffFactor, opt_decayFactor) {
  goog.asserts.assert(initialValue > 0, "Initial value must be greater than zero.");
  goog.asserts.assert(maxValue >= initialValue, "Max value should be at least as large as initial value.");
  opt_randomFactor !== void 0 && goog.asserts.assert(opt_randomFactor >= 0 && opt_randomFactor <= 1, "Randomness factor should be between 0 and 1.");
  opt_backoffFactor !== void 0 && goog.asserts.assert(opt_backoffFactor > 1, "Backoff factor should be greater than 1");
  opt_decayFactor !== void 0 && goog.asserts.assert(opt_decayFactor >= 1, "Decay factor should be greater than 1");
  this.initialValue_ = initialValue;
  this.maxValue_ = maxValue;
  this.currBaseValue_ = this.currValue_ = initialValue;
  this.randomFactor_ = opt_randomFactor || 0;
  this.backoffFactor_ = opt_backoffFactor || 2;
};
goog.math.ExponentialBackoff.prototype.reset = function() {
  this.currBaseValue_ = this.currValue_ = this.initialValue_;
};
goog.math.ExponentialBackoff.prototype.getValue = function() {
  return this.currValue_;
};
goog.math.ExponentialBackoff.prototype.backoff = function() {
  this.currBaseValue_ = Math.min(this.maxValue_, this.currBaseValue_ * this.backoffFactor_);
  this.currValue_ = Math.min(this.maxValue_, this.currBaseValue_ + (this.randomFactor_ ? Math.round(this.randomFactor_ * (Math.random() - .5) * 2 * this.currBaseValue_) : 0));
};
var module$exports$google3$wireless$android$play$playlog$js$clearcut_network_interface = {ClearcutNetwork:function() {
}, RequestParams:function() {
}, BodyType:{STRING:1, BYTE_ARRAY:2}};
module$exports$google3$wireless$android$play$playlog$js$clearcut_network_interface.BodyType[module$exports$google3$wireless$android$play$playlog$js$clearcut_network_interface.BodyType.STRING] = "STRING";
module$exports$google3$wireless$android$play$playlog$js$clearcut_network_interface.BodyType[module$exports$google3$wireless$android$play$playlog$js$clearcut_network_interface.BodyType.BYTE_ARRAY] = "BYTE_ARRAY";
jspb$e.wireless_android_play_playlog$JsClientInfo$DeviceType = {UNKNOWN:0, MOBILE:1, TABLET:2, DESKTOP:3, GOOGLE_HOME:4};
jspb$e.wireless_android_play_playlog$JsClientInfo$FlushInfo$TransmissionType = {TRANSMISSION_TYPE_UNKNOWN:0, XHR_POST:1, IMAGE_GET:2, SEND_BEACON:3, FETCH:4};
jspb$e.wireless_android_play_playlog$JsClientInfo$OsType = {OS_UNKNOWN:0, MAC:1, WINDOWS:2, ANDROID:3, LINUX:4, CHROME_OS:5, IPAD:6, IPHONE:7, IPOD:8, CHROMECAST:9};
var jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.prototype.getTransmissionType = function() {
  return jspb_internal_adapters.getEnumFieldWithDefault(this, 1, 0);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.prototype.setTransmissionType = function(value) {
  return jspb_internal_adapters.setEnumField(this, 1, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.prototype.setIsFinal = function(value) {
  return jspb_internal_adapters.setBooleanField(this, 2, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.prototype.setRetryCount = function(value) {
  return jspb_internal_adapters.setInt32Field(this, 3, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.prototype.setPersistedLogRecoveredCount = function(value) {
  return jspb_internal_adapters.setInt32Field(this, 4, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.prototype.setPersistedLogExpiredCount = function(value) {
  return jspb_internal_adapters.setInt32Field(this, 5, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo);
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.JsClientInfo.FlushInfo");
var jspb$b$wireless_android_play_playlog$JsClientInfo$FlushInfo = {};
jspb$b$wireless_android_play_playlog$JsClientInfo$FlushInfo.fields = [0, jspb_internal_binary.RWEnum, jspb_internal_binary.RWBool, jspb_internal_binary.RWInt32, -2];
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$JsClientInfo$FlushInfo.fields);
var jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.prototype.setBrand = function(value) {
  return jspb_internal_adapters.setStringField(this, 1, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.prototype.getVersion = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 2);
};
jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.prototype.setVersion = function(value) {
  return jspb_internal_adapters.setStringField(this, 2, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion);
jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.JsClientInfo.UserAgentClientHints.BrandAndVersion");
var jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion = {};
jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion.fields = [0, jspb_internal_binary.RWString, -1];
jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion.fields);
var jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.prototype.getUaListList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion, 1, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.prototype.setUaListList = function(value) {
  return jspb_internal_adapters.setRepeatedWrapperField(this, jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion, 1, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.prototype.getMobile = function() {
  return jspb_internal_adapters.getBooleanFieldWithDefault(this, 2);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.prototype.setMobile = function(value) {
  return jspb_internal_adapters.setBooleanField(this, 2, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.prototype.setPlatform = function(value) {
  return jspb_internal_adapters.setStringField(this, 3, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.prototype.setPlatformVersion = function(value) {
  return jspb_internal_adapters.setStringField(this, 4, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.prototype.setArchitecture = function(value) {
  return jspb_internal_adapters.setStringField(this, 5, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.prototype.setModel = function(value) {
  return jspb_internal_adapters.setStringField(this, 6, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.prototype.setUaFullVersion = function(value) {
  return jspb_internal_adapters.setStringField(this, 7, value);
};
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints);
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.JsClientInfo.UserAgentClientHints");
var jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints = {};
jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints.fields = [0, jspb_internal_binary.RWRepeatedMessage, jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion.fields, jspb_internal_binary.RWBool, jspb_internal_binary.RWString, -5];
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints.fields);
var jspb$wireless_android_play_playlog$MutableJsClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableJsClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableJsClientInfo.prototype.getLocale = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 5);
};
jspb$wireless_android_play_playlog$MutableJsClientInfo.prototype.setLocale = function(value) {
  return jspb_internal_adapters.setStringField(this, 5, value);
};
jspb$wireless_android_play_playlog$MutableJsClientInfo.prototype.setBuildLabel = function(value) {
  return jspb_internal_adapters.setStringField(this, 7, value);
};
jspb$wireless_android_play_playlog$MutableJsClientInfo.prototype.getClientHints = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints, 9);
};
jspb$wireless_android_play_playlog$MutableJsClientInfo.prototype.setClientHints = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints, 9, value);
};
jspb$wireless_android_play_playlog$MutableJsClientInfo.prototype.getFlushInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo, 10);
};
jspb$wireless_android_play_playlog$MutableJsClientInfo.prototype.getMutableFlushInfo = function() {
  return jspb_internal_adapters.getMutableWrapperField(this, jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo, 10);
};
jspb$wireless_android_play_playlog$MutableJsClientInfo.prototype.setFlushInfo = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo, 10, value);
};
jspb$wireless_android_play_playlog$MutableJsClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableJsClientInfo);
jspb$wireless_android_play_playlog$MutableJsClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableJsClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableJsClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.JsClientInfo");
var jspb$b$wireless_android_play_playlog$JsClientInfo = {};
jspb$b$wireless_android_play_playlog$JsClientInfo.fields = [0, jspb_internal_binary.RWString, -1, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString, -1, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString, -1, jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints.fields, jspb$b$wireless_android_play_playlog$JsClientInfo$FlushInfo.fields];
jspb$wireless_android_play_playlog$MutableJsClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$JsClientInfo.fields);
var jspb$wireless_android_play_playlog$ImmutableJsClientInfo = function() {
};
jspb$wireless_android_play_playlog$ImmutableJsClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableJsClientInfo);
jspb$wireless_android_play_playlog$ImmutableJsClientInfo.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$wireless_android_play_playlog$MutableJsClientInfo);
jspb$wireless_android_play_playlog$ImmutableJsClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$wireless_android_play_playlog$MutableJsClientInfo);
var jspb$o$wireless_android_play_playlog$JsClientInfo$FlushInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {transmissionType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1)), isFinal:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 2)), retryCount:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 3)), persistedLogRecoveredCount:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 
    4)), persistedLogExpiredCount:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 5))};
  }
}};
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$JsClientInfo$FlushInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$JsClientInfo$FlushInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo();
  jspb_internal_adapters.setEnumField(msg, 1, obj.transmissionType);
  jspb_internal_adapters.setBooleanField(msg, 2, obj.isFinal);
  jspb_internal_adapters.setInt32Field(msg, 3, obj.retryCount);
  jspb_internal_adapters.setInt32Field(msg, 4, obj.persistedLogRecoveredCount);
  jspb_internal_adapters.setInt32Field(msg, 5, obj.persistedLogExpiredCount);
  return msg;
};
var jspb$o$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {brand:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), version:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2))};
  }
}};
jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion();
  jspb_internal_adapters.setStringField(msg, 1, obj.brand);
  jspb_internal_adapters.setStringField(msg, 2, obj.version);
  return msg;
};
var jspb$o$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {uaListList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getUaListList(), jspb$o$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion.internal_toObject), mobile:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 2)), platform:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    3)), platformVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 4)), architecture:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5)), model:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 6)), uaFullVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    7)), bitness:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 8))};
  }
}};
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints();
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion, 1, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.uaListList, jspb$o$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion.fromObject));
  jspb_internal_adapters.setBooleanField(msg, 2, obj.mobile);
  jspb_internal_adapters.setStringField(msg, 3, obj.platform);
  jspb_internal_adapters.setStringField(msg, 4, obj.platformVersion);
  jspb_internal_adapters.setStringField(msg, 5, obj.architecture);
  jspb_internal_adapters.setStringField(msg, 6, obj.model);
  jspb_internal_adapters.setStringField(msg, 7, obj.uaFullVersion);
  jspb_internal_adapters.setStringField(msg, 8, obj.bitness);
  return msg;
};
var jspb$o$wireless_android_play_playlog$JsClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {os:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), osVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), deviceType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 3)), country:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4)), locale:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5)), osType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 6)), buildLabel:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7)), continent:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    8)), clientHints:jspb$o$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints.internal_toObject(msg.getClientHints()), flushInfo:jspb$o$wireless_android_play_playlog$JsClientInfo$FlushInfo.internal_toObject(msg.getFlushInfo())};
  }
}};
jspb$wireless_android_play_playlog$MutableJsClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$JsClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$JsClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableJsClientInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.os);
  jspb_internal_adapters.setStringField(msg, 2, obj.osVersion);
  jspb_internal_adapters.setEnumField(msg, 3, obj.deviceType);
  jspb_internal_adapters.setStringField(msg, 4, obj.country);
  jspb_internal_adapters.setStringField(msg, 5, obj.locale);
  jspb_internal_adapters.setEnumField(msg, 6, obj.osType);
  jspb_internal_adapters.setStringField(msg, 7, obj.buildLabel);
  jspb_internal_adapters.setStringField(msg, 8, obj.continent);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints, 9, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.clientHints, jspb$o$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo, 10, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.flushInfo, jspb$o$wireless_android_play_playlog$JsClientInfo$FlushInfo.fromObject));
  return msg;
};
proto.wireless_android_play_playlog.ReadonlyJsClientInfo = {};
proto.wireless_android_play_playlog.JsClientInfo = jspb$wireless_android_play_playlog$MutableJsClientInfo;
jspb$wireless_android_play_playlog$MutableJsClientInfo.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$wireless_android_play_playlog$MutableJsClientInfo, jspb$b$wireless_android_play_playlog$JsClientInfo.fields);
jspb$wireless_android_play_playlog$MutableJsClientInfo.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$JsClientInfo.fields);
jspb$wireless_android_play_playlog$MutableJsClientInfo.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$wireless_android_play_playlog$JsClientInfo.fields);
jspb$wireless_android_play_playlog$MutableJsClientInfo.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$wireless_android_play_playlog$MutableJsClientInfo, jspb$b$wireless_android_play_playlog$JsClientInfo.fields);
jspb$wireless_android_play_playlog$MutableJsClientInfo.fromObject = jspb$o$wireless_android_play_playlog$JsClientInfo.fromObject;
proto.wireless_android_play_playlog.MutableJsClientInfo = jspb$wireless_android_play_playlog$MutableJsClientInfo;
jspb$wireless_android_play_playlog$ImmutableJsClientInfo.serializeBinary = jspb$wireless_android_play_playlog$MutableJsClientInfo.serializeBinary;
jspb$wireless_android_play_playlog$ImmutableJsClientInfo.serializeBinaryToByteString = jspb$wireless_android_play_playlog$MutableJsClientInfo.serializeBinaryToByteString;
jspb$wireless_android_play_playlog$ImmutableJsClientInfo.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$wireless_android_play_playlog$MutableJsClientInfo.deserializeBinary);
jspb$wireless_android_play_playlog$ImmutableJsClientInfo.makeCrossSerializerComparisonsCompatible = jspb$wireless_android_play_playlog$MutableJsClientInfo.makeCrossSerializerComparisonsCompatible;
proto.wireless_android_play_playlog.ImmutableJsClientInfo = jspb$wireless_android_play_playlog$ImmutableJsClientInfo;
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo, jspb$b$wireless_android_play_playlog$JsClientInfo$FlushInfo.fields);
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$JsClientInfo$FlushInfo.fields);
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$wireless_android_play_playlog$JsClientInfo$FlushInfo.fields);
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo, jspb$b$wireless_android_play_playlog$JsClientInfo$FlushInfo.fields);
jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo.fromObject = jspb$o$wireless_android_play_playlog$JsClientInfo$FlushInfo.fromObject;
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints, jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints.fields);
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints.fields);
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints.fields);
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints, jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints.fields);
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.fromObject = jspb$o$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints.fromObject;
jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.BrandAndVersion = jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion;
jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion, jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion.fields);
jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion.fields);
jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion.fields);
jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion, jspb$b$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion.fields);
jspb$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$MutableBrandAndVersion.fromObject = jspb$o$wireless_android_play_playlog$JsClientInfo$UserAgentClientHints$BrandAndVersion.fromObject;
var module$exports$google3$wireless$android$play$playlog$js$client_hints = {NavigatorUaBrandVersion:function() {
}, UaDataValues:function() {
}, NavigatorUaData:function() {
}, NavigatorWithPossibleUaData:function() {
}, highEntropyHintFields:["platform", "platformVersion", "architecture", "model", "uaFullVersion"], UachProvider:function() {
}}, module$contents$google3$wireless$android$play$playlog$js$client_hints_uachProtoBase = new jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints(), module$contents$google3$wireless$android$play$playlog$js$client_hints_uachPromise = null;
function module$contents$google3$wireless$android$play$playlog$js$client_hints_defaultUachProvider(win, hintsToCollect) {
  hintsToCollect = hintsToCollect === void 0 ? module$exports$google3$wireless$android$play$playlog$js$client_hints.highEntropyHintFields : hintsToCollect;
  if (!module$contents$google3$wireless$android$play$playlog$js$client_hints_uachPromise) {
    var $jscomp$optchain$tmpm2075906003$0, userAgentData = ($jscomp$optchain$tmpm2075906003$0 = win.navigator) == null ? void 0 : $jscomp$optchain$tmpm2075906003$0.userAgentData;
    if (!userAgentData || typeof userAgentData.getHighEntropyValues !== "function" || userAgentData.brands && typeof userAgentData.brands.map !== "function") {
      return Promise.reject(Error("UACH unavailable"));
    }
    var brands = (userAgentData.brands || []).map(function(bAndV) {
      return (new jspb$wireless_android_play_playlog$JsClientInfo$MutableUserAgentClientHints.BrandAndVersion()).setBrand(bAndV.brand).setVersion(bAndV.version);
    });
    module$contents$google3$wireless$android$play$playlog$js$client_hints_uachProtoBase.setMobile(userAgentData.mobile).setUaListList(brands);
    module$contents$google3$wireless$android$play$playlog$js$client_hints_uachPromise = userAgentData.getHighEntropyValues(hintsToCollect);
  }
  var hintsSet = new Set(hintsToCollect);
  return module$contents$google3$wireless$android$play$playlog$js$client_hints_uachPromise.then(function(uaDataValues) {
    var uachProto = module$contents$google3$wireless$android$play$playlog$js$client_hints_uachProtoBase.clone();
    hintsSet.has("platform") && uachProto.setPlatform(uaDataValues.platform);
    hintsSet.has("platformVersion") && uachProto.setPlatformVersion(uaDataValues.platformVersion);
    hintsSet.has("architecture") && uachProto.setArchitecture(uaDataValues.architecture);
    hintsSet.has("model") && uachProto.setModel(uaDataValues.model);
    hintsSet.has("uaFullVersion") && uachProto.setUaFullVersion(uaDataValues.uaFullVersion);
    return uachProto;
  }).catch(function() {
    return module$contents$google3$wireless$android$play$playlog$js$client_hints_uachProtoBase.clone();
  });
}
module$exports$google3$wireless$android$play$playlog$js$client_hints.defaultUachProvider = module$contents$google3$wireless$android$play$playlog$js$client_hints_defaultUachProvider;
module$exports$google3$wireless$android$play$playlog$js$client_hints.resetCachedUach = function() {
  module$contents$google3$wireless$android$play$playlog$js$client_hints_uachPromise = null;
};
var jspb$proto2$bridge$MutableMessageSet = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data, 1);
};
$jscomp.inherits(jspb$proto2$bridge$MutableMessageSet, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$proto2$bridge$MutableMessageSet.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$proto2$bridge$MutableMessageSet);
jspb$proto2$bridge$MutableMessageSet.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$proto2$bridge$MutableMessageSet);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$proto2$bridge$MutableMessageSet.internalDoNotUse_debugOnlyProtoTypeName = "proto2.bridge.MessageSet");
jspb$proto2$bridge$MutableMessageSet.internalDoNotUse$proto2$bridge$MessageSet$extensions = module$contents$jspb_internal_public_for_gencode_makeExtensionsObject(jspb$proto2$bridge$MutableMessageSet);
jspb$proto2$bridge$MutableMessageSet.internalDoNotUse$proto2$bridge$MessageSet$extensionsBinary = {};
jspb$e.wireless_android_play_playlog$ClientInfo$ClientType = {UNKNOWN:0, JS:1, DESKTOP:2, IOS:3, IOS_V2:10, ANDROID:4, PLAY_CE:5, PYTHON:6, VR:7, PANCETTA:8, DRIVE_FS:9, YETI:11, MAC:12, GOOGLE_HOME:13, BIRDSONG:14, IOS_FIREBASE:15, GO:16, FUCHSIA:17, SPARKLIGHT:18, CPLUSPLUS:19, KAIOS:20, MUSK:21, COMPUTE_IMAGE_TOOLS:22, ANDROID_FIREBASE:23, LOONIX:24, C9:25, BATTLESTAR:26, PORTABLE_PHENOTYPE_LIBRARY:27, WINDOWS:28, CLOUD_WORKSTATIONS_CONNECTOR:29, FITBIT_DARKHORSE:30, FITBIT_PYTHON:31, NEARBY:32, 
CHROMEOS_BUILD_PYTHON:33, DOVETAIL_LOGWRITER:34, NEARBY_CPP:35, CELLO:36, NESTCAM_PHOTON:37, DESKTOP_SERVICES:38, CHROME_ENTERPRISE_COMPANION:39, APPSHEET_CLIENT:40, STARGATE:41};
var jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableForcedExperimentInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableForcedExperimentInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableForcedExperimentInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableForcedExperimentInfo);
jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableForcedExperimentInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableForcedExperimentInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableForcedExperimentInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.BattlestarClientInfo.ForcedExperimentInfo");
var jspb$b$wireless_android_play_playlog$BattlestarClientInfo$ForcedExperimentInfo = {};
jspb$b$wireless_android_play_playlog$BattlestarClientInfo$ForcedExperimentInfo.fields = [0, jspb_internal_binary.RWRepeatedString];
jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableForcedExperimentInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$BattlestarClientInfo$ForcedExperimentInfo.fields);
var jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableGraphicsCapabilities = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableGraphicsCapabilities, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableGraphicsCapabilities.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableGraphicsCapabilities);
jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableGraphicsCapabilities.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableGraphicsCapabilities);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableGraphicsCapabilities.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.BattlestarClientInfo.GraphicsCapabilities");
var jspb$b$wireless_android_play_playlog$BattlestarClientInfo$GraphicsCapabilities = {};
jspb$b$wireless_android_play_playlog$BattlestarClientInfo$GraphicsCapabilities.fields = [0, jspb_internal_binary.RWBool];
jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableGraphicsCapabilities.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$BattlestarClientInfo$GraphicsCapabilities.fields);
var jspb$wireless_android_play_playlog$MutableBattlestarClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableBattlestarClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableBattlestarClientInfo.prototype.getGraphicsCapabilities = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableGraphicsCapabilities, 3);
};
jspb$wireless_android_play_playlog$MutableBattlestarClientInfo.prototype.getForcedExperimentInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableForcedExperimentInfo, 9);
};
jspb$wireless_android_play_playlog$MutableBattlestarClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableBattlestarClientInfo);
jspb$wireless_android_play_playlog$MutableBattlestarClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableBattlestarClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableBattlestarClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.BattlestarClientInfo");
var jspb$b$wireless_android_play_playlog$BattlestarClientInfo = {};
jspb$b$wireless_android_play_playlog$BattlestarClientInfo.fields = [0, jspb_internal_binary.RWString, jspb_internal_binary.RWEnum, jspb$b$wireless_android_play_playlog$BattlestarClientInfo$GraphicsCapabilities.fields, jspb_internal_binary.RWString, -1, jspb_internal_binary.RWEnum, -2, jspb$b$wireless_android_play_playlog$BattlestarClientInfo$ForcedExperimentInfo.fields];
jspb$wireless_android_play_playlog$MutableBattlestarClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$BattlestarClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableBirdsongClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableBirdsongClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableBirdsongClientInfo.prototype.getClientType = function() {
  return jspb_internal_adapters.getEnumFieldWithDefault(this, 1, 0);
};
jspb$wireless_android_play_playlog$MutableBirdsongClientInfo.prototype.setClientType = function(value) {
  return jspb_internal_adapters.setEnumField(this, 1, value);
};
jspb$wireless_android_play_playlog$MutableBirdsongClientInfo.prototype.setBuildLabel = function(value) {
  return jspb_internal_adapters.setStringField(this, 2, value);
};
jspb$wireless_android_play_playlog$MutableBirdsongClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableBirdsongClientInfo);
jspb$wireless_android_play_playlog$MutableBirdsongClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableBirdsongClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableBirdsongClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.BirdsongClientInfo");
var jspb$b$wireless_android_play_playlog$BirdsongClientInfo = {};
jspb$b$wireless_android_play_playlog$BirdsongClientInfo.fields = [0, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString, -1];
jspb$wireless_android_play_playlog$MutableBirdsongClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$BirdsongClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableBrowserInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableBrowserInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableBrowserInfo.prototype.getLocale = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 1);
};
jspb$wireless_android_play_playlog$MutableBrowserInfo.prototype.setLocale = function(value) {
  return jspb_internal_adapters.setStringField(this, 1, value);
};
jspb$wireless_android_play_playlog$MutableBrowserInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableBrowserInfo);
jspb$wireless_android_play_playlog$MutableBrowserInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableBrowserInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableBrowserInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.BrowserInfo");
var jspb$b$wireless_android_play_playlog$BrowserInfo = {};
jspb$b$wireless_android_play_playlog$BrowserInfo.fields = [0, jspb_internal_binary.RWString, -3];
jspb$wireless_android_play_playlog$MutableBrowserInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$BrowserInfo.fields);
var jspb$wireless_android_play_playlog$MutableDesktopClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableDesktopClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableDesktopClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableDesktopClientInfo);
jspb$wireless_android_play_playlog$MutableDesktopClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableDesktopClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableDesktopClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.DesktopClientInfo");
var jspb$b$wireless_android_play_playlog$DesktopClientInfo = {};
jspb$b$wireless_android_play_playlog$DesktopClientInfo.fields = [0, jspb_internal_binary.RWString, -6, jspb_internal_binary.RWInt64, jspb_internal_binary.RWInt32];
jspb$wireless_android_play_playlog$MutableDesktopClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$DesktopClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo.prototype.getClientType = function() {
  return jspb_internal_adapters.getEnumFieldWithDefault(this, 1, 0);
};
jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo.prototype.setClientType = function(value) {
  return jspb_internal_adapters.setEnumField(this, 1, value);
};
jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo);
jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.DesktopServicesClientInfo");
var jspb$b$wireless_android_play_playlog$DesktopServicesClientInfo = {};
jspb$b$wireless_android_play_playlog$DesktopServicesClientInfo.fields = [0, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString, -2];
jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$DesktopServicesClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo);
jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.DriveDesktopClientInfo");
var jspb$b$wireless_android_play_playlog$DriveDesktopClientInfo = {};
jspb$b$wireless_android_play_playlog$DriveDesktopClientInfo.fields = [0, jspb_internal_binary.RWString, jspb_internal_binary.RWEnum];
jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$DriveDesktopClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo);
jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.G1DesktopClientInfo");
var jspb$b$wireless_android_play_playlog$G1DesktopClientInfo = {};
jspb$b$wireless_android_play_playlog$G1DesktopClientInfo.fields = [0, jspb_internal_binary.RWString, jspb_internal_binary.RWEnum];
jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$G1DesktopClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo.prototype.getLocale = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 11);
};
jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo.prototype.setLocale = function(value) {
  return jspb_internal_adapters.setStringField(this, 11, value);
};
jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo);
jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.GoogleHomeClientInfo");
var jspb$b$wireless_android_play_playlog$GoogleHomeClientInfo = {};
jspb$b$wireless_android_play_playlog$GoogleHomeClientInfo.fields = [0, jspb_internal_binary.RWString, -6, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString, 1, jspb_internal_binary.RWString, jspb_internal_binary.RWBool, jspb_internal_binary.RWEnum, -1, jspb_internal_binary.RWBool, jspb_internal_binary.RWString, -2, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString, jspb_internal_binary.RWEnum];
jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$GoogleHomeClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableKaiosClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableKaiosClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableKaiosClientInfo.prototype.getLocale = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 5);
};
jspb$wireless_android_play_playlog$MutableKaiosClientInfo.prototype.setLocale = function(value) {
  return jspb_internal_adapters.setStringField(this, 5, value);
};
jspb$wireless_android_play_playlog$MutableKaiosClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableKaiosClientInfo);
jspb$wireless_android_play_playlog$MutableKaiosClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableKaiosClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableKaiosClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.KaiosClientInfo");
var jspb$b$wireless_android_play_playlog$KaiosClientInfo = {};
jspb$b$wireless_android_play_playlog$KaiosClientInfo.fields = [0, jspb_internal_binary.RWString, -4];
jspb$wireless_android_play_playlog$MutableKaiosClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$KaiosClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableMacClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableMacClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableMacClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableMacClientInfo);
jspb$wireless_android_play_playlog$MutableMacClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableMacClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableMacClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.MacClientInfo");
var jspb$b$wireless_android_play_playlog$MacClientInfo = {};
jspb$b$wireless_android_play_playlog$MacClientInfo.fields = [0, jspb_internal_binary.RWString, -3, jspb_internal_binary.RWInt64, jspb_internal_binary.RWInt32, jspb_internal_binary.RWString];
jspb$wireless_android_play_playlog$MutableMacClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$MacClientInfo.fields);
var jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo);
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.NearbyDesktopClientInfo.NearbyDesktopBluetoothInfo");
var jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopBluetoothInfo = {};
jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopBluetoothInfo.fields = [0, jspb_internal_binary.RWBool, -3];
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopBluetoothInfo.fields);
var jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo.prototype.getBluetoothInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo, 12);
};
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo);
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.NearbyDesktopClientInfo.MacOSDeviceInfo");
var jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$MacOSDeviceInfo = {};
jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$MacOSDeviceInfo.fields = [0, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString, -1, jspb_internal_binary.RWInt64, jspb_internal_binary.RWInt32, -1, jspb_internal_binary.RWString, -4, jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopBluetoothInfo.fields];
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$MacOSDeviceInfo.fields);
var jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo);
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.NearbyDesktopClientInfo.NearbyDesktopDriverInfo");
var jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopDriverInfo = {};
jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopDriverInfo.fields = [0, jspb_internal_binary.RWString, -4];
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopDriverInfo.fields);
var jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo.prototype.getBluetoothDriverInfosList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo, 12, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo.prototype.getNetworkDriverInfosList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo, 13, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo.prototype.getBluetoothInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo, 15);
};
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo);
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.NearbyDesktopClientInfo.WindowsDeviceInfo");
var jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$WindowsDeviceInfo = {};
jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$WindowsDeviceInfo.fields = [0, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString, -1, jspb_internal_binary.RWInt64, jspb_internal_binary.RWInt32, -1, jspb_internal_binary.RWString, -4, jspb_internal_binary.RWRepeatedMessage, jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopDriverInfo.fields, -1, 1, jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopBluetoothInfo.fields];
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$WindowsDeviceInfo.fields);
var jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo.prototype.getWindowsDeviceInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo, 1);
};
jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo.prototype.getMacOsDeviceInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo, 2);
};
jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo);
jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.NearbyDesktopClientInfo");
var jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo = {};
jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo.fields = [0, jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$WindowsDeviceInfo.fields, jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo$MacOSDeviceInfo.fields];
jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableNestcamPhotonClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableNestcamPhotonClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableNestcamPhotonClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableNestcamPhotonClientInfo);
jspb$wireless_android_play_playlog$MutableNestcamPhotonClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableNestcamPhotonClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableNestcamPhotonClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.NestcamPhotonClientInfo");
var jspb$b$wireless_android_play_playlog$NestcamPhotonClientInfo = {};
jspb$b$wireless_android_play_playlog$NestcamPhotonClientInfo.fields = [0, jspb_internal_binary.RWString, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString];
jspb$wireless_android_play_playlog$MutableNestcamPhotonClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$NestcamPhotonClientInfo.fields);
var jspb$wireless_android_play_playlog$MutablePancettaClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutablePancettaClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutablePancettaClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutablePancettaClientInfo);
jspb$wireless_android_play_playlog$MutablePancettaClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutablePancettaClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutablePancettaClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.PancettaClientInfo");
var jspb$b$wireless_android_play_playlog$PancettaClientInfo = {};
jspb$b$wireless_android_play_playlog$PancettaClientInfo.fields = [0, jspb_internal_binary.RWString, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString, -2];
jspb$wireless_android_play_playlog$MutablePancettaClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$PancettaClientInfo.fields);
var jspb$wireless_android_play_playlog$MutablePlayCeClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutablePlayCeClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutablePlayCeClientInfo.prototype.setModel = function(value) {
  return jspb_internal_adapters.setStringField(this, 4, value);
};
jspb$wireless_android_play_playlog$MutablePlayCeClientInfo.prototype.setPlatformVersion = function(value) {
  return jspb_internal_adapters.setStringField(this, 6, value);
};
jspb$wireless_android_play_playlog$MutablePlayCeClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutablePlayCeClientInfo);
jspb$wireless_android_play_playlog$MutablePlayCeClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutablePlayCeClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutablePlayCeClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.PlayCeClientInfo");
var jspb$b$wireless_android_play_playlog$PlayCeClientInfo = {};
jspb$b$wireless_android_play_playlog$PlayCeClientInfo.fields = [0, jspb_internal_binary.RWString, 1, jspb_internal_binary.RWString, -5];
jspb$wireless_android_play_playlog$MutablePlayCeClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$PlayCeClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableNearbyClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableNearbyClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableNearbyClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableNearbyClientInfo);
jspb$wireless_android_play_playlog$MutableNearbyClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableNearbyClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableNearbyClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.NearbyClientInfo");
var jspb$b$wireless_android_play_playlog$NearbyClientInfo = {};
jspb$b$wireless_android_play_playlog$NearbyClientInfo.fields = [0, jspb_internal_binary.RWEnum];
jspb$wireless_android_play_playlog$MutableNearbyClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$NearbyClientInfo.fields);
var jspb$wireless_android_play_playlog$WindowsClientInfo$MutableBluetoothInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$WindowsClientInfo$MutableBluetoothInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$WindowsClientInfo$MutableBluetoothInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$WindowsClientInfo$MutableBluetoothInfo);
jspb$wireless_android_play_playlog$WindowsClientInfo$MutableBluetoothInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$WindowsClientInfo$MutableBluetoothInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$WindowsClientInfo$MutableBluetoothInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.WindowsClientInfo.BluetoothInfo");
var jspb$b$wireless_android_play_playlog$WindowsClientInfo$BluetoothInfo = {};
jspb$b$wireless_android_play_playlog$WindowsClientInfo$BluetoothInfo.fields = [0, jspb_internal_binary.RWBool, -3];
jspb$wireless_android_play_playlog$WindowsClientInfo$MutableBluetoothInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$WindowsClientInfo$BluetoothInfo.fields);
var jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo);
jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.WindowsClientInfo.DriverInfo");
var jspb$b$wireless_android_play_playlog$WindowsClientInfo$DriverInfo = {};
jspb$b$wireless_android_play_playlog$WindowsClientInfo$DriverInfo.fields = [0, jspb_internal_binary.RWString, -4];
jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$WindowsClientInfo$DriverInfo.fields);
var jspb$wireless_android_play_playlog$MutableWindowsClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableWindowsClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableWindowsClientInfo.prototype.getBluetoothDriverInfosList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo, 13, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$wireless_android_play_playlog$MutableWindowsClientInfo.prototype.getNetworkDriverInfosList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo, 14, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$wireless_android_play_playlog$MutableWindowsClientInfo.prototype.getBluetoothInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$WindowsClientInfo$MutableBluetoothInfo, 16);
};
jspb$wireless_android_play_playlog$MutableWindowsClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableWindowsClientInfo);
jspb$wireless_android_play_playlog$MutableWindowsClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableWindowsClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableWindowsClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.WindowsClientInfo");
var jspb$b$wireless_android_play_playlog$WindowsClientInfo = {};
jspb$b$wireless_android_play_playlog$WindowsClientInfo.fields = [0, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString, -1, jspb_internal_binary.RWInt64, jspb_internal_binary.RWInt32, -1, jspb_internal_binary.RWString, -5, jspb_internal_binary.RWRepeatedMessage, jspb$b$wireless_android_play_playlog$WindowsClientInfo$DriverInfo.fields, -1, jspb_internal_binary.RWBool, jspb$b$wireless_android_play_playlog$WindowsClientInfo$BluetoothInfo.fields, jspb_internal_binary.RWEnum];
jspb$wireless_android_play_playlog$MutableWindowsClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$WindowsClientInfo.fields);
var jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.prototype.getBattlestarClientInfo = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableBattlestarClientInfo, 1, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_);
};
jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.prototype.getDriveDesktopClientInfo = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo, 2, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_);
};
jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.prototype.getG1DesktopClientInfo = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo, 3, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_);
};
jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.prototype.getNearbyClientInfo = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableNearbyClientInfo, 4, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_);
};
jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.prototype.getWindowsClientInfo = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableWindowsClientInfo, 5, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_);
};
jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.prototype.getDesktopServicesClientInfo = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo, 6, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_);
};
jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo);
jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.PortablePhenotypeLibraryClientInfo");
jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_ = [1, 2, 3, 4, 5, 6];
var jspb$b$wireless_android_play_playlog$PortablePhenotypeLibraryClientInfo = {};
jspb$b$wireless_android_play_playlog$PortablePhenotypeLibraryClientInfo.fields = [0, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_, jspb_internal_binary.RMessageOneofWMessage, jspb$b$wireless_android_play_playlog$BattlestarClientInfo.fields, jspb_internal_binary.RMessageOneofWMessage, jspb$b$wireless_android_play_playlog$DriveDesktopClientInfo.fields, jspb_internal_binary.RMessageOneofWMessage, jspb$b$wireless_android_play_playlog$G1DesktopClientInfo.fields, 
jspb_internal_binary.RMessageOneofWMessage, jspb$b$wireless_android_play_playlog$NearbyClientInfo.fields, jspb_internal_binary.RMessageOneofWMessage, jspb$b$wireless_android_play_playlog$WindowsClientInfo.fields, jspb_internal_binary.RMessageOneofWMessage, jspb$b$wireless_android_play_playlog$DesktopServicesClientInfo.fields];
jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$PortablePhenotypeLibraryClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableSparklightClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableSparklightClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableSparklightClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableSparklightClientInfo);
jspb$wireless_android_play_playlog$MutableSparklightClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableSparklightClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableSparklightClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.SparklightClientInfo");
var jspb$b$wireless_android_play_playlog$SparklightClientInfo = {};
jspb$b$wireless_android_play_playlog$SparklightClientInfo.fields = [0, jspb_internal_binary.RWEnum];
jspb$wireless_android_play_playlog$MutableSparklightClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$SparklightClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableVrClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableVrClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableVrClientInfo.prototype.getSdkVersion = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 2);
};
jspb$wireless_android_play_playlog$MutableVrClientInfo.prototype.setModel = function(value) {
  return jspb_internal_adapters.setStringField(this, 6, value);
};
jspb$wireless_android_play_playlog$MutableVrClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableVrClientInfo);
jspb$wireless_android_play_playlog$MutableVrClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableVrClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableVrClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.VrClientInfo");
var jspb$b$wireless_android_play_playlog$VrClientInfo = {};
jspb$b$wireless_android_play_playlog$VrClientInfo.fields = [0, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString, -8];
jspb$wireless_android_play_playlog$MutableVrClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$VrClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableYetiClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableYetiClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableYetiClientInfo.prototype.setBuildLabel = function(value) {
  return jspb_internal_adapters.setStringField(this, 1, value);
};
jspb$wireless_android_play_playlog$MutableYetiClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableYetiClientInfo);
jspb$wireless_android_play_playlog$MutableYetiClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableYetiClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableYetiClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.YetiClientInfo");
var jspb$b$wireless_android_play_playlog$YetiClientInfo = {};
jspb$b$wireless_android_play_playlog$YetiClientInfo.fields = [0, jspb_internal_binary.RWString, -9];
jspb$wireless_android_play_playlog$MutableYetiClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$YetiClientInfo.fields);
var jspb$wireless_android_play_playlog$MutableClientInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableClientInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getClientType = function() {
  return jspb_internal_adapters.getEnumFieldWithDefault(this, 1, 0);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.setClientType = function(value) {
  return jspb_internal_adapters.setEnumField(this, 1, value);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getBattlestarClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableBattlestarClientInfo, 22);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getBirdsongClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableBirdsongClientInfo, 14);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getDesktopClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableDesktopClientInfo, 3);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getDesktopServicesClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo, 28);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getDriveDesktopClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo, 24);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getG1DesktopClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo, 25);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getGoogleHomeClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo, 16);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getJsClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableJsClientInfo, 11);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getMutableJsClientInfo = function() {
  return jspb_internal_adapters.getMutableWrapperField(this, jspb$wireless_android_play_playlog$MutableJsClientInfo, 11);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.setJsClientInfo = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$wireless_android_play_playlog$MutableJsClientInfo, 11, value);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.hasJsClientInfo = function() {
  return jspb_internal_adapters.hasWrapperField(this, jspb$wireless_android_play_playlog$MutableJsClientInfo, 11);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getKaiosClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableKaiosClientInfo, 20);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getMacClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableMacClientInfo, 13);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getNearbyDesktopClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo, 27);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getNestcamPhotonClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableNestcamPhotonClientInfo, 34);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getPancettaClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutablePancettaClientInfo, 10);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getPlayCeClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutablePlayCeClientInfo, 5);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getPortablePhenotypeLibraryClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo, 23);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getSparklightClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableSparklightClientInfo, 18);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getVrClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableVrClientInfo, 8);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getWindowsClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableWindowsClientInfo, 26);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getYetiClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableYetiClientInfo, 15);
};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.getBrowserInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableBrowserInfo, 9);
};
jspb$wireless_android_play_playlog$MutableClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableClientInfo);
jspb$wireless_android_play_playlog$MutableClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableClientInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableClientInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.ClientInfo");
var jspb$b$wireless_android_play_playlog$ClientInfo = {};
jspb$b$wireless_android_play_playlog$ClientInfo.fields = [0, jspb_internal_binary.RWEnum, 1, jspb$b$wireless_android_play_playlog$DesktopClientInfo.fields, 1, jspb$b$wireless_android_play_playlog$PlayCeClientInfo.fields, jspb_internal_binary.RWString, -1, jspb$b$wireless_android_play_playlog$VrClientInfo.fields, jspb$b$wireless_android_play_playlog$BrowserInfo.fields, jspb$b$wireless_android_play_playlog$PancettaClientInfo.fields, jspb$b$wireless_android_play_playlog$JsClientInfo.fields, jspb_internal_binary.RWInt64, 
jspb$b$wireless_android_play_playlog$MacClientInfo.fields, jspb$b$wireless_android_play_playlog$BirdsongClientInfo.fields, jspb$b$wireless_android_play_playlog$YetiClientInfo.fields, jspb$b$wireless_android_play_playlog$GoogleHomeClientInfo.fields, 1, jspb$b$wireless_android_play_playlog$SparklightClientInfo.fields, 1, jspb$b$wireless_android_play_playlog$KaiosClientInfo.fields, 1, jspb$b$wireless_android_play_playlog$BattlestarClientInfo.fields, jspb$b$wireless_android_play_playlog$PortablePhenotypeLibraryClientInfo.fields, 
jspb$b$wireless_android_play_playlog$DriveDesktopClientInfo.fields, jspb$b$wireless_android_play_playlog$G1DesktopClientInfo.fields, jspb$b$wireless_android_play_playlog$WindowsClientInfo.fields, jspb$b$wireless_android_play_playlog$NearbyDesktopClientInfo.fields, jspb$b$wireless_android_play_playlog$DesktopServicesClientInfo.fields, 5, jspb$b$wireless_android_play_playlog$NestcamPhotonClientInfo.fields];
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$ClientInfo.fields);
var jspb$wireless_android_play_playlog$ImmutableClientInfo = function() {
};
jspb$wireless_android_play_playlog$ImmutableClientInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableClientInfo);
jspb$wireless_android_play_playlog$ImmutableClientInfo.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$wireless_android_play_playlog$MutableClientInfo);
jspb$wireless_android_play_playlog$ImmutableClientInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$wireless_android_play_playlog$MutableClientInfo);
var jspb$o$wireless_android_play_playlog$BattlestarClientInfo$ForcedExperimentInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {forcedExperimentTagsList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedStringField(msg, 1, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN))};
  }
}};
jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableForcedExperimentInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$BattlestarClientInfo$ForcedExperimentInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$BattlestarClientInfo$ForcedExperimentInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableForcedExperimentInfo();
  jspb_internal_adapters.setRepeatedStringField(msg, 1, obj.forcedExperimentTagsList);
  return msg;
};
var jspb$o$wireless_android_play_playlog$BattlestarClientInfo$GraphicsCapabilities = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {guestAngle:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 1))};
  }
}};
jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableGraphicsCapabilities.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$BattlestarClientInfo$GraphicsCapabilities.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$BattlestarClientInfo$GraphicsCapabilities.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableGraphicsCapabilities();
  jspb_internal_adapters.setBooleanField(msg, 1, obj.guestAngle);
  return msg;
};
var jspb$o$wireless_android_play_playlog$BattlestarClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {buildVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), buildType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 4)), omahaChannel:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5)), battlestarClientType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 
    2)), graphicsCapabilities:jspb$o$wireless_android_play_playlog$BattlestarClientInfo$GraphicsCapabilities.internal_toObject(msg.getGraphicsCapabilities()), battlestarMachineTier:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 6)), hypervisorType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 7)), cpuManufacturer:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 
    8)), forcedExperimentInfo:jspb$o$wireless_android_play_playlog$BattlestarClientInfo$ForcedExperimentInfo.internal_toObject(msg.getForcedExperimentInfo())};
  }
}};
jspb$wireless_android_play_playlog$MutableBattlestarClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$BattlestarClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$BattlestarClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableBattlestarClientInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.buildVersion);
  jspb_internal_adapters.setStringField(msg, 4, obj.buildType);
  jspb_internal_adapters.setStringField(msg, 5, obj.omahaChannel);
  jspb_internal_adapters.setEnumField(msg, 2, obj.battlestarClientType);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableGraphicsCapabilities, 3, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.graphicsCapabilities, jspb$o$wireless_android_play_playlog$BattlestarClientInfo$GraphicsCapabilities.fromObject));
  jspb_internal_adapters.setEnumField(msg, 6, obj.battlestarMachineTier);
  jspb_internal_adapters.setEnumField(msg, 7, obj.hypervisorType);
  jspb_internal_adapters.setEnumField(msg, 8, obj.cpuManufacturer);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$BattlestarClientInfo$MutableForcedExperimentInfo, 9, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.forcedExperimentInfo, jspb$o$wireless_android_play_playlog$BattlestarClientInfo$ForcedExperimentInfo.fromObject));
  return msg;
};
var jspb$o$wireless_android_play_playlog$BirdsongClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {clientType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1)), buildLabel:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), birdsongBuildLabel:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3))};
  }
}};
jspb$wireless_android_play_playlog$MutableBirdsongClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$BirdsongClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$BirdsongClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableBirdsongClientInfo();
  jspb_internal_adapters.setEnumField(msg, 1, obj.clientType);
  jspb_internal_adapters.setStringField(msg, 2, obj.buildLabel);
  jspb_internal_adapters.setStringField(msg, 3, obj.birdsongBuildLabel);
  return msg;
};
var jspb$o$wireless_android_play_playlog$BrowserInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {locale:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), browser:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), browserVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), flashVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4))};
  }
}};
jspb$wireless_android_play_playlog$MutableBrowserInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$BrowserInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$BrowserInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableBrowserInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.locale);
  jspb_internal_adapters.setStringField(msg, 2, obj.browser);
  jspb_internal_adapters.setStringField(msg, 3, obj.browserVersion);
  jspb_internal_adapters.setStringField(msg, 4, obj.flashVersion);
  return msg;
};
var jspb$o$wireless_android_play_playlog$DesktopClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {clientId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), loggingId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), os:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), osMajorVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4)), osFullVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5)), applicationBuild:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 6)), country:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7)), applicationBuildCl:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 
    8)), clearcutVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 9))};
  }
}};
jspb$wireless_android_play_playlog$MutableDesktopClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$DesktopClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$DesktopClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableDesktopClientInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.clientId);
  jspb_internal_adapters.setStringField(msg, 2, obj.loggingId);
  jspb_internal_adapters.setStringField(msg, 3, obj.os);
  jspb_internal_adapters.setStringField(msg, 4, obj.osMajorVersion);
  jspb_internal_adapters.setStringField(msg, 5, obj.osFullVersion);
  jspb_internal_adapters.setStringField(msg, 6, obj.applicationBuild);
  jspb_internal_adapters.setStringField(msg, 7, obj.country);
  jspb_internal_adapters.setInt64Field(msg, 8, obj.applicationBuildCl);
  jspb_internal_adapters.setInt32Field(msg, 9, obj.clearcutVersion);
  return msg;
};
var jspb$o$wireless_android_play_playlog$DesktopServicesClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {clientType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1)), buildVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), buildType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), omahaChannel:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4))};
  }
}};
jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$DesktopServicesClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$DesktopServicesClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo();
  jspb_internal_adapters.setEnumField(msg, 1, obj.clientType);
  jspb_internal_adapters.setStringField(msg, 2, obj.buildVersion);
  jspb_internal_adapters.setStringField(msg, 3, obj.buildType);
  jspb_internal_adapters.setStringField(msg, 4, obj.omahaChannel);
  return msg;
};
var jspb$o$wireless_android_play_playlog$DriveDesktopClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {buildVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), driveDesktopClientType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 2))};
  }
}};
jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$DriveDesktopClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$DriveDesktopClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.buildVersion);
  jspb_internal_adapters.setEnumField(msg, 2, obj.driveDesktopClientType);
  return msg;
};
var jspb$o$wireless_android_play_playlog$G1DesktopClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {buildVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), g1DesktopClientType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 2))};
  }
}};
jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$G1DesktopClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$G1DesktopClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.buildVersion);
  jspb_internal_adapters.setEnumField(msg, 2, obj.g1DesktopClientType);
  return msg;
};
var jspb$o$wireless_android_play_playlog$GoogleHomeClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {deviceId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 9)), deviceModel:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), appVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), acpVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    16)), opalVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 18)), virtualReleaseChannel:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 17)), manufacturer:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), productName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4)), factoryCountry:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5)), buildType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 6)), systemBuild:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7)), backendType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 
    8)), locale:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 11)), onDeviceAssistantEnabled:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 12)), surfaceType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 13)), osType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 
    14)), optedInMetricsLogging:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 15)), ontologicalSurfaceType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 19)), deviceProductName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 20)), osTypeReplicated:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 
    21))};
  }
}};
jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$GoogleHomeClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$GoogleHomeClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo();
  jspb_internal_adapters.setStringField(msg, 9, obj.deviceId);
  jspb_internal_adapters.setStringField(msg, 1, obj.deviceModel);
  jspb_internal_adapters.setStringField(msg, 2, obj.appVersion);
  jspb_internal_adapters.setStringField(msg, 16, obj.acpVersion);
  jspb_internal_adapters.setStringField(msg, 18, obj.opalVersion);
  jspb_internal_adapters.setStringField(msg, 17, obj.virtualReleaseChannel);
  jspb_internal_adapters.setStringField(msg, 3, obj.manufacturer);
  jspb_internal_adapters.setStringField(msg, 4, obj.productName);
  jspb_internal_adapters.setStringField(msg, 5, obj.factoryCountry);
  jspb_internal_adapters.setStringField(msg, 6, obj.buildType);
  jspb_internal_adapters.setStringField(msg, 7, obj.systemBuild);
  jspb_internal_adapters.setEnumField(msg, 8, obj.backendType);
  jspb_internal_adapters.setStringField(msg, 11, obj.locale);
  jspb_internal_adapters.setBooleanField(msg, 12, obj.onDeviceAssistantEnabled);
  jspb_internal_adapters.setEnumField(msg, 13, obj.surfaceType);
  jspb_internal_adapters.setEnumField(msg, 14, obj.osType);
  jspb_internal_adapters.setBooleanField(msg, 15, obj.optedInMetricsLogging);
  jspb_internal_adapters.setEnumField(msg, 19, obj.ontologicalSurfaceType);
  jspb_internal_adapters.setStringField(msg, 20, obj.deviceProductName);
  jspb_internal_adapters.setEnumField(msg, 21, obj.osTypeReplicated);
  return msg;
};
var jspb$o$wireless_android_play_playlog$KaiosClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {appVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), coreAppVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), deviceModel:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), mccMnc:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4)), locale:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5))};
  }
}};
jspb$wireless_android_play_playlog$MutableKaiosClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$KaiosClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$KaiosClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableKaiosClientInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.appVersion);
  jspb_internal_adapters.setStringField(msg, 3, obj.coreAppVersion);
  jspb_internal_adapters.setStringField(msg, 2, obj.deviceModel);
  jspb_internal_adapters.setStringField(msg, 4, obj.mccMnc);
  jspb_internal_adapters.setStringField(msg, 5, obj.locale);
  return msg;
};
var jspb$o$wireless_android_play_playlog$MacClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {osMajorVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), osFullVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), applicationBuild:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), country:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4)), applicationBuildCl:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 5)), clearcutVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 6)), applicationBundleId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7))};
  }
}};
jspb$wireless_android_play_playlog$MutableMacClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$MacClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$MacClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableMacClientInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.osMajorVersion);
  jspb_internal_adapters.setStringField(msg, 2, obj.osFullVersion);
  jspb_internal_adapters.setStringField(msg, 3, obj.applicationBuild);
  jspb_internal_adapters.setStringField(msg, 4, obj.country);
  jspb_internal_adapters.setInt64Field(msg, 5, obj.applicationBuildCl);
  jspb_internal_adapters.setInt32Field(msg, 6, obj.clearcutVersion);
  jspb_internal_adapters.setStringField(msg, 7, obj.applicationBundleId);
  return msg;
};
var jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopBluetoothInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {isExtendedAdvertisingSupported:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 1)), isPeripheralRoleSupported:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 2)), isLowEnergySupported:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 
    3)), isAdvertisementOffloadSupported:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 4))};
  }
}};
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopBluetoothInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopBluetoothInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo();
  jspb_internal_adapters.setBooleanField(msg, 1, obj.isExtendedAdvertisingSupported);
  jspb_internal_adapters.setBooleanField(msg, 2, obj.isPeripheralRoleSupported);
  jspb_internal_adapters.setBooleanField(msg, 3, obj.isLowEnergySupported);
  jspb_internal_adapters.setBooleanField(msg, 4, obj.isAdvertisementOffloadSupported);
  return msg;
};
var jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$MacOSDeviceInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {deviceType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1)), deviceManufacturer:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), deviceModel:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), physicalMemory:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 
    4)), processorCount:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 5)), logicalProcessorCount:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 6)), osName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7)), osVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    8)), osArchitecture:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 9)), cpuManufacturer:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 10)), cpuName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 11)), bluetoothInfo:jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopBluetoothInfo.internal_toObject(msg.getBluetoothInfo())};
  }
}};
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$MacOSDeviceInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$MacOSDeviceInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo();
  jspb_internal_adapters.setEnumField(msg, 1, obj.deviceType);
  jspb_internal_adapters.setStringField(msg, 2, obj.deviceManufacturer);
  jspb_internal_adapters.setStringField(msg, 3, obj.deviceModel);
  jspb_internal_adapters.setInt64Field(msg, 4, obj.physicalMemory);
  jspb_internal_adapters.setInt32Field(msg, 5, obj.processorCount);
  jspb_internal_adapters.setInt32Field(msg, 6, obj.logicalProcessorCount);
  jspb_internal_adapters.setStringField(msg, 7, obj.osName);
  jspb_internal_adapters.setStringField(msg, 8, obj.osVersion);
  jspb_internal_adapters.setStringField(msg, 9, obj.osArchitecture);
  jspb_internal_adapters.setStringField(msg, 10, obj.cpuManufacturer);
  jspb_internal_adapters.setStringField(msg, 11, obj.cpuName);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo, 12, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.bluetoothInfo, jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopBluetoothInfo.fromObject));
  return msg;
};
var jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopDriverInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {manufacturer:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), deviceName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), driverProviderName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), driverVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4)), driverDate:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5))};
  }
}};
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopDriverInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopDriverInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.manufacturer);
  jspb_internal_adapters.setStringField(msg, 2, obj.deviceName);
  jspb_internal_adapters.setStringField(msg, 3, obj.driverProviderName);
  jspb_internal_adapters.setStringField(msg, 4, obj.driverVersion);
  jspb_internal_adapters.setStringField(msg, 5, obj.driverDate);
  return msg;
};
var jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$WindowsDeviceInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {deviceType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1)), deviceManufacturer:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), deviceModel:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), physicalMemory:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 
    4)), processorCount:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 5)), logicalProcessorCount:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 6)), osName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7)), osVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    8)), osArchitecture:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 9)), cpuManufacturer:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 10)), cpuName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 11)), bluetoothDriverInfosList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getBluetoothDriverInfosList(), 
    jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopDriverInfo.internal_toObject), networkDriverInfosList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getNetworkDriverInfosList(), jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopDriverInfo.internal_toObject), bluetoothInfo:jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopBluetoothInfo.internal_toObject(msg.getBluetoothInfo())};
  }
}};
jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$WindowsDeviceInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$WindowsDeviceInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo();
  jspb_internal_adapters.setEnumField(msg, 1, obj.deviceType);
  jspb_internal_adapters.setStringField(msg, 2, obj.deviceManufacturer);
  jspb_internal_adapters.setStringField(msg, 3, obj.deviceModel);
  jspb_internal_adapters.setInt64Field(msg, 4, obj.physicalMemory);
  jspb_internal_adapters.setInt32Field(msg, 5, obj.processorCount);
  jspb_internal_adapters.setInt32Field(msg, 6, obj.logicalProcessorCount);
  jspb_internal_adapters.setStringField(msg, 7, obj.osName);
  jspb_internal_adapters.setStringField(msg, 8, obj.osVersion);
  jspb_internal_adapters.setStringField(msg, 9, obj.osArchitecture);
  jspb_internal_adapters.setStringField(msg, 10, obj.cpuManufacturer);
  jspb_internal_adapters.setStringField(msg, 11, obj.cpuName);
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo, 12, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.bluetoothDriverInfosList, jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopDriverInfo.fromObject));
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopDriverInfo, 13, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.networkDriverInfosList, jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopDriverInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableNearbyDesktopBluetoothInfo, 15, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.bluetoothInfo, jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$NearbyDesktopBluetoothInfo.fromObject));
  return msg;
};
var jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {windowsDeviceInfo:jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$WindowsDeviceInfo.internal_toObject(msg.getWindowsDeviceInfo()), macOsDeviceInfo:jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$MacOSDeviceInfo.internal_toObject(msg.getMacOsDeviceInfo())};
  }
}};
jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo();
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableWindowsDeviceInfo, 1, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.windowsDeviceInfo, jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$WindowsDeviceInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$NearbyDesktopClientInfo$MutableMacOSDeviceInfo, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.macOsDeviceInfo, jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo$MacOSDeviceInfo.fromObject));
  return msg;
};
var jspb$o$wireless_android_play_playlog$NestcamPhotonClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {deviceId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), deviceType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 2)), softwareVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3))};
  }
}};
jspb$wireless_android_play_playlog$MutableNestcamPhotonClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$NestcamPhotonClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$NestcamPhotonClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableNestcamPhotonClientInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.deviceId);
  jspb_internal_adapters.setEnumField(msg, 2, obj.deviceType);
  jspb_internal_adapters.setStringField(msg, 3, obj.softwareVersion);
  return msg;
};
var jspb$o$wireless_android_play_playlog$PancettaClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {deviceId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), os:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 2)), appId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), appVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4)), mccMnc:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5))};
  }
}};
jspb$wireless_android_play_playlog$MutablePancettaClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$PancettaClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$PancettaClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutablePancettaClientInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.deviceId);
  jspb_internal_adapters.setEnumField(msg, 2, obj.os);
  jspb_internal_adapters.setStringField(msg, 3, obj.appId);
  jspb_internal_adapters.setStringField(msg, 4, obj.appVersion);
  jspb_internal_adapters.setStringField(msg, 5, obj.mccMnc);
  return msg;
};
var jspb$o$wireless_android_play_playlog$PlayCeClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {clientId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), loggingId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7)), make:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), model:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4)), applicationBuild:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5)), platformVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 6)), country:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 8))};
  }
}};
jspb$wireless_android_play_playlog$MutablePlayCeClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$PlayCeClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$PlayCeClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutablePlayCeClientInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.clientId);
  jspb_internal_adapters.setStringField(msg, 7, obj.loggingId);
  jspb_internal_adapters.setStringField(msg, 3, obj.make);
  jspb_internal_adapters.setStringField(msg, 4, obj.model);
  jspb_internal_adapters.setStringField(msg, 5, obj.applicationBuild);
  jspb_internal_adapters.setStringField(msg, 6, obj.platformVersion);
  jspb_internal_adapters.setStringField(msg, 8, obj.country);
  return msg;
};
var jspb$o$wireless_android_play_playlog$NearbyClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {usageType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1))};
  }
}};
jspb$wireless_android_play_playlog$MutableNearbyClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$NearbyClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$NearbyClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableNearbyClientInfo();
  jspb_internal_adapters.setEnumField(msg, 1, obj.usageType);
  return msg;
};
var jspb$o$wireless_android_play_playlog$WindowsClientInfo$BluetoothInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {isExtendedAdvertisingSupported:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 1)), isPeripheralRoleSupported:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 2)), isLowEnergySupported:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 
    3)), isAdvertisementOffloadSupported:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 4))};
  }
}};
jspb$wireless_android_play_playlog$WindowsClientInfo$MutableBluetoothInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$WindowsClientInfo$BluetoothInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$WindowsClientInfo$BluetoothInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$WindowsClientInfo$MutableBluetoothInfo();
  jspb_internal_adapters.setBooleanField(msg, 1, obj.isExtendedAdvertisingSupported);
  jspb_internal_adapters.setBooleanField(msg, 2, obj.isPeripheralRoleSupported);
  jspb_internal_adapters.setBooleanField(msg, 3, obj.isLowEnergySupported);
  jspb_internal_adapters.setBooleanField(msg, 4, obj.isAdvertisementOffloadSupported);
  return msg;
};
var jspb$o$wireless_android_play_playlog$WindowsClientInfo$DriverInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {manufacturer:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), deviceName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), driverProviderName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), driverVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4)), driverDate:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5))};
  }
}};
jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$WindowsClientInfo$DriverInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$WindowsClientInfo$DriverInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.manufacturer);
  jspb_internal_adapters.setStringField(msg, 2, obj.deviceName);
  jspb_internal_adapters.setStringField(msg, 3, obj.driverProviderName);
  jspb_internal_adapters.setStringField(msg, 4, obj.driverVersion);
  jspb_internal_adapters.setStringField(msg, 5, obj.driverDate);
  return msg;
};
var jspb$o$wireless_android_play_playlog$WindowsClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {deviceType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1)), deviceManufacturer:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), deviceModel:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), physicalMemory:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 
    4)), processorCount:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 5)), logicalProcessorCount:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 6)), osName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7)), osVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    8)), osArchitecture:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 9)), osLanguageCode:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 10)), cpuManufacturer:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 11)), cpuName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    12)), bluetoothDriverInfosList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getBluetoothDriverInfosList(), jspb$o$wireless_android_play_playlog$WindowsClientInfo$DriverInfo.internal_toObject), networkDriverInfosList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getNetworkDriverInfosList(), jspb$o$wireless_android_play_playlog$WindowsClientInfo$DriverInfo.internal_toObject), bleExtdAdvSupported:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 
    15)), bluetoothInfo:jspb$o$wireless_android_play_playlog$WindowsClientInfo$BluetoothInfo.internal_toObject(msg.getBluetoothInfo()), usageType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 17))};
  }
}};
jspb$wireless_android_play_playlog$MutableWindowsClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$WindowsClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$WindowsClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableWindowsClientInfo();
  jspb_internal_adapters.setEnumField(msg, 1, obj.deviceType);
  jspb_internal_adapters.setStringField(msg, 2, obj.deviceManufacturer);
  jspb_internal_adapters.setStringField(msg, 3, obj.deviceModel);
  jspb_internal_adapters.setInt64Field(msg, 4, obj.physicalMemory);
  jspb_internal_adapters.setInt32Field(msg, 5, obj.processorCount);
  jspb_internal_adapters.setInt32Field(msg, 6, obj.logicalProcessorCount);
  jspb_internal_adapters.setStringField(msg, 7, obj.osName);
  jspb_internal_adapters.setStringField(msg, 8, obj.osVersion);
  jspb_internal_adapters.setStringField(msg, 9, obj.osArchitecture);
  jspb_internal_adapters.setStringField(msg, 10, obj.osLanguageCode);
  jspb_internal_adapters.setStringField(msg, 11, obj.cpuManufacturer);
  jspb_internal_adapters.setStringField(msg, 12, obj.cpuName);
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo, 13, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.bluetoothDriverInfosList, jspb$o$wireless_android_play_playlog$WindowsClientInfo$DriverInfo.fromObject));
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$wireless_android_play_playlog$WindowsClientInfo$MutableDriverInfo, 14, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.networkDriverInfosList, jspb$o$wireless_android_play_playlog$WindowsClientInfo$DriverInfo.fromObject));
  jspb_internal_adapters.setBooleanField(msg, 15, obj.bleExtdAdvSupported);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$WindowsClientInfo$MutableBluetoothInfo, 16, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.bluetoothInfo, jspb$o$wireless_android_play_playlog$WindowsClientInfo$BluetoothInfo.fromObject));
  jspb_internal_adapters.setEnumField(msg, 17, obj.usageType);
  return msg;
};
var jspb$o$wireless_android_play_playlog$PortablePhenotypeLibraryClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {battlestarClientInfo:jspb$o$wireless_android_play_playlog$BattlestarClientInfo.internal_toObject(msg.getBattlestarClientInfo()), driveDesktopClientInfo:jspb$o$wireless_android_play_playlog$DriveDesktopClientInfo.internal_toObject(msg.getDriveDesktopClientInfo()), g1DesktopClientInfo:jspb$o$wireless_android_play_playlog$G1DesktopClientInfo.internal_toObject(msg.getG1DesktopClientInfo()), nearbyClientInfo:jspb$o$wireless_android_play_playlog$NearbyClientInfo.internal_toObject(msg.getNearbyClientInfo()), 
    windowsClientInfo:jspb$o$wireless_android_play_playlog$WindowsClientInfo.internal_toObject(msg.getWindowsClientInfo()), desktopServicesClientInfo:jspb$o$wireless_android_play_playlog$DesktopServicesClientInfo.internal_toObject(msg.getDesktopServicesClientInfo())};
  }
}};
jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$PortablePhenotypeLibraryClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$PortablePhenotypeLibraryClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo();
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$wireless_android_play_playlog$MutableBattlestarClientInfo, 1, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.battlestarClientInfo, jspb$o$wireless_android_play_playlog$BattlestarClientInfo.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo, 2, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.driveDesktopClientInfo, jspb$o$wireless_android_play_playlog$DriveDesktopClientInfo.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo, 3, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.g1DesktopClientInfo, jspb$o$wireless_android_play_playlog$G1DesktopClientInfo.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$wireless_android_play_playlog$MutableNearbyClientInfo, 4, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.nearbyClientInfo, jspb$o$wireless_android_play_playlog$NearbyClientInfo.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$wireless_android_play_playlog$MutableWindowsClientInfo, 5, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.windowsClientInfo, jspb$o$wireless_android_play_playlog$WindowsClientInfo.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo, 6, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo.oneofGroup_ClientInfoCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.desktopServicesClientInfo, jspb$o$wireless_android_play_playlog$DesktopServicesClientInfo.fromObject));
  return msg;
};
var jspb$o$wireless_android_play_playlog$SparklightClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {machineClass:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1))};
  }
}};
jspb$wireless_android_play_playlog$MutableSparklightClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$SparklightClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$SparklightClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableSparklightClientInfo();
  jspb_internal_adapters.setEnumField(msg, 1, obj.machineClass);
  return msg;
};
var jspb$o$wireless_android_play_playlog$VrClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {vrClientType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1)), sdkVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), fingerprint:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), gvrVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4)), manufacturer:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5)), model:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 6)), language:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7)), country:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    8)), unityVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 9)), unitySdkVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 10))};
  }
}};
jspb$wireless_android_play_playlog$MutableVrClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$VrClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$VrClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableVrClientInfo();
  jspb_internal_adapters.setEnumField(msg, 1, obj.vrClientType);
  jspb_internal_adapters.setStringField(msg, 2, obj.sdkVersion);
  jspb_internal_adapters.setStringField(msg, 3, obj.fingerprint);
  jspb_internal_adapters.setStringField(msg, 4, obj.gvrVersion);
  jspb_internal_adapters.setStringField(msg, 5, obj.manufacturer);
  jspb_internal_adapters.setStringField(msg, 6, obj.model);
  jspb_internal_adapters.setStringField(msg, 7, obj.language);
  jspb_internal_adapters.setStringField(msg, 8, obj.country);
  jspb_internal_adapters.setStringField(msg, 9, obj.unityVersion);
  jspb_internal_adapters.setStringField(msg, 10, obj.unitySdkVersion);
  return msg;
};
var jspb$o$wireless_android_play_playlog$YetiClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {buildLabel:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), deploymentType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), environment:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), location:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4)), machine:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5)), gameletId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 6)), machineShape:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7)), metro:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    8)), vmPurpose:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 9)), releaseStage:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 10))};
  }
}};
jspb$wireless_android_play_playlog$MutableYetiClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$YetiClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$YetiClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableYetiClientInfo();
  jspb_internal_adapters.setStringField(msg, 1, obj.buildLabel);
  jspb_internal_adapters.setStringField(msg, 2, obj.deploymentType);
  jspb_internal_adapters.setStringField(msg, 3, obj.environment);
  jspb_internal_adapters.setStringField(msg, 4, obj.location);
  jspb_internal_adapters.setStringField(msg, 5, obj.machine);
  jspb_internal_adapters.setStringField(msg, 6, obj.gameletId);
  jspb_internal_adapters.setStringField(msg, 7, obj.machineShape);
  jspb_internal_adapters.setStringField(msg, 8, obj.metro);
  jspb_internal_adapters.setStringField(msg, 9, obj.vmPurpose);
  jspb_internal_adapters.setStringField(msg, 10, obj.releaseStage);
  return msg;
};
var jspb$o$wireless_android_play_playlog$ClientInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {clientType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1)), remoteHost:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 6)), remoteHost6:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7)), battlestarClientInfo:jspb$o$wireless_android_play_playlog$BattlestarClientInfo.internal_toObject(msg.getBattlestarClientInfo()), 
    birdsongClientInfo:jspb$o$wireless_android_play_playlog$BirdsongClientInfo.internal_toObject(msg.getBirdsongClientInfo()), desktopClientInfo:jspb$o$wireless_android_play_playlog$DesktopClientInfo.internal_toObject(msg.getDesktopClientInfo()), desktopServicesClientInfo:jspb$o$wireless_android_play_playlog$DesktopServicesClientInfo.internal_toObject(msg.getDesktopServicesClientInfo()), driveDesktopClientInfo:jspb$o$wireless_android_play_playlog$DriveDesktopClientInfo.internal_toObject(msg.getDriveDesktopClientInfo()), 
    g1DesktopClientInfo:jspb$o$wireless_android_play_playlog$G1DesktopClientInfo.internal_toObject(msg.getG1DesktopClientInfo()), googleHomeClientInfo:jspb$o$wireless_android_play_playlog$GoogleHomeClientInfo.internal_toObject(msg.getGoogleHomeClientInfo()), jsClientInfo:jspb$o$wireless_android_play_playlog$JsClientInfo.internal_toObject(msg.getJsClientInfo()), kaiosClientInfo:jspb$o$wireless_android_play_playlog$KaiosClientInfo.internal_toObject(msg.getKaiosClientInfo()), macClientInfo:jspb$o$wireless_android_play_playlog$MacClientInfo.internal_toObject(msg.getMacClientInfo()), 
    nearbyDesktopClientInfo:jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo.internal_toObject(msg.getNearbyDesktopClientInfo()), nestcamPhotonClientInfo:jspb$o$wireless_android_play_playlog$NestcamPhotonClientInfo.internal_toObject(msg.getNestcamPhotonClientInfo()), pancettaClientInfo:jspb$o$wireless_android_play_playlog$PancettaClientInfo.internal_toObject(msg.getPancettaClientInfo()), playCeClientInfo:jspb$o$wireless_android_play_playlog$PlayCeClientInfo.internal_toObject(msg.getPlayCeClientInfo()), 
    portablePhenotypeLibraryClientInfo:jspb$o$wireless_android_play_playlog$PortablePhenotypeLibraryClientInfo.internal_toObject(msg.getPortablePhenotypeLibraryClientInfo()), sparklightClientInfo:jspb$o$wireless_android_play_playlog$SparklightClientInfo.internal_toObject(msg.getSparklightClientInfo()), vrClientInfo:jspb$o$wireless_android_play_playlog$VrClientInfo.internal_toObject(msg.getVrClientInfo()), windowsClientInfo:jspb$o$wireless_android_play_playlog$WindowsClientInfo.internal_toObject(msg.getWindowsClientInfo()), 
    yetiClientInfo:jspb$o$wireless_android_play_playlog$YetiClientInfo.internal_toObject(msg.getYetiClientInfo()), browserInfo:jspb$o$wireless_android_play_playlog$BrowserInfo.internal_toObject(msg.getBrowserInfo()), heterodyneConfigVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 12))};
  }
}};
jspb$wireless_android_play_playlog$MutableClientInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$ClientInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$ClientInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableClientInfo();
  jspb_internal_adapters.setEnumField(msg, 1, obj.clientType);
  jspb_internal_adapters.setStringField(msg, 6, obj.remoteHost);
  jspb_internal_adapters.setStringField(msg, 7, obj.remoteHost6);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableBattlestarClientInfo, 22, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.battlestarClientInfo, jspb$o$wireless_android_play_playlog$BattlestarClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableBirdsongClientInfo, 14, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.birdsongClientInfo, jspb$o$wireless_android_play_playlog$BirdsongClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableDesktopClientInfo, 3, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.desktopClientInfo, jspb$o$wireless_android_play_playlog$DesktopClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableDesktopServicesClientInfo, 28, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.desktopServicesClientInfo, jspb$o$wireless_android_play_playlog$DesktopServicesClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableDriveDesktopClientInfo, 24, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.driveDesktopClientInfo, jspb$o$wireless_android_play_playlog$DriveDesktopClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableG1DesktopClientInfo, 25, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.g1DesktopClientInfo, jspb$o$wireless_android_play_playlog$G1DesktopClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableGoogleHomeClientInfo, 16, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.googleHomeClientInfo, jspb$o$wireless_android_play_playlog$GoogleHomeClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableJsClientInfo, 11, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.jsClientInfo, jspb$o$wireless_android_play_playlog$JsClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableKaiosClientInfo, 20, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.kaiosClientInfo, jspb$o$wireless_android_play_playlog$KaiosClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableMacClientInfo, 13, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.macClientInfo, jspb$o$wireless_android_play_playlog$MacClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableNearbyDesktopClientInfo, 27, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.nearbyDesktopClientInfo, jspb$o$wireless_android_play_playlog$NearbyDesktopClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableNestcamPhotonClientInfo, 34, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.nestcamPhotonClientInfo, jspb$o$wireless_android_play_playlog$NestcamPhotonClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutablePancettaClientInfo, 10, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.pancettaClientInfo, jspb$o$wireless_android_play_playlog$PancettaClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutablePlayCeClientInfo, 5, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.playCeClientInfo, jspb$o$wireless_android_play_playlog$PlayCeClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutablePortablePhenotypeLibraryClientInfo, 23, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.portablePhenotypeLibraryClientInfo, jspb$o$wireless_android_play_playlog$PortablePhenotypeLibraryClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableSparklightClientInfo, 18, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.sparklightClientInfo, jspb$o$wireless_android_play_playlog$SparklightClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableVrClientInfo, 8, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.vrClientInfo, jspb$o$wireless_android_play_playlog$VrClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableWindowsClientInfo, 26, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.windowsClientInfo, jspb$o$wireless_android_play_playlog$WindowsClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableYetiClientInfo, 15, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.yetiClientInfo, jspb$o$wireless_android_play_playlog$YetiClientInfo.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableBrowserInfo, 9, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.browserInfo, jspb$o$wireless_android_play_playlog$BrowserInfo.fromObject));
  jspb_internal_adapters.setInt64Field(msg, 12, obj.heterodyneConfigVersion);
  return msg;
};
proto.wireless_android_play_playlog.ReadonlyClientInfo = {};
proto.wireless_android_play_playlog.ClientInfo = jspb$wireless_android_play_playlog$MutableClientInfo;
jspb$wireless_android_play_playlog$MutableClientInfo.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$wireless_android_play_playlog$MutableClientInfo, jspb$b$wireless_android_play_playlog$ClientInfo.fields);
jspb$wireless_android_play_playlog$MutableClientInfo.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$ClientInfo.fields);
jspb$wireless_android_play_playlog$MutableClientInfo.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$wireless_android_play_playlog$ClientInfo.fields);
jspb$wireless_android_play_playlog$MutableClientInfo.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$wireless_android_play_playlog$MutableClientInfo, jspb$b$wireless_android_play_playlog$ClientInfo.fields);
jspb$wireless_android_play_playlog$MutableClientInfo.fromObject = jspb$o$wireless_android_play_playlog$ClientInfo.fromObject;
proto.wireless_android_play_playlog.MutableClientInfo = jspb$wireless_android_play_playlog$MutableClientInfo;
jspb$wireless_android_play_playlog$ImmutableClientInfo.serializeBinary = jspb$wireless_android_play_playlog$MutableClientInfo.serializeBinary;
jspb$wireless_android_play_playlog$ImmutableClientInfo.serializeBinaryToByteString = jspb$wireless_android_play_playlog$MutableClientInfo.serializeBinaryToByteString;
jspb$wireless_android_play_playlog$ImmutableClientInfo.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$wireless_android_play_playlog$MutableClientInfo.deserializeBinary);
jspb$wireless_android_play_playlog$ImmutableClientInfo.makeCrossSerializerComparisonsCompatible = jspb$wireless_android_play_playlog$MutableClientInfo.makeCrossSerializerComparisonsCompatible;
proto.wireless_android_play_playlog.ImmutableClientInfo = jspb$wireless_android_play_playlog$ImmutableClientInfo;
jspb$wireless_android_play_playlog$MutableClientInfo.messageSetExtension = module$contents$jspb$internal_extension_field_info_createMessageExtension(66321687, jspb$proto2$bridge$MutableMessageSet, jspb$wireless_android_play_playlog$MutableClientInfo);
jspb$proto2$bridge$MutableMessageSet.internalDoNotUse$proto2$bridge$MessageSet$extensionsBinary[66321687] = jspb$b$wireless_android_play_playlog$ClientInfo.fields;
jspb$proto2$bridge$MutableMessageSet.internalDoNotUse$proto2$bridge$MessageSet$extensions[66321687] = {messageSetExtension:jspb$wireless_android_play_playlog$MutableClientInfo.messageSetExtension};
jspb$e.wireless_android_play_playlog$LogEvent$InternalEvent = {NONE:0, WALL_CLOCK_SET:1, DEVICE_BOOT:2};
var jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerDeviceSampling = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerDeviceSampling, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerDeviceSampling.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerDeviceSampling);
jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerDeviceSampling.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerDeviceSampling);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerDeviceSampling.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.ClearcutLoggerRemoteConfigMetadata.PerDeviceSampling");
var jspb$b$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerDeviceSampling = {};
jspb$b$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerDeviceSampling.fields = [0, jspb_internal_binary.RWFloat, jspb_internal_binary.RWInt32, -2];
jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerDeviceSampling.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerDeviceSampling.fields);
var jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerEventSampling = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerEventSampling, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerEventSampling.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerEventSampling);
jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerEventSampling.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerEventSampling);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerEventSampling.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.ClearcutLoggerRemoteConfigMetadata.PerEventSampling");
var jspb$b$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerEventSampling = {};
jspb$b$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerEventSampling.fields = [0, jspb_internal_binary.RWFloat];
jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerEventSampling.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerEventSampling.fields);
var jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata.prototype.getPerDeviceSampling = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerDeviceSampling, 2);
};
jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata.prototype.getPerEventSampling = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerEventSampling, 3);
};
jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata);
jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.ClearcutLoggerRemoteConfigMetadata");
var jspb$b$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata = {};
jspb$b$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata.fields = [0, jspb_internal_binary.RWEnum, jspb$b$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerDeviceSampling.fields, jspb$b$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerEventSampling.fields];
jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata.fields);
var jspb$wireless_android_play_playlog$MutableActiveExperiments = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableActiveExperiments, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableActiveExperiments.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableActiveExperiments);
jspb$wireless_android_play_playlog$MutableActiveExperiments.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableActiveExperiments);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableActiveExperiments.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.ActiveExperiments");
var jspb$b$wireless_android_play_playlog$ActiveExperiments = {};
jspb$b$wireless_android_play_playlog$ActiveExperiments.fields = [0, jspb_internal_binary.RWRepeatedString, -1, jspb_internal_binary.RPackableInt32IntoWRepeatedInt32, jspb_internal_binary.RPackableInt64IntoWRepeatedInt64, -1];
jspb$wireless_android_play_playlog$MutableActiveExperiments.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$ActiveExperiments.fields);
var jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent.prototype.getVersion = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 3);
};
jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent.prototype.setVersion = function(value) {
  return jspb_internal_adapters.setStringField(this, 3, value);
};
jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent);
jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.AppUsage1pLogEvent");
var jspb$b$wireless_android_play_playlog$AppUsage1pLogEvent = {};
jspb$b$wireless_android_play_playlog$AppUsage1pLogEvent.fields = [0, jspb_internal_binary.RWInt32, jspb_internal_binary.RWString, -1];
jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$AppUsage1pLogEvent.fields);
var jspb$wireless_android_play_playlog$MutableLogEventKeyValues = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableLogEventKeyValues, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableLogEventKeyValues.prototype.getKey = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 1);
};
jspb$wireless_android_play_playlog$MutableLogEventKeyValues.prototype.getValue = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 2);
};
jspb$wireless_android_play_playlog$MutableLogEventKeyValues.prototype.hasValue = function() {
  return jspb_internal_adapters.hasStringField(this, 2);
};
jspb$wireless_android_play_playlog$MutableLogEventKeyValues.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableLogEventKeyValues);
jspb$wireless_android_play_playlog$MutableLogEventKeyValues.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableLogEventKeyValues);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableLogEventKeyValues.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.LogEventKeyValues");
var jspb$b$wireless_android_play_playlog$LogEventKeyValues = {};
jspb$b$wireless_android_play_playlog$LogEventKeyValues.fields = [0, jspb_internal_binary.RWString, -1];
jspb$wireless_android_play_playlog$MutableLogEventKeyValues.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$LogEventKeyValues.fields);
var jspb$wireless_android_play_playlog$MutableNetworkConnectionInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableNetworkConnectionInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableNetworkConnectionInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableNetworkConnectionInfo);
jspb$wireless_android_play_playlog$MutableNetworkConnectionInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableNetworkConnectionInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableNetworkConnectionInfo.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.NetworkConnectionInfo");
var jspb$b$wireless_android_play_playlog$NetworkConnectionInfo = {};
jspb$b$wireless_android_play_playlog$NetworkConnectionInfo.fields = [0, jspb_internal_binary.RWEnum, -1];
jspb$wireless_android_play_playlog$MutableNetworkConnectionInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$NetworkConnectionInfo.fields);
var jspb$google$internal$identity$signedoutstate$v1$MutableDebugOverrides = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$internal$identity$signedoutstate$v1$MutableDebugOverrides, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$internal$identity$signedoutstate$v1$MutableDebugOverrides.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$internal$identity$signedoutstate$v1$MutableDebugOverrides);
jspb$google$internal$identity$signedoutstate$v1$MutableDebugOverrides.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$internal$identity$signedoutstate$v1$MutableDebugOverrides);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$internal$identity$signedoutstate$v1$MutableDebugOverrides.internalDoNotUse_debugOnlyProtoTypeName = "google.internal.identity.signedoutstate.v1.DebugOverrides");
var jspb$google$protobuf$MutableTimestamp = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$protobuf$MutableTimestamp, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$protobuf$MutableTimestamp.prototype.getSeconds = function() {
  return jspb_internal_adapters.getInt64GbigintFieldWithDefault(this, 1);
};
jspb$google$protobuf$MutableTimestamp.prototype.setSeconds = function(value) {
  return jspb_internal_adapters.setProto3Int64Field(this, 1, value);
};
jspb$google$protobuf$MutableTimestamp.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$protobuf$MutableTimestamp);
jspb$google$protobuf$MutableTimestamp.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$protobuf$MutableTimestamp);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$protobuf$MutableTimestamp.internalDoNotUse_debugOnlyProtoTypeName = "google.protobuf.Timestamp");
var jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent.prototype.getDayOfCreation = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$google$protobuf$MutableTimestamp, 2);
};
jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent.prototype.getDebugOverrides = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$google$internal$identity$signedoutstate$v1$MutableDebugOverrides, 5);
};
jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent);
jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent.internalDoNotUse_debugOnlyProtoTypeName = "google.internal.identity.signedoutstate.v1.MobileSignedOutConsent");
var jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState.prototype.getMobileSignedOutConsent = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent, 2);
};
jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState.prototype.getRolloutBucket = function() {
  return jspb_internal_adapters.getBytesFieldWithDefault(this, 3);
};
jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState);
jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState.internalDoNotUse_debugOnlyProtoTypeName = "google.internal.identity.signedoutstate.v1.SignedOutState");
var jspb$wireless_android_play_playlog$MutableComplianceData = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data, 4);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableComplianceData, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableComplianceData.prototype.getPrivacyContext = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$privacy$context$external$MutableExternalPrivacyContext, 1);
};
jspb$wireless_android_play_playlog$MutableComplianceData.prototype.setPrivacyContext = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$privacy$context$external$MutableExternalPrivacyContext, 1, value);
};
jspb$wireless_android_play_playlog$MutableComplianceData.prototype.setProductIdOrigin = function(value) {
  return jspb_internal_adapters.setEnumField(this, 2, value);
};
jspb$wireless_android_play_playlog$MutableComplianceData.prototype.getSignedOutState = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState, 3);
};
jspb$wireless_android_play_playlog$MutableComplianceData.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableComplianceData);
jspb$wireless_android_play_playlog$MutableComplianceData.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableComplianceData);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableComplianceData.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.ComplianceData");
jspb$wireless_android_play_playlog$MutableComplianceData.internalDoNotUse$wireless_android_play_playlog$ComplianceData$extensionsBinary = {};
var jspb$wireless_android_play_playlog$MutableLogEvent = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data, 36);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableLogEvent, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.setEventTimeMs = function(value) {
  return jspb_internal_adapters.setInt64StringField(this, 1, value);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.hasEventTimeMs = function() {
  return jspb_internal_adapters.hasInt64StringField(this, 1);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.setSequencePosition = function(value) {
  return jspb_internal_adapters.setInt64Field(this, 21, value);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.getTag = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 2);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.setComponentId = function(value) {
  return jspb_internal_adapters.setStringField(this, 26, value);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.getValueList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$wireless_android_play_playlog$MutableLogEventKeyValues, 3, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.getStore = function() {
  return jspb_internal_adapters.getBytesFieldWithDefault(this, 4);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.getAppUsage1p = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent, 9);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.getSourceExtension = function() {
  return jspb_internal_adapters.getBytesFieldWithDefault(this, 6);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.setSourceExtensionJs = function(value) {
  return jspb_internal_adapters.setStringField(this, 8, value);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.getExp = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableActiveExperiments, 7);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.setTimezoneOffsetSeconds = function(value) {
  return jspb_internal_adapters.setInt64Field(this, 15, value);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.hasTimezoneOffsetSeconds = function() {
  return jspb_internal_adapters.hasInt64Field(this, 15);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.getExperimentIds = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$experiments$heterodyne$MutableExperimentIds, 16);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.setExperimentIds = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$experiments$heterodyne$MutableExperimentIds, 16, value);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.clearExperimentIds = function() {
  return jspb_internal_adapters.clearField(this, 16);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.getClientVe = function() {
  return jspb_internal_adapters.getBytesFieldWithDefault(this, 18);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.getNetworkConnectionInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableNetworkConnectionInfo, 23);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.getRemoteConfigMetadata = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata, 35);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.getComplianceData = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableComplianceData, 33);
};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.setComplianceData = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$wireless_android_play_playlog$MutableComplianceData, 33, value);
};
jspb$wireless_android_play_playlog$MutableLogEvent.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableLogEvent);
jspb$wireless_android_play_playlog$MutableLogEvent.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableLogEvent);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableLogEvent.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.LogEvent");
jspb$wireless_android_play_playlog$MutableLogEvent.internalDoNotUse$wireless_android_play_playlog$LogEvent$extensionsBinary = {};
var jspb$b$google$internal$identity$signedoutstate$v1$DebugOverrides = {};
jspb$b$google$internal$identity$signedoutstate$v1$DebugOverrides.fields = [0, jspb_internal_binary.RWEnum];
jspb$google$internal$identity$signedoutstate$v1$MutableDebugOverrides.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$internal$identity$signedoutstate$v1$DebugOverrides.fields);
var jspb$b$google$protobuf$Timestamp = {};
jspb$b$google$protobuf$Timestamp.fields = [0, jspb_internal_binary.RInt64IgnoringDefaultWInt64, jspb_internal_binary.RInt32IgnoringDefaultWInt32];
jspb$google$protobuf$MutableTimestamp.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$protobuf$Timestamp.fields);
var jspb$b$google$internal$identity$signedoutstate$v1$MobileSignedOutConsent = {};
jspb$b$google$internal$identity$signedoutstate$v1$MobileSignedOutConsent.fields = [0, jspb_internal_binary.REnumIgnoringDefaultWEnum, jspb$b$google$protobuf$Timestamp.fields, jspb_internal_binary.REnumIgnoringDefaultWEnum, -1, jspb$b$google$internal$identity$signedoutstate$v1$DebugOverrides.fields, jspb_internal_binary.REnumIgnoringDefaultWEnum];
jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$internal$identity$signedoutstate$v1$MobileSignedOutConsent.fields);
var jspb$b$google$internal$identity$signedoutstate$v1$SignedOutState = {};
jspb$b$google$internal$identity$signedoutstate$v1$SignedOutState.fields = [0, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString, jspb$b$google$internal$identity$signedoutstate$v1$MobileSignedOutConsent.fields, jspb_internal_binary.RBytesIgnoringDefaultWBytes];
jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$internal$identity$signedoutstate$v1$SignedOutState.fields);
var jspb$b$wireless_android_play_playlog$ComplianceData = {};
jspb$b$wireless_android_play_playlog$ComplianceData.fields = [-4, jspb$wireless_android_play_playlog$MutableComplianceData.internalDoNotUse$wireless_android_play_playlog$ComplianceData$extensionsBinary, jspb$b$privacy$context$external$ExternalPrivacyContext.fields, jspb_internal_binary.RWEnum, jspb$b$google$internal$identity$signedoutstate$v1$SignedOutState.fields];
jspb$wireless_android_play_playlog$MutableComplianceData.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$ComplianceData.fields);
var jspb$b$wireless_android_play_playlog$LogEvent = {};
jspb$b$wireless_android_play_playlog$LogEvent.fields = [-36, jspb$wireless_android_play_playlog$MutableLogEvent.internalDoNotUse$wireless_android_play_playlog$LogEvent$extensionsBinary, jspb_internal_binary.RInt64StringWInt64, jspb_internal_binary.RWString, jspb_internal_binary.RWRepeatedMessage, jspb$b$wireless_android_play_playlog$LogEventKeyValues.fields, jspb_internal_binary.RWBytes, 1, jspb_internal_binary.RWBytes, jspb$b$wireless_android_play_playlog$ActiveExperiments.fields, jspb_internal_binary.RWString, 
jspb$b$wireless_android_play_playlog$AppUsage1pLogEvent.fields, jspb_internal_binary.RWBool, jspb_internal_binary.RWInt32, jspb_internal_binary.RWInt64, jspb_internal_binary.RWString, -1, jspb_internal_binary.RWSint64, jspb$b$experiments$heterodyne$ExperimentIds.fields, jspb_internal_binary.RInt64StringWInt64, jspb_internal_binary.RWBytes, jspb_internal_binary.RWEnum, jspb_internal_binary.RPackableInt32IntoWRepeatedInt32, jspb_internal_binary.RWInt64, -1, jspb$b$wireless_android_play_playlog$NetworkConnectionInfo.fields, 
jspb_internal_binary.RWString, jspb_internal_binary.RWBool, jspb_internal_binary.RWString, jspb_internal_binary.RPackableInt32IntoWPackedInt32, jspb_internal_binary.RWString, -1, jspb_internal_binary.RWDouble, 1, jspb_internal_binary.RWDouble, jspb$b$wireless_android_play_playlog$ComplianceData.fields, jspb_internal_binary.RWBool, jspb$b$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata.fields];
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$LogEvent.fields);
var jspb$wireless_android_play_playlog$ImmutableLogEvent = function() {
};
jspb$wireless_android_play_playlog$ImmutableLogEvent.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableLogEvent);
jspb$wireless_android_play_playlog$ImmutableLogEvent.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$wireless_android_play_playlog$MutableLogEvent);
jspb$wireless_android_play_playlog$ImmutableLogEvent.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$wireless_android_play_playlog$MutableLogEvent);
var jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerDeviceSampling = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {samplingRate:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getFloatingPointFieldNullable(msg, 1)), rotationPeriodDays:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 2)), trailingDays:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 3)), staggeringPeriodDays:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 
    4))};
  }
}};
jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerDeviceSampling.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerDeviceSampling.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerDeviceSampling.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerDeviceSampling();
  jspb_internal_adapters.setFloatingPointField(msg, 1, obj.samplingRate);
  jspb_internal_adapters.setInt32Field(msg, 2, obj.rotationPeriodDays);
  jspb_internal_adapters.setInt32Field(msg, 3, obj.trailingDays);
  jspb_internal_adapters.setInt32Field(msg, 4, obj.staggeringPeriodDays);
  return msg;
};
var jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerEventSampling = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {samplingRate:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getFloatingPointFieldNullable(msg, 1))};
  }
}};
jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerEventSampling.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerEventSampling.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerEventSampling.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerEventSampling();
  jspb_internal_adapters.setFloatingPointField(msg, 1, obj.samplingRate);
  return msg;
};
var jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {loggerId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1)), perDeviceSampling:jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerDeviceSampling.internal_toObject(msg.getPerDeviceSampling()), perEventSampling:jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerEventSampling.internal_toObject(msg.getPerEventSampling())};
  }
}};
jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata();
  jspb_internal_adapters.setEnumField(msg, 1, obj.loggerId);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerDeviceSampling, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.perDeviceSampling, jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerDeviceSampling.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$MutablePerEventSampling, 3, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.perEventSampling, jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata$PerEventSampling.fromObject));
  return msg;
};
var jspb$o$wireless_android_play_playlog$ActiveExperiments = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {clientAlteringExperimentList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedStringField(msg, 1, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN)), otherExperimentList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedStringField(msg, 2, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN)), 
    gwsExperimentList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedInt32Field(msg, 3, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN)), playExperimentList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedInt64Field(msg, 4, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN)), unsupportedPlayExperimentList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedInt64Field(msg, 
    5, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN))};
  }
}};
jspb$wireless_android_play_playlog$MutableActiveExperiments.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$ActiveExperiments.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$ActiveExperiments.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableActiveExperiments();
  jspb_internal_adapters.setRepeatedStringField(msg, 1, obj.clientAlteringExperimentList);
  jspb_internal_adapters.setRepeatedStringField(msg, 2, obj.otherExperimentList);
  jspb_internal_adapters.setRepeatedInt32Field(msg, 3, obj.gwsExperimentList);
  jspb_internal_adapters.setRepeatedInt64Field(msg, 4, obj.playExperimentList);
  jspb_internal_adapters.setRepeatedInt64Field(msg, 5, obj.unsupportedPlayExperimentList);
  return msg;
};
var jspb$o$wireless_android_play_playlog$AppUsage1pLogEvent = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {appType:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 1)), androidPackageName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), version:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3))};
  }
}};
jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$AppUsage1pLogEvent.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$AppUsage1pLogEvent.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent();
  jspb_internal_adapters.setInt32Field(msg, 1, obj.appType);
  jspb_internal_adapters.setStringField(msg, 2, obj.androidPackageName);
  jspb_internal_adapters.setStringField(msg, 3, obj.version);
  return msg;
};
var jspb$o$wireless_android_play_playlog$LogEventKeyValues = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {key:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), value:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2))};
  }
}};
jspb$wireless_android_play_playlog$MutableLogEventKeyValues.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$LogEventKeyValues.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$LogEventKeyValues.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableLogEventKeyValues();
  jspb_internal_adapters.setStringField(msg, 1, obj.key);
  jspb_internal_adapters.setStringField(msg, 2, obj.value);
  return msg;
};
var jspb$o$wireless_android_play_playlog$NetworkConnectionInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {networkType:jspb_internal_adapters.getEnumFieldWithDefault(msg, 1, -1), mobileSubtype:jspb_internal_adapters.getEnumFieldWithDefault(msg, 2, 0)};
  }
}};
jspb$wireless_android_play_playlog$MutableNetworkConnectionInfo.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$NetworkConnectionInfo.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$NetworkConnectionInfo.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableNetworkConnectionInfo();
  jspb_internal_adapters.setEnumField(msg, 1, obj.networkType);
  jspb_internal_adapters.setEnumField(msg, 2, obj.mobileSubtype);
  return msg;
};
var jspb$o$google$internal$identity$signedoutstate$v1$DebugOverrides = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {debugRegion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1))};
  }
}};
jspb$google$internal$identity$signedoutstate$v1$MutableDebugOverrides.prototype.toObject = function() {
  return jspb$o$google$internal$identity$signedoutstate$v1$DebugOverrides.internal_toObject(this);
};
jspb$o$google$internal$identity$signedoutstate$v1$DebugOverrides.fromObject = function(obj) {
  var msg = new jspb$google$internal$identity$signedoutstate$v1$MutableDebugOverrides();
  jspb_internal_adapters.setEnumField(msg, 1, obj.debugRegion);
  return msg;
};
var jspb$o$google$protobuf$Timestamp = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {seconds:jspb_internal_adapters.getInt64FieldWithDefault(msg, 1), nanos:jspb_internal_adapters.getInt32FieldWithDefault(msg, 2)};
  }
}};
jspb$google$protobuf$MutableTimestamp.prototype.toObject = function() {
  return jspb$o$google$protobuf$Timestamp.internal_toObject(this);
};
jspb$o$google$protobuf$Timestamp.fromObject = function(obj) {
  var msg = new jspb$google$protobuf$MutableTimestamp();
  jspb_internal_adapters.setProto3Int64Field(msg, 1, obj.seconds);
  jspb_internal_adapters.setProto3Int32Field(msg, 2, obj.nanos);
  return msg;
};
var jspb$o$google$internal$identity$signedoutstate$v1$MobileSignedOutConsent = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {consentChoice:jspb_internal_adapters.getEnumFieldWithDefault(msg, 1, 0), dayOfCreation:jspb$o$google$protobuf$Timestamp.internal_toObject(msg.getDayOfCreation()), essentialOnlyModeTreatment:jspb_internal_adapters.getEnumFieldWithDefault(msg, 3, 0), uiToDisplay:jspb_internal_adapters.getEnumFieldWithDefault(msg, 4, 0), debugOverrides:jspb$o$google$internal$identity$signedoutstate$v1$DebugOverrides.internal_toObject(msg.getDebugOverrides()), 
    essentialUseConsentState:jspb_internal_adapters.getEnumFieldWithDefault(msg, 6, 0)};
  }
}};
jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent.prototype.toObject = function() {
  return jspb$o$google$internal$identity$signedoutstate$v1$MobileSignedOutConsent.internal_toObject(this);
};
jspb$o$google$internal$identity$signedoutstate$v1$MobileSignedOutConsent.fromObject = function(obj) {
  var msg = new jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent();
  jspb_internal_adapters.setProto3EnumField(msg, 1, obj.consentChoice);
  jspb_internal_adapters.setWrapperField(msg, jspb$google$protobuf$MutableTimestamp, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.dayOfCreation, jspb$o$google$protobuf$Timestamp.fromObject));
  jspb_internal_adapters.setProto3EnumField(msg, 3, obj.essentialOnlyModeTreatment);
  jspb_internal_adapters.setProto3EnumField(msg, 4, obj.uiToDisplay);
  jspb_internal_adapters.setWrapperField(msg, jspb$google$internal$identity$signedoutstate$v1$MutableDebugOverrides, 5, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.debugOverrides, jspb$o$google$internal$identity$signedoutstate$v1$DebugOverrides.fromObject));
  jspb_internal_adapters.setProto3EnumField(msg, 6, obj.essentialUseConsentState);
  return msg;
};
var jspb$o$google$internal$identity$signedoutstate$v1$SignedOutState = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {zwiebackToken:jspb_internal_adapters.getStringFieldWithDefault(msg, 1), mobileSignedOutConsent:jspb$o$google$internal$identity$signedoutstate$v1$MobileSignedOutConsent.internal_toObject(msg.getMobileSignedOutConsent()), rolloutBucket:module$contents$jspb_internal_public_for_gencode_toObjectBytes(msg.getRolloutBucket())};
  }
}};
jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState.prototype.toObject = function() {
  return jspb$o$google$internal$identity$signedoutstate$v1$SignedOutState.internal_toObject(this);
};
jspb$o$google$internal$identity$signedoutstate$v1$SignedOutState.fromObject = function(obj) {
  var msg = new jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState();
  jspb_internal_adapters.setProto3StringField(msg, 1, obj.zwiebackToken);
  jspb_internal_adapters.setWrapperField(msg, jspb$google$internal$identity$signedoutstate$v1$MutableMobileSignedOutConsent, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.mobileSignedOutConsent, jspb$o$google$internal$identity$signedoutstate$v1$MobileSignedOutConsent.fromObject));
  jspb_internal_adapters.setProto3BytesField(msg, 3, obj.rolloutBucket);
  return msg;
};
var jspb$o$wireless_android_play_playlog$ComplianceData = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {privacyContext:jspb$o$privacy$context$external$ExternalPrivacyContext.internal_toObject(msg.getPrivacyContext()), productIdOrigin:jspb_internal_adapters.getEnumFieldWithDefault(msg, 2, 0), signedOutState:jspb$o$google$internal$identity$signedoutstate$v1$SignedOutState.internal_toObject(msg.getSignedOutState())};
  }
}};
jspb$wireless_android_play_playlog$MutableComplianceData.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$ComplianceData.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$ComplianceData.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableComplianceData();
  jspb_internal_adapters.setWrapperField(msg, jspb$privacy$context$external$MutableExternalPrivacyContext, 1, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.privacyContext, jspb$o$privacy$context$external$ExternalPrivacyContext.fromObject));
  jspb_internal_adapters.setEnumField(msg, 2, obj.productIdOrigin);
  jspb_internal_adapters.setWrapperField(msg, jspb$google$internal$identity$signedoutstate$v1$MutableSignedOutState, 3, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.signedOutState, jspb$o$google$internal$identity$signedoutstate$v1$SignedOutState.fromObject));
  return msg;
};
var jspb$o$wireless_android_play_playlog$LogEvent = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {eventTimeMs:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64StringFieldNullable(msg, 1)), eventUptimeMs:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64StringFieldNullable(msg, 17)), bootCount:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 22)), sequencePosition:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 
    21)), tag:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), eventCode:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 11)), componentId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 26)), eventFlowId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 
    12)), isUserInitiated:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 10)), valueList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getValueList(), jspb$o$wireless_android_play_playlog$LogEventKeyValues.internal_toObject), store:module$contents$jspb_internal_public_for_gencode_toObjectBytes(msg.getStore()), appUsage1p:jspb$o$wireless_android_play_playlog$AppUsage1pLogEvent.internal_toObject(msg.getAppUsage1p()), 
    sourceExtension:module$contents$jspb_internal_public_for_gencode_toObjectBytes(msg.getSourceExtension()), sourceExtensionJs:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 8)), sourceExtensionJson:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 13)), sourceExtensionJsonProto3:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    29)), exp:jspb$o$wireless_android_play_playlog$ActiveExperiments.internal_toObject(msg.getExp()), testId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 14)), timezoneOffsetSeconds:jspb_internal_adapters.getInt64FieldWithDefault(msg, 15, 18E4), experimentIds:jspb$o$experiments$heterodyne$ExperimentIds.internal_toObject(msg.getExperimentIds()), clientVe:module$contents$jspb_internal_public_for_gencode_toObjectBytes(msg.getClientVe()), 
    clientVeJs:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 24)), internalEvent:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 19)), testCodeList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedInt32Field(msg, 20, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN)), 
    genericDimensionsList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedInt32Field(msg, 27, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN)), networkConnectionInfo:jspb$o$wireless_android_play_playlog$NetworkConnectionInfo.internal_toObject(msg.getNetworkConnectionInfo()), inDirectBootMode:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 
    25)), zwiebackCookieOverride:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 28)), moduleAppliedSamplingRate:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getFloatingPointFieldNullable(msg, 30)), clientAppliedSamplingRate:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getFloatingPointFieldNullable(msg, 32)), remoteConfigMetadata:jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata.internal_toObject(msg.getRemoteConfigMetadata()), 
    complianceData:jspb$o$wireless_android_play_playlog$ComplianceData.internal_toObject(msg.getComplianceData()), useSessionZwieback:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 34))};
  }
}};
jspb$wireless_android_play_playlog$MutableLogEvent.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$LogEvent.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$LogEvent.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableLogEvent();
  jspb_internal_adapters.setInt64StringField(msg, 1, obj.eventTimeMs);
  jspb_internal_adapters.setInt64StringField(msg, 17, obj.eventUptimeMs);
  jspb_internal_adapters.setInt64Field(msg, 22, obj.bootCount);
  jspb_internal_adapters.setInt64Field(msg, 21, obj.sequencePosition);
  jspb_internal_adapters.setStringField(msg, 2, obj.tag);
  jspb_internal_adapters.setInt32Field(msg, 11, obj.eventCode);
  jspb_internal_adapters.setStringField(msg, 26, obj.componentId);
  jspb_internal_adapters.setInt64Field(msg, 12, obj.eventFlowId);
  jspb_internal_adapters.setBooleanField(msg, 10, obj.isUserInitiated);
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$wireless_android_play_playlog$MutableLogEventKeyValues, 3, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.valueList, jspb$o$wireless_android_play_playlog$LogEventKeyValues.fromObject));
  jspb_internal_adapters.setBytesField(msg, 4, obj.store);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableAppUsage1pLogEvent, 9, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.appUsage1p, jspb$o$wireless_android_play_playlog$AppUsage1pLogEvent.fromObject));
  jspb_internal_adapters.setBytesField(msg, 6, obj.sourceExtension);
  jspb_internal_adapters.setStringField(msg, 8, obj.sourceExtensionJs);
  jspb_internal_adapters.setStringField(msg, 13, obj.sourceExtensionJson);
  jspb_internal_adapters.setStringField(msg, 29, obj.sourceExtensionJsonProto3);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableActiveExperiments, 7, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.exp, jspb$o$wireless_android_play_playlog$ActiveExperiments.fromObject));
  jspb_internal_adapters.setStringField(msg, 14, obj.testId);
  jspb_internal_adapters.setInt64Field(msg, 15, obj.timezoneOffsetSeconds);
  jspb_internal_adapters.setWrapperField(msg, jspb$experiments$heterodyne$MutableExperimentIds, 16, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.experimentIds, jspb$o$experiments$heterodyne$ExperimentIds.fromObject));
  jspb_internal_adapters.setBytesField(msg, 18, obj.clientVe);
  jspb_internal_adapters.setStringField(msg, 24, obj.clientVeJs);
  jspb_internal_adapters.setEnumField(msg, 19, obj.internalEvent);
  jspb_internal_adapters.setRepeatedInt32Field(msg, 20, obj.testCodeList);
  jspb_internal_adapters.setRepeatedInt32Field(msg, 27, obj.genericDimensionsList);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableNetworkConnectionInfo, 23, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.networkConnectionInfo, jspb$o$wireless_android_play_playlog$NetworkConnectionInfo.fromObject));
  jspb_internal_adapters.setBooleanField(msg, 25, obj.inDirectBootMode);
  jspb_internal_adapters.setStringField(msg, 28, obj.zwiebackCookieOverride);
  jspb_internal_adapters.setFloatingPointField(msg, 30, obj.moduleAppliedSamplingRate);
  jspb_internal_adapters.setFloatingPointField(msg, 32, obj.clientAppliedSamplingRate);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableClearcutLoggerRemoteConfigMetadata, 35, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.remoteConfigMetadata, jspb$o$wireless_android_play_playlog$ClearcutLoggerRemoteConfigMetadata.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableComplianceData, 33, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.complianceData, jspb$o$wireless_android_play_playlog$ComplianceData.fromObject));
  jspb_internal_adapters.setBooleanField(msg, 34, obj.useSessionZwieback);
  return msg;
};
proto.wireless_android_play_playlog.ReadonlyLogEvent = {};
proto.wireless_android_play_playlog.LogEvent = jspb$wireless_android_play_playlog$MutableLogEvent;
jspb$wireless_android_play_playlog$MutableLogEvent.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$wireless_android_play_playlog$MutableLogEvent, jspb$b$wireless_android_play_playlog$LogEvent.fields);
jspb$wireless_android_play_playlog$MutableLogEvent.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$LogEvent.fields);
jspb$wireless_android_play_playlog$MutableLogEvent.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$wireless_android_play_playlog$LogEvent.fields);
jspb$wireless_android_play_playlog$MutableLogEvent.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$wireless_android_play_playlog$MutableLogEvent, jspb$b$wireless_android_play_playlog$LogEvent.fields);
jspb$wireless_android_play_playlog$MutableLogEvent.fromObject = jspb$o$wireless_android_play_playlog$LogEvent.fromObject;
proto.wireless_android_play_playlog.MutableLogEvent = jspb$wireless_android_play_playlog$MutableLogEvent;
jspb$wireless_android_play_playlog$ImmutableLogEvent.serializeBinary = jspb$wireless_android_play_playlog$MutableLogEvent.serializeBinary;
jspb$wireless_android_play_playlog$ImmutableLogEvent.serializeBinaryToByteString = jspb$wireless_android_play_playlog$MutableLogEvent.serializeBinaryToByteString;
jspb$wireless_android_play_playlog$ImmutableLogEvent.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$wireless_android_play_playlog$MutableLogEvent.deserializeBinary);
jspb$wireless_android_play_playlog$ImmutableLogEvent.makeCrossSerializerComparisonsCompatible = jspb$wireless_android_play_playlog$MutableLogEvent.makeCrossSerializerComparisonsCompatible;
proto.wireless_android_play_playlog.ImmutableLogEvent = jspb$wireless_android_play_playlog$ImmutableLogEvent;
jspb$e.wireless_android_play_playlog$LogRequest$SchedulerType = {UNKNOWN_SCHEDULER:0, ASAP:1, DEFAULT_PERIODIC:2, QOS_FAST_ONEOFF:3, QOS_DEFAULT_PERIODIC:4, QOS_UNMETERED_PERIODIC:5, BACKSTOP_PERIODIC:6};
var jspb$wireless_android_play_playlog$MutableCollectForDebug = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableCollectForDebug, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableCollectForDebug.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableCollectForDebug);
jspb$wireless_android_play_playlog$MutableCollectForDebug.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableCollectForDebug);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableCollectForDebug.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.CollectForDebug");
var jspb$b$wireless_android_play_playlog$CollectForDebug = {};
jspb$b$wireless_android_play_playlog$CollectForDebug.fields = [0, jspb_internal_binary.RInt64StringWInt64, jspb_internal_binary.RWBool, jspb_internal_binary.RWInt64];
jspb$wireless_android_play_playlog$MutableCollectForDebug.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$CollectForDebug.fields);
var jspb$wireless_android_play_playlog$MutableDeviceStatus = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableDeviceStatus, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableDeviceStatus.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableDeviceStatus);
jspb$wireless_android_play_playlog$MutableDeviceStatus.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableDeviceStatus);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableDeviceStatus.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.DeviceStatus");
var jspb$b$wireless_android_play_playlog$DeviceStatus = {};
jspb$b$wireless_android_play_playlog$DeviceStatus.fields = [0, jspb_internal_binary.RWBool, -1, jspb_internal_binary.RWEnum, jspb_internal_binary.RWBool];
jspb$wireless_android_play_playlog$MutableDeviceStatus.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$DeviceStatus.fields);
var jspb$wireless_android_play_playlog$MutableExternalTimestamp = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableExternalTimestamp, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableExternalTimestamp.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableExternalTimestamp);
jspb$wireless_android_play_playlog$MutableExternalTimestamp.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableExternalTimestamp);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableExternalTimestamp.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.ExternalTimestamp");
var jspb$b$wireless_android_play_playlog$ExternalTimestamp = {};
jspb$b$wireless_android_play_playlog$ExternalTimestamp.fields = [0, jspb_internal_binary.RWInt64, -1, jspb_internal_binary.RWString];
jspb$wireless_android_play_playlog$MutableExternalTimestamp.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$ExternalTimestamp.fields);
var jspb$wireless_android_play_playlog$MutableLogRequest = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data, 19);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableLogRequest, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.setRequestTimeMs = function(value) {
  return jspb_internal_adapters.setInt64StringField(this, 4, value);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.getClientInfo = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableClientInfo, 1);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.getMutableClientInfo = function() {
  return jspb_internal_adapters.getMutableWrapperField(this, jspb$wireless_android_play_playlog$MutableClientInfo, 1);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.setClientInfo = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$wireless_android_play_playlog$MutableClientInfo, 1, value);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.setLogSource = function(value) {
  return jspb_internal_adapters.setEnumField(this, 2, value);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.getLogEventList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$wireless_android_play_playlog$MutableLogEvent, 3, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.setLogEventList = function(value) {
  return jspb_internal_adapters.setRepeatedWrapperField(this, jspb$wireless_android_play_playlog$MutableLogEvent, 3, value);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.getSerializedLogEventsList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedBytesField(this, 5, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.setLogEventDroppedCount = function(value) {
  return jspb_internal_adapters.setInt64Field(this, 14, value);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.getLogEventDroppedCountOrUndefined_asLegacyNumberOrString = function() {
  return jspb_internal_adapters.getInt64FieldOrUndefined(this, 14);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.getQosTier = function() {
  return jspb_internal_adapters.getEnumFieldWithDefault(this, 9, 0);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.getDeviceStatus = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableDeviceStatus, 11);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.getExternalTimestamp = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableExternalTimestamp, 12);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.getCollectForDebug = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableCollectForDebug, 13);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.getComplianceData = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableComplianceData, 18);
};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.setComplianceData = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$wireless_android_play_playlog$MutableComplianceData, 18, value);
};
jspb$wireless_android_play_playlog$MutableLogRequest.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableLogRequest);
jspb$wireless_android_play_playlog$MutableLogRequest.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableLogRequest);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableLogRequest.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.LogRequest");
jspb$wireless_android_play_playlog$MutableLogRequest.internalDoNotUse$wireless_android_play_playlog$LogRequest$extensionsBinary = {};
var jspb$b$wireless_android_play_playlog$LogRequest = {};
jspb$b$wireless_android_play_playlog$LogRequest.fields = [-19, jspb$wireless_android_play_playlog$MutableLogRequest.internalDoNotUse$wireless_android_play_playlog$LogRequest$extensionsBinary, jspb$b$wireless_android_play_playlog$ClientInfo.fields, jspb_internal_binary.RWEnum, jspb_internal_binary.RWRepeatedMessage, jspb$b$wireless_android_play_playlog$LogEvent.fields, jspb_internal_binary.RInt64StringWInt64, jspb_internal_binary.RWRepeatedBytes, jspb_internal_binary.RWString, -1, jspb_internal_binary.RInt64StringWInt64, 
jspb_internal_binary.RWEnum, -1, jspb$b$wireless_android_play_playlog$DeviceStatus.fields, jspb$b$wireless_android_play_playlog$ExternalTimestamp.fields, jspb$b$wireless_android_play_playlog$CollectForDebug.fields, jspb_internal_binary.RWInt64, 1, jspb_internal_binary.RWUint32, 1, jspb$b$wireless_android_play_playlog$ComplianceData.fields];
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$LogRequest.fields);
var jspb$wireless_android_play_playlog$ImmutableLogRequest = function() {
};
jspb$wireless_android_play_playlog$ImmutableLogRequest.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableLogRequest);
jspb$wireless_android_play_playlog$ImmutableLogRequest.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$wireless_android_play_playlog$MutableLogRequest);
jspb$wireless_android_play_playlog$ImmutableLogRequest.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$wireless_android_play_playlog$MutableLogRequest);
var jspb$o$wireless_android_play_playlog$CollectForDebug = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {collectStartMs:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 3)), collectUntilMs:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64StringFieldNullable(msg, 1)), skipPersistentLogStorage:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 
    2))};
  }
}};
jspb$wireless_android_play_playlog$MutableCollectForDebug.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$CollectForDebug.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$CollectForDebug.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableCollectForDebug();
  jspb_internal_adapters.setInt64Field(msg, 3, obj.collectStartMs);
  jspb_internal_adapters.setInt64StringField(msg, 1, obj.collectUntilMs);
  jspb_internal_adapters.setBooleanField(msg, 2, obj.skipPersistentLogStorage);
  return msg;
};
var jspb$o$wireless_android_play_playlog$DeviceStatus = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {isUnmetered:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 1)), isCharging:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 2)), autoTimeStatus:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 3)), isGooglerDevice:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 
    4))};
  }
}};
jspb$wireless_android_play_playlog$MutableDeviceStatus.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$DeviceStatus.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$DeviceStatus.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableDeviceStatus();
  jspb_internal_adapters.setBooleanField(msg, 1, obj.isUnmetered);
  jspb_internal_adapters.setBooleanField(msg, 2, obj.isCharging);
  jspb_internal_adapters.setEnumField(msg, 3, obj.autoTimeStatus);
  jspb_internal_adapters.setBooleanField(msg, 4, obj.isGooglerDevice);
  return msg;
};
var jspb$o$wireless_android_play_playlog$ExternalTimestamp = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {timeMs:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 1)), uptimeMs:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 2)), source:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3))};
  }
}};
jspb$wireless_android_play_playlog$MutableExternalTimestamp.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$ExternalTimestamp.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$ExternalTimestamp.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableExternalTimestamp();
  jspb_internal_adapters.setInt64Field(msg, 1, obj.timeMs);
  jspb_internal_adapters.setInt64Field(msg, 2, obj.uptimeMs);
  jspb_internal_adapters.setStringField(msg, 3, obj.source);
  return msg;
};
var jspb$o$wireless_android_play_playlog$LogRequest = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {requestTimeMs:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64StringFieldNullable(msg, 4)), requestUptimeMs:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64StringFieldNullable(msg, 8)), clientInfo:jspb$o$wireless_android_play_playlog$ClientInfo.internal_toObject(msg.getClientInfo()), logSource:jspb_internal_adapters.getEnumFieldWithDefault(msg, 
    2, -1), logSourceName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 6)), zwiebackCookie:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7)), logEventList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getLogEventList(), jspb$o$wireless_android_play_playlog$LogEvent.internal_toObject), serializedLogEventsList:module$contents$jspb_internal_public_for_gencode_toObjectBytes(msg.getSerializedLogEventsList()), 
    logEventDroppedCount:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 14)), qosTier:jspb_internal_adapters.getEnumFieldWithDefault(msg, 9, 0), scheduler:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 10)), deviceStatus:jspb$o$wireless_android_play_playlog$DeviceStatus.internal_toObject(msg.getDeviceStatus()), externalTimestamp:jspb$o$wireless_android_play_playlog$ExternalTimestamp.internal_toObject(msg.getExternalTimestamp()), 
    collectForDebug:jspb$o$wireless_android_play_playlog$CollectForDebug.internal_toObject(msg.getCollectForDebug()), appMobilespecId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getUint32FieldNullable(msg, 16)), complianceData:jspb$o$wireless_android_play_playlog$ComplianceData.internal_toObject(msg.getComplianceData())};
  }
}};
jspb$wireless_android_play_playlog$MutableLogRequest.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$LogRequest.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$LogRequest.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableLogRequest();
  jspb_internal_adapters.setInt64StringField(msg, 4, obj.requestTimeMs);
  jspb_internal_adapters.setInt64StringField(msg, 8, obj.requestUptimeMs);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableClientInfo, 1, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.clientInfo, jspb$o$wireless_android_play_playlog$ClientInfo.fromObject));
  jspb_internal_adapters.setEnumField(msg, 2, obj.logSource);
  jspb_internal_adapters.setStringField(msg, 6, obj.logSourceName);
  jspb_internal_adapters.setStringField(msg, 7, obj.zwiebackCookie);
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$wireless_android_play_playlog$MutableLogEvent, 3, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.logEventList, jspb$o$wireless_android_play_playlog$LogEvent.fromObject));
  jspb_internal_adapters.setRepeatedBytesField(msg, 5, obj.serializedLogEventsList);
  jspb_internal_adapters.setInt64Field(msg, 14, obj.logEventDroppedCount);
  jspb_internal_adapters.setEnumField(msg, 9, obj.qosTier);
  jspb_internal_adapters.setEnumField(msg, 10, obj.scheduler);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableDeviceStatus, 11, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.deviceStatus, jspb$o$wireless_android_play_playlog$DeviceStatus.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableExternalTimestamp, 12, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.externalTimestamp, jspb$o$wireless_android_play_playlog$ExternalTimestamp.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableCollectForDebug, 13, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.collectForDebug, jspb$o$wireless_android_play_playlog$CollectForDebug.fromObject));
  jspb_internal_adapters.setUint32Field(msg, 16, obj.appMobilespecId);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableComplianceData, 18, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.complianceData, jspb$o$wireless_android_play_playlog$ComplianceData.fromObject));
  return msg;
};
proto.wireless_android_play_playlog.ReadonlyLogRequest = {};
proto.wireless_android_play_playlog.LogRequest = jspb$wireless_android_play_playlog$MutableLogRequest;
jspb$wireless_android_play_playlog$MutableLogRequest.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$wireless_android_play_playlog$MutableLogRequest, jspb$b$wireless_android_play_playlog$LogRequest.fields);
jspb$wireless_android_play_playlog$MutableLogRequest.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$LogRequest.fields);
jspb$wireless_android_play_playlog$MutableLogRequest.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$wireless_android_play_playlog$LogRequest.fields);
jspb$wireless_android_play_playlog$MutableLogRequest.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$wireless_android_play_playlog$MutableLogRequest, jspb$b$wireless_android_play_playlog$LogRequest.fields);
jspb$wireless_android_play_playlog$MutableLogRequest.fromObject = jspb$o$wireless_android_play_playlog$LogRequest.fromObject;
proto.wireless_android_play_playlog.MutableLogRequest = jspb$wireless_android_play_playlog$MutableLogRequest;
jspb$wireless_android_play_playlog$ImmutableLogRequest.serializeBinary = jspb$wireless_android_play_playlog$MutableLogRequest.serializeBinary;
jspb$wireless_android_play_playlog$ImmutableLogRequest.serializeBinaryToByteString = jspb$wireless_android_play_playlog$MutableLogRequest.serializeBinaryToByteString;
jspb$wireless_android_play_playlog$ImmutableLogRequest.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$wireless_android_play_playlog$MutableLogRequest.deserializeBinary);
jspb$wireless_android_play_playlog$ImmutableLogRequest.makeCrossSerializerComparisonsCompatible = jspb$wireless_android_play_playlog$MutableLogRequest.makeCrossSerializerComparisonsCompatible;
proto.wireless_android_play_playlog.ImmutableLogRequest = jspb$wireless_android_play_playlog$ImmutableLogRequest;
var jspb$wireless_android_play_playlog$MutableExperimentIdList = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableExperimentIdList, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableExperimentIdList.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableExperimentIdList);
jspb$wireless_android_play_playlog$MutableExperimentIdList.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableExperimentIdList);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableExperimentIdList.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.ExperimentIdList");
var jspb$b$wireless_android_play_playlog$ExperimentIdList = {};
jspb$b$wireless_android_play_playlog$ExperimentIdList.fields = [0, jspb_internal_binary.RWRepeatedString];
jspb$wireless_android_play_playlog$MutableExperimentIdList.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$ExperimentIdList.fields);
var jspb$wireless_android_play_playlog$MutableLogResponseDetails = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableLogResponseDetails, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableLogResponseDetails.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableLogResponseDetails);
jspb$wireless_android_play_playlog$MutableLogResponseDetails.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableLogResponseDetails);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableLogResponseDetails.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.LogResponseDetails");
var jspb$b$wireless_android_play_playlog$LogResponseDetails = {};
jspb$b$wireless_android_play_playlog$LogResponseDetails.fields = [0, jspb_internal_binary.RWInt32, jspb_internal_binary.RWEnum];
jspb$wireless_android_play_playlog$MutableLogResponseDetails.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$LogResponseDetails.fields);
var jspb$wireless_android_play_playlog$MutableLogSourceBatchingDenylist = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableLogSourceBatchingDenylist, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableLogSourceBatchingDenylist.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableLogSourceBatchingDenylist);
jspb$wireless_android_play_playlog$MutableLogSourceBatchingDenylist.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableLogSourceBatchingDenylist);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableLogSourceBatchingDenylist.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.LogSourceBatchingDenylist");
var jspb$b$wireless_android_play_playlog$LogSourceBatchingDenylist = {};
jspb$b$wireless_android_play_playlog$LogSourceBatchingDenylist.fields = [0, jspb_internal_binary.RWRepeatedString];
jspb$wireless_android_play_playlog$MutableLogSourceBatchingDenylist.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$LogSourceBatchingDenylist.fields);
var jspb$wireless_android_play_playlog$MutableProductIdZwiebackToken = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableProductIdZwiebackToken, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableProductIdZwiebackToken.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableProductIdZwiebackToken);
jspb$wireless_android_play_playlog$MutableProductIdZwiebackToken.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableProductIdZwiebackToken);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableProductIdZwiebackToken.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.ProductIdZwiebackToken");
var jspb$b$wireless_android_play_playlog$ProductIdZwiebackToken = {};
jspb$b$wireless_android_play_playlog$ProductIdZwiebackToken.fields = [0, jspb_internal_binary.RWInt32, jspb_internal_binary.RWString];
jspb$wireless_android_play_playlog$MutableProductIdZwiebackToken.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$ProductIdZwiebackToken.fields);
var jspb$wireless_android_play_playlog$MutableQosTierConfiguration = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableQosTierConfiguration, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableQosTierConfiguration.prototype.getQosTier = function() {
  return jspb_internal_adapters.getEnumFieldWithDefault(this, 2, 0);
};
jspb$wireless_android_play_playlog$MutableQosTierConfiguration.prototype.setLogSource = function(value) {
  return jspb_internal_adapters.setEnumField(this, 3, value);
};
jspb$wireless_android_play_playlog$MutableQosTierConfiguration.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableQosTierConfiguration);
jspb$wireless_android_play_playlog$MutableQosTierConfiguration.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableQosTierConfiguration);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableQosTierConfiguration.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.QosTierConfiguration");
var jspb$b$wireless_android_play_playlog$QosTierConfiguration = {};
jspb$b$wireless_android_play_playlog$QosTierConfiguration.fields = [0, jspb_internal_binary.RWString, jspb_internal_binary.RWEnum, -1];
jspb$wireless_android_play_playlog$MutableQosTierConfiguration.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$QosTierConfiguration.fields);
var jspb$wireless_android_play_playlog$MutableQosTiersOverride = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableQosTiersOverride, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableQosTiersOverride.prototype.getQosTierConfigurationList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$wireless_android_play_playlog$MutableQosTierConfiguration, 1, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$wireless_android_play_playlog$MutableQosTiersOverride.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableQosTiersOverride);
jspb$wireless_android_play_playlog$MutableQosTiersOverride.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableQosTiersOverride);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableQosTiersOverride.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.QosTiersOverride");
var jspb$b$wireless_android_play_playlog$QosTiersOverride = {};
jspb$b$wireless_android_play_playlog$QosTiersOverride.fields = [0, jspb_internal_binary.RWRepeatedMessage, jspb$b$wireless_android_play_playlog$QosTierConfiguration.fields, jspb_internal_binary.RWInt64];
jspb$wireless_android_play_playlog$MutableQosTiersOverride.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$QosTiersOverride.fields);
var jspb$wireless_android_play_playlog$MutableSessionZwieback = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableSessionZwieback, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableSessionZwieback.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableSessionZwieback);
jspb$wireless_android_play_playlog$MutableSessionZwieback.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableSessionZwieback);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableSessionZwieback.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.SessionZwieback");
var jspb$b$wireless_android_play_playlog$SessionZwieback = {};
jspb$b$wireless_android_play_playlog$SessionZwieback.fields = [0, jspb_internal_binary.RWString, -1];
jspb$wireless_android_play_playlog$MutableSessionZwieback.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$SessionZwieback.fields);
var jspb$wireless_android_play_playlog$MutableLogResponse = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data, 8);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableLogResponse, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableLogResponse.prototype.getNextRequestWaitMillis_asLegacyNumberOrString = function() {
  return jspb_internal_adapters.getInt64StringFieldWithDefault(this, 1, "-1");
};
jspb$wireless_android_play_playlog$MutableLogResponse.prototype.getExperiments = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableExperimentIdList, 2);
};
jspb$wireless_android_play_playlog$MutableLogResponse.prototype.getQosTier = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableQosTiersOverride, 3);
};
jspb$wireless_android_play_playlog$MutableLogResponse.prototype.getLogSourceBatchingDenylist = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$wireless_android_play_playlog$MutableLogSourceBatchingDenylist, 4);
};
jspb$wireless_android_play_playlog$MutableLogResponse.prototype.getLogResponseDetailsList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$wireless_android_play_playlog$MutableLogResponseDetails, 5, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$wireless_android_play_playlog$MutableLogResponse.prototype.getProductIdZwiebackTokensList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$wireless_android_play_playlog$MutableProductIdZwiebackToken, 6, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$wireless_android_play_playlog$MutableLogResponse.prototype.getSessionZwiebacksList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$wireless_android_play_playlog$MutableSessionZwieback, 7, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$wireless_android_play_playlog$MutableLogResponse.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableLogResponse);
jspb$wireless_android_play_playlog$MutableLogResponse.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableLogResponse);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableLogResponse.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.LogResponse");
jspb$wireless_android_play_playlog$MutableLogResponse.internalDoNotUse$wireless_android_play_playlog$LogResponse$extensions = module$contents$jspb_internal_public_for_gencode_makeExtensionsObject(jspb$wireless_android_play_playlog$MutableLogResponse);
jspb$wireless_android_play_playlog$MutableLogResponse.internalDoNotUse$wireless_android_play_playlog$LogResponse$extensionsBinary = {};
var jspb$b$wireless_android_play_playlog$LogResponse = {};
jspb$b$wireless_android_play_playlog$LogResponse.fields = [-8, jspb$wireless_android_play_playlog$MutableLogResponse.internalDoNotUse$wireless_android_play_playlog$LogResponse$extensionsBinary, jspb_internal_binary.RInt64StringWInt64, jspb$b$wireless_android_play_playlog$ExperimentIdList.fields, jspb$b$wireless_android_play_playlog$QosTiersOverride.fields, jspb$b$wireless_android_play_playlog$LogSourceBatchingDenylist.fields, jspb_internal_binary.RWRepeatedMessage, jspb$b$wireless_android_play_playlog$LogResponseDetails.fields, 
jspb_internal_binary.RWRepeatedMessage, jspb$b$wireless_android_play_playlog$ProductIdZwiebackToken.fields, jspb_internal_binary.RWRepeatedMessage, jspb$b$wireless_android_play_playlog$SessionZwieback.fields];
jspb$wireless_android_play_playlog$MutableLogResponse.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$LogResponse.fields);
var jspb$wireless_android_play_playlog$ImmutableLogResponse = function() {
};
jspb$wireless_android_play_playlog$ImmutableLogResponse.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableLogResponse);
jspb$wireless_android_play_playlog$ImmutableLogResponse.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$wireless_android_play_playlog$MutableLogResponse);
jspb$wireless_android_play_playlog$ImmutableLogResponse.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$wireless_android_play_playlog$MutableLogResponse);
var jspb$o$wireless_android_play_playlog$ExperimentIdList = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {idList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedStringField(msg, 1, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN))};
  }
}};
jspb$wireless_android_play_playlog$MutableExperimentIdList.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$ExperimentIdList.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$ExperimentIdList.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableExperimentIdList();
  jspb_internal_adapters.setRepeatedStringField(msg, 1, obj.idList);
  return msg;
};
var jspb$o$wireless_android_play_playlog$LogResponseDetails = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {logRequestIndex:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 1)), responseAction:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 2))};
  }
}};
jspb$wireless_android_play_playlog$MutableLogResponseDetails.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$LogResponseDetails.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$LogResponseDetails.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableLogResponseDetails();
  jspb_internal_adapters.setInt32Field(msg, 1, obj.logRequestIndex);
  jspb_internal_adapters.setEnumField(msg, 2, obj.responseAction);
  return msg;
};
var jspb$o$wireless_android_play_playlog$LogSourceBatchingDenylist = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {logSourceNameList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedStringField(msg, 1, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN))};
  }
}};
jspb$wireless_android_play_playlog$MutableLogSourceBatchingDenylist.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$LogSourceBatchingDenylist.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$LogSourceBatchingDenylist.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableLogSourceBatchingDenylist();
  jspb_internal_adapters.setRepeatedStringField(msg, 1, obj.logSourceNameList);
  return msg;
};
var jspb$o$wireless_android_play_playlog$ProductIdZwiebackToken = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {productId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 1)), zwiebackToken:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2))};
  }
}};
jspb$wireless_android_play_playlog$MutableProductIdZwiebackToken.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$ProductIdZwiebackToken.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$ProductIdZwiebackToken.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableProductIdZwiebackToken();
  jspb_internal_adapters.setInt32Field(msg, 1, obj.productId);
  jspb_internal_adapters.setStringField(msg, 2, obj.zwiebackToken);
  return msg;
};
var jspb$o$wireless_android_play_playlog$QosTierConfiguration = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {logSourceName:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), qosTier:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 2)), logSource:jspb_internal_adapters.getEnumFieldWithDefault(msg, 3, -1)};
  }
}};
jspb$wireless_android_play_playlog$MutableQosTierConfiguration.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$QosTierConfiguration.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$QosTierConfiguration.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableQosTierConfiguration();
  jspb_internal_adapters.setStringField(msg, 1, obj.logSourceName);
  jspb_internal_adapters.setEnumField(msg, 2, obj.qosTier);
  jspb_internal_adapters.setEnumField(msg, 3, obj.logSource);
  return msg;
};
var jspb$o$wireless_android_play_playlog$QosTiersOverride = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {qosTierConfigurationList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getQosTierConfigurationList(), jspb$o$wireless_android_play_playlog$QosTierConfiguration.internal_toObject), qosTierFingerprint:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt64FieldNullable(msg, 2))};
  }
}};
jspb$wireless_android_play_playlog$MutableQosTiersOverride.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$QosTiersOverride.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$QosTiersOverride.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableQosTiersOverride();
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$wireless_android_play_playlog$MutableQosTierConfiguration, 1, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.qosTierConfigurationList, jspb$o$wireless_android_play_playlog$QosTierConfiguration.fromObject));
  jspb_internal_adapters.setInt64Field(msg, 2, obj.qosTierFingerprint);
  return msg;
};
var jspb$o$wireless_android_play_playlog$SessionZwieback = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {logSourceName:jspb_internal_adapters.getStringFieldWithDefault(msg, 1, "UNKNOWN"), zwiebackToken:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2))};
  }
}};
jspb$wireless_android_play_playlog$MutableSessionZwieback.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$SessionZwieback.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$SessionZwieback.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableSessionZwieback();
  jspb_internal_adapters.setStringField(msg, 1, obj.logSourceName);
  jspb_internal_adapters.setStringField(msg, 2, obj.zwiebackToken);
  return msg;
};
var jspb$o$wireless_android_play_playlog$LogResponse = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {nextRequestWaitMillis:jspb_internal_adapters.getInt64StringFieldWithDefault(msg, 1, "-1"), experiments:jspb$o$wireless_android_play_playlog$ExperimentIdList.internal_toObject(msg.getExperiments()), qosTier:jspb$o$wireless_android_play_playlog$QosTiersOverride.internal_toObject(msg.getQosTier()), logSourceBatchingDenylist:jspb$o$wireless_android_play_playlog$LogSourceBatchingDenylist.internal_toObject(msg.getLogSourceBatchingDenylist()), 
    logResponseDetailsList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getLogResponseDetailsList(), jspb$o$wireless_android_play_playlog$LogResponseDetails.internal_toObject), productIdZwiebackTokensList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getProductIdZwiebackTokensList(), jspb$o$wireless_android_play_playlog$ProductIdZwiebackToken.internal_toObject), sessionZwiebacksList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getSessionZwiebacksList(), 
    jspb$o$wireless_android_play_playlog$SessionZwieback.internal_toObject)};
  }
}};
jspb$wireless_android_play_playlog$MutableLogResponse.prototype.toObject = function() {
  return jspb$o$wireless_android_play_playlog$LogResponse.internal_toObject(this);
};
jspb$o$wireless_android_play_playlog$LogResponse.fromObject = function(obj) {
  var msg = new jspb$wireless_android_play_playlog$MutableLogResponse();
  jspb_internal_adapters.setInt64StringField(msg, 1, obj.nextRequestWaitMillis);
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableExperimentIdList, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.experiments, jspb$o$wireless_android_play_playlog$ExperimentIdList.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableQosTiersOverride, 3, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.qosTier, jspb$o$wireless_android_play_playlog$QosTiersOverride.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$wireless_android_play_playlog$MutableLogSourceBatchingDenylist, 4, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.logSourceBatchingDenylist, jspb$o$wireless_android_play_playlog$LogSourceBatchingDenylist.fromObject));
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$wireless_android_play_playlog$MutableLogResponseDetails, 5, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.logResponseDetailsList, jspb$o$wireless_android_play_playlog$LogResponseDetails.fromObject));
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$wireless_android_play_playlog$MutableProductIdZwiebackToken, 6, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.productIdZwiebackTokensList, jspb$o$wireless_android_play_playlog$ProductIdZwiebackToken.fromObject));
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$wireless_android_play_playlog$MutableSessionZwieback, 7, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.sessionZwiebacksList, jspb$o$wireless_android_play_playlog$SessionZwieback.fromObject));
  return msg;
};
proto.wireless_android_play_playlog.ReadonlyLogResponse = {};
proto.wireless_android_play_playlog.LogResponse = jspb$wireless_android_play_playlog$MutableLogResponse;
jspb$wireless_android_play_playlog$MutableLogResponse.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$wireless_android_play_playlog$MutableLogResponse, jspb$b$wireless_android_play_playlog$LogResponse.fields);
jspb$wireless_android_play_playlog$MutableLogResponse.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$LogResponse.fields);
jspb$wireless_android_play_playlog$MutableLogResponse.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$wireless_android_play_playlog$LogResponse.fields);
jspb$wireless_android_play_playlog$MutableLogResponse.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$wireless_android_play_playlog$MutableLogResponse, jspb$b$wireless_android_play_playlog$LogResponse.fields);
jspb$wireless_android_play_playlog$MutableLogResponse.fromObject = jspb$o$wireless_android_play_playlog$LogResponse.fromObject;
proto.wireless_android_play_playlog.MutableLogResponse = jspb$wireless_android_play_playlog$MutableLogResponse;
jspb$wireless_android_play_playlog$ImmutableLogResponse.serializeBinary = jspb$wireless_android_play_playlog$MutableLogResponse.serializeBinary;
jspb$wireless_android_play_playlog$ImmutableLogResponse.serializeBinaryToByteString = jspb$wireless_android_play_playlog$MutableLogResponse.serializeBinaryToByteString;
jspb$wireless_android_play_playlog$ImmutableLogResponse.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$wireless_android_play_playlog$MutableLogResponse.deserializeBinary);
jspb$wireless_android_play_playlog$ImmutableLogResponse.makeCrossSerializerComparisonsCompatible = jspb$wireless_android_play_playlog$MutableLogResponse.makeCrossSerializerComparisonsCompatible;
proto.wireless_android_play_playlog.ImmutableLogResponse = jspb$wireless_android_play_playlog$ImmutableLogResponse;
jspb$e.wireless_android_play_playlog$ComplianceData$ProductIdOrigin = {NOT_SET:0, CPS_APP_PROCESS_GLOBAL_PROVIDER:1, NON_CPS_APP_PROCESS_GLOBAL_PROVIDER:2, LOGGER_OVERRIDE_PROVIDER:3, LOGGER_DEFERRING_PROVIDER:4, EVENT_OVERRIDE:5, EVENT_DEFERRING:6, LOG_SOURCE_MAPPED:7, SERVER_INFRASTRUCTURE:8, LOG_REQUEST_SETTER_WEB:9, PRIVACY_CONTEXT_RESOLVER:10};
var jspb$wireless_android_play_playlog$ImmutableComplianceData = function() {
};
jspb$wireless_android_play_playlog$ImmutableComplianceData.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableComplianceData);
jspb$wireless_android_play_playlog$ImmutableComplianceData.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$wireless_android_play_playlog$MutableComplianceData);
jspb$wireless_android_play_playlog$ImmutableComplianceData.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$wireless_android_play_playlog$MutableComplianceData);
proto.wireless_android_play_playlog.ReadonlyComplianceData = {};
proto.wireless_android_play_playlog.ComplianceData = jspb$wireless_android_play_playlog$MutableComplianceData;
jspb$wireless_android_play_playlog$MutableComplianceData.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$wireless_android_play_playlog$MutableComplianceData, jspb$b$wireless_android_play_playlog$ComplianceData.fields);
jspb$wireless_android_play_playlog$MutableComplianceData.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$ComplianceData.fields);
jspb$wireless_android_play_playlog$MutableComplianceData.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$wireless_android_play_playlog$ComplianceData.fields);
jspb$wireless_android_play_playlog$MutableComplianceData.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$wireless_android_play_playlog$MutableComplianceData, jspb$b$wireless_android_play_playlog$ComplianceData.fields);
jspb$wireless_android_play_playlog$MutableComplianceData.fromObject = jspb$o$wireless_android_play_playlog$ComplianceData.fromObject;
proto.wireless_android_play_playlog.MutableComplianceData = jspb$wireless_android_play_playlog$MutableComplianceData;
jspb$wireless_android_play_playlog$ImmutableComplianceData.serializeBinary = jspb$wireless_android_play_playlog$MutableComplianceData.serializeBinary;
jspb$wireless_android_play_playlog$ImmutableComplianceData.serializeBinaryToByteString = jspb$wireless_android_play_playlog$MutableComplianceData.serializeBinaryToByteString;
jspb$wireless_android_play_playlog$ImmutableComplianceData.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$wireless_android_play_playlog$MutableComplianceData.deserializeBinary);
jspb$wireless_android_play_playlog$ImmutableComplianceData.makeCrossSerializerComparisonsCompatible = jspb$wireless_android_play_playlog$MutableComplianceData.makeCrossSerializerComparisonsCompatible;
proto.wireless_android_play_playlog.ImmutableComplianceData = jspb$wireless_android_play_playlog$ImmutableComplianceData;
var jspb$wireless_android_play_playlog$MutableJsLogResponseExtension = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$wireless_android_play_playlog$MutableJsLogResponseExtension, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$wireless_android_play_playlog$MutableJsLogResponseExtension.prototype.getSuggestedFlushIntervalMillis = function() {
  return jspb_internal_adapters.getInt32FieldWithDefault(this, 1, -1);
};
jspb$wireless_android_play_playlog$MutableJsLogResponseExtension.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$wireless_android_play_playlog$MutableJsLogResponseExtension);
jspb$wireless_android_play_playlog$MutableJsLogResponseExtension.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$wireless_android_play_playlog$MutableJsLogResponseExtension);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$wireless_android_play_playlog$MutableJsLogResponseExtension.internalDoNotUse_debugOnlyProtoTypeName = "wireless_android_play_playlog.JsLogResponseExtension");
var jspb$b$wireless_android_play_playlog$JsLogResponseExtension = {};
jspb$b$wireless_android_play_playlog$JsLogResponseExtension.fields = [0, jspb_internal_binary.RWInt32];
jspb$wireless_android_play_playlog$MutableJsLogResponseExtension.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$wireless_android_play_playlog$JsLogResponseExtension.fields);
proto.wireless_android_play_playlog.jsExtension = module$contents$jspb$internal_extension_field_info_createMessageExtension(175237375, jspb$wireless_android_play_playlog$MutableLogResponse, jspb$wireless_android_play_playlog$MutableJsLogResponseExtension);
jspb$wireless_android_play_playlog$MutableLogResponse.internalDoNotUse$wireless_android_play_playlog$LogResponse$extensionsBinary[175237375] = jspb$b$wireless_android_play_playlog$JsLogResponseExtension.fields;
jspb$wireless_android_play_playlog$MutableLogResponse.internalDoNotUse$wireless_android_play_playlog$LogResponse$extensions[175237375] = {jsExtension:proto.wireless_android_play_playlog.jsExtension};
var module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport = {ClearcutBase:function(options) {
  goog.Disposable.call(this);
  var $jscomp$this$740163812$4 = this;
  this.componentId = "";
  this.pendingEvents = [];
  this.lastFailedAuth = "";
  this.pageId = null;
  this.useGetRequestForFinalFlush = this.useSendBeaconForFinalFlush = this.clientSideLogOnlyForDevelopment = !1;
  this.noFlushUntilMs = this.startWaitingMs = -1;
  this.useConsistentTimezoneOffset = this.clientSpecifiedFlushInterval = !1;
  this.compressor = this.experimentIds = null;
  this.numRetriesSinceLastSuccessfulFlush = this.numLogsDroppedSinceLastFlush = 0;
  this.metalogService = null;
  this.persistedLogExpiredCount = this.persistedLogRecoveredCount = 0;
  this.sequencePosition = 1;
  this.timeoutMillis = 0;
  this.sendBeaconApiEnabled = !1;
  this.logSource = options.logSource;
  this.getAuthHeaderValue = options.getAuthHeaderValue || function() {
  };
  this.logRequestBuilder = new module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder(options.logSource, options.isServiceWorkerScope);
  this.network = options.network;
  this.productID = options.productID || null;
  this.bufferSize = module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.DEFAULT_BUFFER_SIZE;
  this.clearcutUrl = options.urlOverride || null;
  this.sessionIndex = options.sessionIndex || null;
  this.disableAutomaticFlush = options.disableAutomaticFlush || !1;
  this.logger = (0,goog.log.getLogger)("playlog.clearcut.ClearcutBase");
  this.withCredentials = !options.disableWithCredentials;
  this.isServiceWorkerScope = options.isServiceWorkerScope || !1;
  this.isSendBeaconSupported = !this.isServiceWorkerScope && !!(0,goog.dom.getWindow)() && !!(0,goog.dom.getWindow)().navigator && (0,goog.dom.getWindow)().navigator.sendBeacon !== void 0;
  this.isBrowserSupported = typeof URLSearchParams !== "undefined" && !!(new URL("https://play.google.com/log?format=json&hasfast=true")).searchParams && !!(new URL("https://play.google.com/log?format=json&hasfast=true")).searchParams.set;
  var cInfo = (new jspb$wireless_android_play_playlog$MutableClientInfo()).setClientType(jspb$e.wireless_android_play_playlog$ClientInfo$ClientType.JS);
  this.logRequestBuilder.setClientInfo(cInfo);
  this.flushBackoff = new goog.math.ExponentialBackoff(module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.DEFAULT_FLUSH_INTERVAL_MS, module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.DEFAULT_FLUSH_MAX_INTERVAL_MS, module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.DEFAULT_FLUSH_BACKOFF_RANDOM);
  var flushFn = this.getFlushFunction(options.backgroundJobDeferrer);
  this.flushTimer = new module$exports$google3$javascript$frameworks$client$analytics$transport$batch_timer.BatchTimer(this.flushBackoff.getValue(), flushFn);
  this.backupTimer = new module$exports$google3$javascript$frameworks$client$analytics$transport$batch_timer.BatchTimer(module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.BACKUP_FLUSH_INTERVAL_MS, flushFn);
  this.disableAutomaticFlush || this.backupTimer.start();
  this.isServiceWorkerScope || (document.addEventListener(goog.events.EventType.VISIBILITYCHANGE, function() {
    document.visibilityState === "hidden" && $jscomp$this$740163812$4.finalFlush();
  }), document.addEventListener(goog.events.EventType.PAGEHIDE, this.finalFlush.bind(this)));
}};
$jscomp.inherits(module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase, goog.Disposable);
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.getFlushFunction = function(backgroundJobDeferrer) {
  var $jscomp$this$740163812$5 = this;
  return this.isBrowserSupported ? backgroundJobDeferrer ? function() {
    backgroundJobDeferrer().then(function() {
      $jscomp$this$740163812$5.flush();
    });
  } : function() {
    $jscomp$this$740163812$5.flush();
  } : function() {
  };
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.disposeInternal = function() {
  this.finalFlush();
  this.flushTimer.stop();
  this.backupTimer.stop();
  goog.Disposable.prototype.disposeInternal.call(this);
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setUseConsistentTimezoneOffset = function(enabled) {
  this.useConsistentTimezoneOffset = enabled;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.getClearcutUrl = function() {
  this.clearcutUrl || (this.clearcutUrl = "https://play.google.com/log?format=json&hasfast=true");
  try {
    return (new URL(this.clearcutUrl)).toString();
  } catch (err) {
    return err instanceof Error && (0,goog.log.warning)(this.logger, "Unexpected value '" + this.clearcutUrl + "' passed toClearcutBuilder#setDestinationUrl. Attempting to use this as a relative URL, this may not behave as intended.\nOriginal Error: " + err.toString()), (new URL(this.clearcutUrl, (0,goog.dom.getWindow)().location.origin)).toString();
  }
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.dispatch = function(event) {
  if (event instanceof jspb$wireless_android_play_playlog$MutableLogEvent) {
    this.log(event);
  } else {
    try {
      var logEvent = (new jspb$wireless_android_play_playlog$MutableLogEvent()).setSourceExtensionJs(event.serialize());
      this.log(logEvent);
    } catch ($jscomp$unused$catch$740163812$0) {
      this.incrementMetalog(module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.DROPS_BY_SERIALIZATION_FAILURE, 1);
    }
  }
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setClearcutClientInfo = function(cInfo) {
  this.logRequestBuilder.setClientInfo(cInfo);
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setComponentId = function(componentId) {
  this.componentId = componentId;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setProductID = function(productID) {
  this.productID = productID;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setPageId = function(pageId) {
  this.pageId = pageId;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setMetalogService = function(metalogService) {
  this.metalogService = metalogService;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setOpaqueExperimentIds = function(opaqueExperimentIds) {
  this.experimentIds || (this.experimentIds = new jspb$experiments$heterodyne$MutableExperimentIds());
  this.experimentIds.setEncryptedBlobList([].concat((0,$jscomp.arrayFromIterable)(opaqueExperimentIds)));
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setClearExperimentIds = function(clearExperimentIds) {
  clearExperimentIds ? (this.experimentIds || (this.experimentIds = new jspb$experiments$heterodyne$MutableExperimentIds()), this.experimentIds.setClearBlobJs(clearExperimentIds.serialize())) : this.experimentIds && this.experimentIds.clearClearBlobJs();
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setClientSideLogOnlyForDevelopment = function(clientSideLogOnly) {
  this.clientSideLogOnlyForDevelopment = clientSideLogOnly;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setCompressor = function(compressor) {
  this.compressor = compressor;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setUseSendBeaconForFinalFlush = function(useSendBeaconForFinalFlush) {
  this.useSendBeaconForFinalFlush = useSendBeaconForFinalFlush && this.isSendBeaconSupported;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.useSendBeaconApi = function(useSendBeaconApi) {
  this.sendBeaconApiEnabled = useSendBeaconApi && this.isSendBeaconSupported;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setBuildLabel = function(buildLabel) {
  this.logRequestBuilder.setBuildLabel(buildLabel);
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setUseGetRequestForFinalFlush = function(useGetRequestForFinalFlush) {
  this.useGetRequestForFinalFlush = useGetRequestForFinalFlush;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setFlushIntervalMs = function(flushIntervalMs) {
  this.clientSpecifiedFlushInterval = !0;
  this.doUpdateFlushIntervalMs(flushIntervalMs);
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.setFlushIntervalInternalMs = function(flushIntervalMs) {
  this.clientSpecifiedFlushInterval || this.doUpdateFlushIntervalMs(flushIntervalMs);
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.doUpdateFlushIntervalMs = function(flushIntervalMs) {
  this.flushBackoff = new goog.math.ExponentialBackoff(flushIntervalMs < 1 ? 1 : flushIntervalMs, module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.DEFAULT_FLUSH_MAX_INTERVAL_MS, module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.DEFAULT_FLUSH_BACKOFF_RANDOM);
  this.flushTimer.setInterval(this.flushBackoff.getValue());
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.backoffFlushInterval = function() {
  this.flushBackoff.backoff();
  this.flushTimer.setInterval(this.flushBackoff.getValue());
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.resetFlushInterval = function() {
  this.flushBackoff.reset();
  this.flushTimer.setInterval(this.flushBackoff.getValue());
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.incrementMetalog = function(counter, amount) {
  this.metalogService && this.metalogService.increment(counter, amount);
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.log = function(evt) {
  this.incrementMetalog(module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.EVENTS_LOGGED, 1);
  if (this.isBrowserSupported) {
    evt = evt.clone().setSequencePosition(this.sequencePosition++);
    this.componentId && evt.setComponentId(this.componentId);
    if (!evt.hasEventTimeMs()) {
      var now = Date.now();
      evt.setEventTimeMs(Number.isFinite(now) ? now.toString() : "0");
    }
    evt.hasTimezoneOffsetSeconds() || evt.setTimezoneOffsetSeconds((new Date()).getTimezoneOffset() * (this.useConsistentTimezoneOffset ? -60 : 60));
    this.experimentIds && evt.setExperimentIds(this.experimentIds.clone());
    this.addEventToPending(evt);
  }
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.addEventToPending = function(evt) {
  this.incrementMetalog(module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.EVENTS_CREATED, 1);
  var overflowCount = this.pendingEvents.length - this.bufferSize + 1;
  overflowCount > 0 && (this.pendingEvents.splice(0, overflowCount), this.numLogsDroppedSinceLastFlush += overflowCount, this.incrementMetalog(module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.DROPS_BY_BUFFER_LIMIT_REACHED, overflowCount));
  this.pendingEvents.push(evt);
  this.maybeStartFlushTimer();
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.maybeStartFlushTimer = function() {
  this.disableAutomaticFlush || this.flushTimer.enabled || this.flushTimer.start();
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.clearFlushTimer = function() {
  this.flushTimer.enabled && this.flushTimer.stop();
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.flush = function(successCallback, failureCallback) {
  var $jscomp$this$740163812$39 = this;
  if (this.pendingEvents.length === 0) {
    successCallback && successCallback();
  } else {
    if (this.sendBeaconApiEnabled && this.isSendBeaconSupported) {
      this.logRequestBuilder.setTransmissionType(jspb$e.wireless_android_play_playlog$JsClientInfo$FlushInfo$TransmissionType.SEND_BEACON), this.flushWithSendBeacon();
    } else {
      var now = Date.now();
      if (this.noFlushUntilMs > now && this.startWaitingMs < now) {
        (0,goog.log.info)(this.logger, "Not flushing because server requested delay."), failureCallback && failureCallback(module$exports$google3$javascript$frameworks$client$analytics$transport$flush_failure_type.FlushFailureType.THROTTLED);
      } else {
        this.network && (typeof this.network.getTransmissionType === "function" ? this.logRequestBuilder.setTransmissionType(this.network.getTransmissionType()) : this.logRequestBuilder.setTransmissionType(jspb$e.wireless_android_play_playlog$JsClientInfo$FlushInfo$TransmissionType.TRANSMISSION_TYPE_UNKNOWN));
        var pendingEventCount = this.pendingEvents.length, request = this.logRequestBuilder.build(this.pendingEvents, this.numLogsDroppedSinceLastFlush, this.numRetriesSinceLastSuccessfulFlush, this.productID, this.persistedLogRecoveredCount, this.persistedLogExpiredCount), extraHeaders = {}, auth = this.getAuthHeaderValue();
        auth && (extraHeaders.Authorization = auth);
        var uri = new URL(this.getClearcutUrl());
        this.sessionIndex && (extraHeaders[module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.AUTHUSER_HEADER] = this.sessionIndex, uri.searchParams.set("authuser", this.sessionIndex));
        this.pageId && (Object.defineProperty(extraHeaders, module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.PAGE_ID_HEADER, {value:this.pageId}), uri.searchParams.set("pageId", this.pageId));
        if (auth && this.lastFailedAuth === auth) {
          (0,goog.log.info)(this.logger, "XHR with unauthorized request not retried"), failureCallback && failureCallback(module$exports$google3$javascript$frameworks$client$analytics$transport$flush_failure_type.FlushFailureType.STALE_AUTH_TOKEN);
        } else {
          if (this.clearPendingEvents(), this.clientSideLogOnlyForDevelopment) {
            (0,goog.log.info)(this.logger, request.serialize()), extraHeaders && (0,goog.log.info)(this.logger, JSON.stringify(extraHeaders)), successCallback && successCallback();
          } else {
            var body = request.serialize(), bodyType = module$exports$google3$wireless$android$play$playlog$js$clearcut_network_interface.BodyType.STRING, asyncCompressedBody;
            this.compressor && this.compressor.isSupported(body.length) && (asyncCompressedBody = this.compressor.compress(body));
            var params = {url:uri.toString(), body:body, bodyType:bodyType, requestHeaders:extraHeaders, requestType:"POST", withCredentials:this.withCredentials, timeoutMillis:this.timeoutMillis}, successFn = function(response) {
              $jscomp$this$740163812$39.handleSuccess(response);
              successCallback && successCallback();
              $jscomp$this$740163812$39.numRetriesSinceLastSuccessfulFlush = 0;
            }, failureFn = function(errorCode, retryEvents) {
              $jscomp$this$740163812$39.handleFailure(request.getLogEventList(), errorCode, auth, request.getLogEventDroppedCountOrUndefined_asLegacyNumberOrString(), retryEvents);
              $jscomp$this$740163812$39.incrementMetalog(module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.REQUEST_RETRY_COUNT, 1);
              failureCallback && failureCallback(module$exports$google3$javascript$frameworks$client$analytics$transport$flush_failure_type.FlushFailureType.NET_SEND_FAILED, errorCode);
              ++$jscomp$this$740163812$39.numRetriesSinceLastSuccessfulFlush;
            }, sendRequest = function() {
              $jscomp$this$740163812$39.network ? $jscomp$this$740163812$39.network.send(params, successFn, failureFn) : (0,goog.log.warning)($jscomp$this$740163812$39.logger, "Missing ClearcutNetwork, required for logs transmission.");
            };
            asyncCompressedBody ? asyncCompressedBody.then(function(compressedBody) {
              $jscomp$this$740163812$39.incrementMetalog(module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.COMPRESSION_EVENT_COUNT, pendingEventCount);
              params.requestHeaders["Content-Encoding"] = "gzip";
              params.requestHeaders[module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.CONTENT_TYPE_HEADER] = "application/binary";
              params.body = compressedBody;
              params.bodyType = module$exports$google3$wireless$android$play$playlog$js$clearcut_network_interface.BodyType.BYTE_ARRAY;
              sendRequest();
            }, function() {
              $jscomp$this$740163812$39.incrementMetalog(module$exports$google3$javascript$frameworks$client$analytics$transport$metalog_service.LogSourceCounter.COMPRESSION_FAILURE_COUNT, pendingEventCount);
              sendRequest();
            }) : sendRequest();
          }
        }
      }
    }
  }
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.clearPendingEvents = function() {
  this.pendingEvents = [];
  this.clearFlushTimer();
  this.numLogsDroppedSinceLastFlush = 0;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.finalFlush = function() {
  this.clientSideLogOnlyForDevelopment || (this.logRequestBuilder.setFinalFlush(!0), this.useSendBeaconForFinalFlush && (this.logRequestBuilder.setTransmissionType(jspb$e.wireless_android_play_playlog$JsClientInfo$FlushInfo$TransmissionType.SEND_BEACON), this.flushWithSendBeacon()), this.useGetRequestForFinalFlush && (this.logRequestBuilder.setTransmissionType(jspb$e.wireless_android_play_playlog$JsClientInfo$FlushInfo$TransmissionType.IMAGE_GET), this.flushWithGetRequest()), this.flush(), this.logRequestBuilder.setFinalFlush(!1));
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.flushWithSendBeacon = function() {
  var $jscomp$this$740163812$42 = this;
  (0,goog.log.info)(this.logger, "Flushing log using sendBeacon.");
  this.segmentedFlush(module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.MAX_EVENTS_IN_SENDBEACON_REQUEST, module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.MAX_SENDBEACON_REQUESTS, function(uri, req) {
    var finalUri = new URL(uri);
    finalUri.searchParams.set("format", "json");
    var sendBeaconSentResult = !1;
    try {
      sendBeaconSentResult = (0,goog.dom.getWindow)().navigator.sendBeacon(finalUri.toString(), req.serialize());
    } catch ($jscomp$unused$catch$740163812$1) {
    }
    sendBeaconSentResult || ($jscomp$this$740163812$42.isSendBeaconSupported = !1);
    return sendBeaconSentResult;
  });
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.sendGetRequest = function(uri) {
  (new Image()).src = uri;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.flushWithGetRequest = function() {
  var $jscomp$this$740163812$44 = this;
  (0,goog.log.info)(this.logger, "Flushing log using Image GET.");
  this.segmentedFlush(module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.MAX_EVENTS_IN_GET_REQUEST, module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.MAX_GET_REQUESTS, function(uri, req) {
    var finalUri = new URL(uri);
    finalUri.searchParams.set("format", "base64json");
    finalUri.searchParams.set("p", (0,goog.crypt.base64.encodeString)(req.serialize(), goog.crypt.base64.Alphabet.WEBSAFE_DOT_PADDING));
    var finalUriString = finalUri.toString();
    if (finalUriString.length > module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.MAX_GET_REQUEST_URI_LENGTH) {
      return !1;
    }
    $jscomp$this$740163812$44.sendGetRequest(finalUriString);
    return !0;
  });
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.segmentedFlush = function(maxEventsPerRequest, maxRequests, flushFn) {
  if (this.pendingEvents.length !== 0) {
    var uri = new URL(this.getClearcutUrl());
    uri.searchParams.delete("format");
    var authHeaderValue = this.getAuthHeaderValue();
    authHeaderValue && uri.searchParams.set("auth", authHeaderValue);
    uri.searchParams.set("authuser", this.sessionIndex || "0");
    for (var i = 0; i < maxRequests && this.pendingEvents.length; ++i) {
      var events = this.pendingEvents.slice(0, maxEventsPerRequest), req = this.logRequestBuilder.build(events, this.numLogsDroppedSinceLastFlush, this.numRetriesSinceLastSuccessfulFlush, this.productID, this.persistedLogRecoveredCount, this.persistedLogExpiredCount);
      if (!flushFn(uri.toString(), req)) {
        ++this.numRetriesSinceLastSuccessfulFlush;
        break;
      }
      this.persistedLogExpiredCount = this.persistedLogRecoveredCount = this.numRetriesSinceLastSuccessfulFlush = this.numLogsDroppedSinceLastFlush = 0;
      this.pendingEvents = this.pendingEvents.slice(events.length);
    }
    this.clearFlushTimer();
  }
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.isRetryable = function(errorCode) {
  return 500 <= errorCode && errorCode < 600 || errorCode === 401 || errorCode === 0;
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.prependEventsToPending = function(eventList) {
  this.pendingEvents = eventList.concat(this.pendingEvents);
  this.maybeStartFlushTimer();
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.handleFailure = function(eventList, errorCode, auth, dropCount, retryEvents) {
  this.backoffFlushInterval();
  errorCode === 401 && auth && (this.lastFailedAuth = auth);
  dropCount && (this.numLogsDroppedSinceLastFlush += dropCount);
  retryEvents === void 0 && (retryEvents = this.isRetryable(errorCode));
  retryEvents && this.prependEventsToPending(eventList);
  (0,goog.log.warning)(this.logger, "Flush failed. Status code: " + errorCode);
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.prototype.handleSuccess = function(responseText) {
  this.resetFlushInterval();
  if (responseText) {
    var parsedProto = null;
    try {
      var deserializedResponse = JSON.stringify(JSON.parse(responseText.replace(")]}'\n", "")));
      parsedProto = jspb$wireless_android_play_playlog$MutableLogResponse.deserialize(deserializedResponse);
    } catch (e) {
      e instanceof Error && (0,goog.log.warning)(this.logger, "Response parse failed: " + e.toString());
    }
    if (parsedProto) {
      var nextWaitMillis = Number(parsedProto.getNextRequestWaitMillis_asLegacyNumberOrString());
      nextWaitMillis > 0 && (this.startWaitingMs = Date.now(), this.noFlushUntilMs = this.startWaitingMs + nextWaitMillis);
      var jsLogExtension = parsedProto.getExtensionOrUndefined(proto.wireless_android_play_playlog.jsExtension);
      if (jsLogExtension) {
        var suggestedFlush = jsLogExtension.getSuggestedFlushIntervalMillis();
        suggestedFlush !== -1 && this.setFlushIntervalInternalMs(suggestedFlush);
      }
    }
  }
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.DEFAULT_FLUSH_INTERVAL_MS = 1E4;
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.DEFAULT_FLUSH_MAX_INTERVAL_MS = 3E5;
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.DEFAULT_FLUSH_BACKOFF_RANDOM = .1;
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.BACKUP_FLUSH_INTERVAL_MS = 6E5;
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.DEFAULT_BUFFER_SIZE = 1E3;
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.MAX_EVENTS_IN_GET_REQUEST = 6;
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.MAX_GET_REQUEST_URI_LENGTH = 15360;
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.MAX_GET_REQUESTS = 5;
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.MAX_EVENTS_IN_SENDBEACON_REQUEST = 32;
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.MAX_SENDBEACON_REQUESTS = 10;
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.AUTHUSER_HEADER = "X-Goog-AuthUser";
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.PAGE_ID_HEADER = "X-Goog-PageId";
module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase.CONTENT_TYPE_HEADER = "Content-Type";
var module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder = function(logSource, isServiceWorkerScope) {
  this.isServiceWorkerScope = isServiceWorkerScope = isServiceWorkerScope === void 0 ? !1 : isServiceWorkerScope;
  this.uach = this.locale = null;
  this.logRequest = new jspb$wireless_android_play_playlog$MutableLogRequest();
  Number.isInteger(logSource) && this.logRequest.setLogSource(logSource);
  isServiceWorkerScope || (this.locale = document.documentElement.getAttribute("lang"));
  this.setClientInfo(new jspb$wireless_android_play_playlog$MutableClientInfo());
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.setLogSource = function(logSource) {
  this.logRequest.setLogSource(logSource);
  return this;
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.setClientInfo = function(clInfo) {
  this.logRequest.setClientInfo(clInfo);
  clInfo.getClientType() || clInfo.setClientType(jspb$e.wireless_android_play_playlog$ClientInfo$ClientType.JS);
  if (!this.isServiceWorkerScope) {
    var jsClientInfo = this.getMutableJsClientInfo();
    jsClientInfo.getLocale() || jsClientInfo.setLocale(this.locale);
  }
  if (this.uach) {
    var jsClientInfo$jscomp$0 = this.getMutableJsClientInfo();
    jsClientInfo$jscomp$0.getClientHints() || jsClientInfo$jscomp$0.setClientHints(this.uach);
  }
  return this;
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.setBuildLabel = function(buildLabel) {
  this.getMutableJsClientInfo().setBuildLabel(buildLabel);
  return this;
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.setTransmissionType = function(transmissionType) {
  this.getMutableClientInfo().hasJsClientInfo() && this.getMutableFlushInfo().setTransmissionType(transmissionType);
  return this;
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.setFinalFlush = function(isFinal) {
  this.getMutableClientInfo().hasJsClientInfo() && this.getMutableFlushInfo().setIsFinal(isFinal);
  return this;
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.setRetryCount = function(retryCount) {
  this.getMutableClientInfo().hasJsClientInfo() && this.getMutableFlushInfo().setRetryCount(retryCount);
  return this;
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.setPersistedLogRecoveredCount = function(count) {
  this.getMutableClientInfo().hasJsClientInfo() && this.getMutableFlushInfo().setPersistedLogRecoveredCount(count);
  return this;
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.setPersistedLogExpiredCount = function(count) {
  this.getMutableClientInfo().hasJsClientInfo() && this.getMutableFlushInfo().setPersistedLogExpiredCount(count);
  return this;
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.getMutableClientInfo = function() {
  return this.logRequest.getClientInfo();
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.setUachProvider = function(uachProvider, requestedHints) {
  var $jscomp$this$740163812$65 = this;
  requestedHints = requestedHints === void 0 ? module$exports$google3$wireless$android$play$playlog$js$client_hints.highEntropyHintFields : requestedHints;
  var win = this.isServiceWorkerScope ? void 0 : (0,goog.dom.getWindow)();
  return win ? uachProvider(win, requestedHints).then(function(uach) {
    $jscomp$this$740163812$65.uach = uach;
    $jscomp$this$740163812$65.getMutableJsClientInfo().setClientHints($jscomp$this$740163812$65.uach);
    return !0;
  }).catch(function() {
    return !1;
  }) : Promise.resolve(!1);
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.getMutableJsClientInfo = function() {
  var clInfo = this.getMutableClientInfo(), jsClientInfo = clInfo.getJsClientInfo();
  jsClientInfo || (jsClientInfo = new jspb$wireless_android_play_playlog$MutableJsClientInfo(), clInfo.setJsClientInfo(jsClientInfo));
  return jsClientInfo;
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.getMutableFlushInfo = function() {
  var jsClientInfo = this.getMutableJsClientInfo(), flushInfo = jsClientInfo.getFlushInfo();
  flushInfo || (flushInfo = new jspb$wireless_android_play_playlog$JsClientInfo$MutableFlushInfo(), flushInfo.setIsFinal(!1), jsClientInfo.setFlushInfo(flushInfo));
  return flushInfo;
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.getComplianceData = function(productID) {
  var externalPRequestContext = (new jspb$privacy$context$external$MutableExternalPRequestContext()).setOriginAssociatedProductId(productID), externalPrivacyContext = (new jspb$privacy$context$external$MutableExternalPrivacyContext()).setPrequest(externalPRequestContext);
  return (new jspb$wireless_android_play_playlog$MutableComplianceData()).setPrivacyContext(externalPrivacyContext).setProductIdOrigin(jspb$e.wireless_android_play_playlog$ComplianceData$ProductIdOrigin.LOG_REQUEST_SETTER_WEB);
};
module$contents$google3$wireless$android$play$playlog$js$clearcut_default_transport_LogRequestBuilder.prototype.build = function(events, dropCount, numRetries, productID, persistedLogRecoveredCount, persistedLogExpiredCount) {
  dropCount = dropCount === void 0 ? 0 : dropCount;
  persistedLogRecoveredCount = persistedLogRecoveredCount === void 0 ? 0 : persistedLogRecoveredCount;
  persistedLogExpiredCount = persistedLogExpiredCount === void 0 ? 0 : persistedLogExpiredCount;
  this.setRetryCount(numRetries === void 0 ? 0 : numRetries);
  this.setPersistedLogRecoveredCount(persistedLogRecoveredCount);
  this.setPersistedLogExpiredCount(persistedLogExpiredCount);
  var req = this.logRequest.clone().setRequestTimeMs(Date.now().toString()).setLogEventList(events.slice());
  productID && req.setComplianceData(this.getComplianceData(productID));
  dropCount && req.setLogEventDroppedCount(dropCount);
  return req;
};
var module$exports$google3$wireless$android$play$playlog$js$clearcut_fetch_network = {FetchNetwork:function() {
  this.abortSupported = typeof AbortController !== "undefined";
}};
module$exports$google3$wireless$android$play$playlog$js$clearcut_fetch_network.FetchNetwork.prototype.send = function(params, successCallback, failureCallback) {
  var $jscomp$async$this$m1680372314$8 = this, abortController, abortTimeout, requestInit, response, $jscomp$optchain$tmpm1680372314$1, $jscomp$optchain$tmpm1680372314$0, e, $jscomp$optchain$tmpm1680372314$2, $jscomp$optchain$tmpm1680372314$3, $jscomp$optchain$tmpm1680372314$4;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1680372314$19) {
    switch($jscomp$generator$context$m1680372314$19.nextAddress) {
      case 1:
        return abortTimeout = (abortController = $jscomp$async$this$m1680372314$8.abortSupported ? new AbortController() : void 0) ? setTimeout(function() {
          abortController.abort();
        }, params.timeoutMillis) : void 0, $jscomp$generator$context$m1680372314$19.setCatchFinallyBlocks(2, 3), requestInit = Object.assign({}, {method:params.requestType, headers:Object.assign({}, params.requestHeaders)}, params.body && {body:params.body}, params.withCredentials && {credentials:"include"}, {signal:params.timeoutMillis && abortController ? abortController.signal : null}), $jscomp$generator$context$m1680372314$19.yield(fetch(params.url, requestInit), 5);
      case 5:
        response = $jscomp$generator$context$m1680372314$19.yieldResult;
        if (response.status !== 200) {
          ($jscomp$optchain$tmpm1680372314$1 = failureCallback) == null || $jscomp$optchain$tmpm1680372314$1(response.status);
          $jscomp$generator$context$m1680372314$19.jumpTo(3);
          break;
        }
        if (($jscomp$optchain$tmpm1680372314$0 = successCallback) == null) {
          $jscomp$generator$context$m1680372314$19.jumpTo(7);
          break;
        }
        return $jscomp$generator$context$m1680372314$19.yield(response.text(), 8);
      case 8:
        $jscomp$optchain$tmpm1680372314$0($jscomp$generator$context$m1680372314$19.yieldResult);
      case 7:
      case 3:
        $jscomp$generator$context$m1680372314$19.enterFinallyBlock();
        clearTimeout(abortTimeout);
        $jscomp$generator$context$m1680372314$19.leaveFinallyBlock(0);
        break;
      case 2:
        e = $jscomp$generator$context$m1680372314$19.enterCatchBlock();
        switch(($jscomp$optchain$tmpm1680372314$2 = e) == null ? void 0 : $jscomp$optchain$tmpm1680372314$2.name) {
          case "AbortError":
            ($jscomp$optchain$tmpm1680372314$3 = failureCallback) == null || $jscomp$optchain$tmpm1680372314$3(408);
            break;
          default:
            ($jscomp$optchain$tmpm1680372314$4 = failureCallback) == null || $jscomp$optchain$tmpm1680372314$4(400);
        }$jscomp$generator$context$m1680372314$19.jumpTo(3);
    }
  });
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_fetch_network.FetchNetwork.prototype.getTransmissionType = function() {
  return jspb$e.wireless_android_play_playlog$JsClientInfo$FlushInfo$TransmissionType.FETCH;
};
var module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder = {ClearcutBuilder:function(logSource, sessionIndex) {
  goog.Disposable.call(this);
  this.logSource = logSource;
  this.sessionIndex = sessionIndex;
  this.destinationUrl = "https://play.google.com/log?format=json&hasfast=true";
  this.automaticFlushDisabled = !1;
  this.xhrsEnabled = !0;
  this.buildLabel = null;
  this.serviceWorkerScopeEnabled = !1;
  this.compressor = void 0;
  this.network = null;
  this.componentId = "";
  this.clearcutClientInfo = this.opaqueExperimentIds = this.clearExperimentIds = this.productID = null;
  this.getRequestForFinalFlush = this.sendBeaconForFinalFlush = !1;
  this.flushIntervalMs = null;
  this.sendBeaconApiEnabled = !1;
  this.userAgentClientHintsProvider = null;
  this.userAgentClientHintsEnabled = !0;
  this.useConsistentTimezoneOffset = void 0;
  this.metalogService = this.pageId = null;
}};
$jscomp.inherits(module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder, goog.Disposable);
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.shouldEnableCompression = function() {
  return !goog.DEBUG && Math.random() < .1;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.setDestinationUrl = function(url) {
  this.destinationUrl = url;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.setBuildLabel = function(buildLabel) {
  this.buildLabel = buildLabel;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.enableServiceWorkerScope = function() {
  this.serviceWorkerScopeEnabled = !0;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.setCompressor = function(compressor) {
  this.compressor = compressor;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.setNetworkImpl = function(networkImpl) {
  this.network = networkImpl;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.setComponentId = function(componentId) {
  this.componentId = componentId;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.setProductID = function(productID) {
  this.productID = productID;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.setClearExperimentIds = function(clearExperimentIds) {
  this.clearExperimentIds = clearExperimentIds;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.setOpaqueExperimentIds = function(opaqueExperimentIds) {
  this.opaqueExperimentIds = opaqueExperimentIds;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.setClearcutClientInfo = function(clearcutClientInfo) {
  this.clearcutClientInfo = clearcutClientInfo;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.useSendBeaconForFinalFlush = function() {
  this.sendBeaconForFinalFlush = !0;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.useGetRequestForFinalFlush = function() {
  this.getRequestForFinalFlush = !0;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.setFlushIntervalMs = function(flushIntervalMs) {
  this.flushIntervalMs = Math.max(flushIntervalMs, module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.MIN_FLUSH_INTERVAL_MS);
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.disableWithCredentials = function() {
  this.withCredentialsDisabled = !0;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.setUseConsistentTimezoneOffset = function(enabled) {
  this.useConsistentTimezoneOffset = enabled;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.setPageId = function(pageId) {
  this.pageId = pageId;
  return this;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.prototype.build = function() {
  this.network || (this.network = new module$exports$google3$wireless$android$play$playlog$js$clearcut_fetch_network.FetchNetwork());
  var clearcut = new module$exports$google3$wireless$android$play$playlog$js$clearcut_default_transport.ClearcutBase({logSource:this.logSource, getAuthHeaderValue:this.getAuthHeaderValue ? this.getAuthHeaderValue : gapix.auth_firstparty.getAuthHeaderValueForFirstParty, sessionIndex:this.sessionIndex, urlOverride:this.destinationUrl, isServiceWorkerScope:this.serviceWorkerScopeEnabled, disableAutomaticFlush:this.automaticFlushDisabled, disableWithCredentials:this.withCredentialsDisabled, backgroundJobDeferrer:this.backgroundJobDeferrer, 
  network:this.network});
  this.registerDisposable(clearcut);
  this.xhrsEnabled || clearcut.setClientSideLogOnlyForDevelopment(!0);
  this.clearcutClientInfo && clearcut.setClearcutClientInfo(this.clearcutClientInfo);
  this.buildLabel && clearcut.setBuildLabel(this.buildLabel);
  this.compressor ? clearcut.setCompressor(this.compressor) : this.compressor !== null && this.shouldEnableCompression() && clearcut.setCompressor(new module$exports$google3$javascript$frameworks$client$analytics$transport$stream_compressor.StreamCompressor());
  this.componentId && clearcut.setComponentId(this.componentId);
  this.productID && clearcut.setProductID(this.productID);
  this.pageId && clearcut.setPageId(this.pageId);
  this.clearExperimentIds && clearcut.setClearExperimentIds(this.clearExperimentIds);
  this.opaqueExperimentIds && clearcut.setOpaqueExperimentIds(this.opaqueExperimentIds);
  this.sendBeaconForFinalFlush && clearcut.setUseSendBeaconForFinalFlush(this.sendBeaconForFinalFlush);
  this.getRequestForFinalFlush && clearcut.setUseGetRequestForFinalFlush(this.getRequestForFinalFlush);
  this.flushIntervalMs && clearcut.setFlushIntervalMs(this.flushIntervalMs);
  this.sendBeaconApiEnabled && clearcut.useSendBeaconApi(!0);
  this.userAgentClientHintsEnabled && clearcut.logRequestBuilder.setUachProvider(module$contents$google3$wireless$android$play$playlog$js$client_hints_defaultUachProvider);
  this.userAgentClientHintsProvider && clearcut.logRequestBuilder.setUachProvider(this.userAgentClientHintsProvider);
  this.useConsistentTimezoneOffset && clearcut.setUseConsistentTimezoneOffset(!0);
  this.metalogService && clearcut.setMetalogService(this.metalogService);
  this.network.setLogSource && this.network.setLogSource(this.logSource);
  this.network.setTransportReferenceAndAttemptFlush && this.network.setTransportReferenceAndAttemptFlush(clearcut);
  return clearcut;
};
module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder.MIN_FLUSH_INTERVAL_MS = 1E3;
var module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_streamz_logger = {ClearcutStreamzLogger:function(logSource, componentId, destinationUrl, forServiceWorker, buildLabel, transport, networkImpl) {
  logSource = logSource === void 0 ? jspb$e.wireless_android_play_playlog$LogSourceEnum$LogSource.UNKNOWN : logSource;
  componentId = componentId === void 0 ? "" : componentId;
  destinationUrl = destinationUrl === void 0 ? "" : destinationUrl;
  forServiceWorker = forServiceWorker === void 0 ? !1 : forServiceWorker;
  buildLabel = buildLabel === void 0 ? "" : buildLabel;
  goog.Disposable.call(this);
  this.logSource = logSource;
  this.componentId = componentId;
  if (transport) {
    var transportToUse = transport;
  } else {
    var clearcutBuilder = (new module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder(logSource, "0")).setComponentId(componentId);
    this.registerDisposable(clearcutBuilder);
    destinationUrl !== "" && clearcutBuilder.setDestinationUrl(destinationUrl);
    forServiceWorker && clearcutBuilder.enableServiceWorkerScope();
    buildLabel && clearcutBuilder.setBuildLabel(buildLabel);
    networkImpl && clearcutBuilder.setNetworkImpl(networkImpl);
    transportToUse = clearcutBuilder.build();
  }
  this.transport = transportToUse;
}};
$jscomp.inherits(module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_streamz_logger.ClearcutStreamzLogger, goog.Disposable);
module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_streamz_logger.ClearcutStreamzLogger.prototype.flush = function(metrics) {
  var genericMetrics = metrics || [];
  if (genericMetrics.length) {
    var payload = module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_increment_request_builder.ClearcutIncrementRequestBuilder.build(genericMetrics);
    this.transport.dispatch(payload);
    this.transport.flush();
  }
};
var module$exports$google3$javascript$frameworks$client$analytics$streamz$cell = {Cell:function(cellValue) {
  this.cellValue = cellValue;
}};
var module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric = {GenericMetric:function(metricName, cellType, fields) {
  this.metricName = metricName;
  this.cellType = cellType;
  this.fields = fields || [];
  this.cellMap = new Map();
}};
module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric.prototype.getFieldTypes = function() {
  return this.fields.map(function(field) {
    return field.fieldType;
  });
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric.prototype.getFieldNames = function() {
  return this.fields.map(function(field) {
    return field.fieldName;
  });
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric.prototype.getFieldValues = function() {
  for (var fieldValues = [], $jscomp$iter$98 = (0,$jscomp.makeIterator)(this.cellMap.keys()), $jscomp$key$m1551768512$16$key = $jscomp$iter$98.next(); !$jscomp$key$m1551768512$16$key.done; $jscomp$key$m1551768512$16$key = $jscomp$iter$98.next()) {
    fieldValues.push($jscomp$key$m1551768512$16$key.value.split(","));
  }
  return fieldValues;
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric.prototype.addCell = function(cellValue) {
  var fieldValues = $jscomp.getRestArguments.apply(1, arguments), cells = this.getCells(fieldValues);
  cells ? cells.push(new module$exports$google3$javascript$frameworks$client$analytics$streamz$cell.Cell(cellValue)) : this.setCell(cellValue, fieldValues);
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric.prototype.setCell = function(cellValue) {
  var key = this.getKey($jscomp.getRestArguments.apply(1, arguments));
  this.cellMap.set(key, [new module$exports$google3$javascript$frameworks$client$analytics$streamz$cell.Cell(cellValue)]);
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric.prototype.getCells = function() {
  var key = this.getKey($jscomp.getRestArguments.apply(0, arguments));
  return this.cellMap.has(key) ? this.cellMap.get(key) : void 0;
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric.prototype.getCell = function() {
  var cells = this.getCells($jscomp.getRestArguments.apply(0, arguments));
  return cells && cells.length ? cells[0] : void 0;
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric.prototype.clear = function() {
  this.cellMap.clear();
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric.prototype.getKey = function() {
  var fieldValues = $jscomp.getRestArguments.apply(0, arguments);
  return fieldValues ? fieldValues.join(",") : "key";
};
var module$exports$google3$javascript$frameworks$client$analytics$streamz$counter = {Counter:function(metricName, fields) {
  module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric.call(this, metricName, module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType.INT32, fields);
}};
$jscomp.inherits(module$exports$google3$javascript$frameworks$client$analytics$streamz$counter.Counter, module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric);
module$exports$google3$javascript$frameworks$client$analytics$streamz$counter.Counter.prototype.incrementCounter = function() {
  this.incrementCounterBy(1, $jscomp.getRestArguments.apply(0, arguments));
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$counter.Counter.prototype.incrementCounterBy = function(value) {
  var fieldValues = $jscomp.getRestArguments.apply(1, arguments), oldCount = 0, cell = this.getCell(fieldValues);
  cell && (oldCount = cell.cellValue);
  this.setCell(oldCount + value, fieldValues);
};
var module$exports$google3$javascript$frameworks$client$analytics$streamz$event_metric = {EventMetric:function(metricName, fields) {
  module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric.call(this, metricName, module$exports$google3$javascript$frameworks$client$analytics$streamz$constants.CellType.DOUBLE, fields);
}};
$jscomp.inherits(module$exports$google3$javascript$frameworks$client$analytics$streamz$event_metric.EventMetric, module$exports$google3$javascript$frameworks$client$analytics$streamz$generic_metric.GenericMetric);
module$exports$google3$javascript$frameworks$client$analytics$streamz$event_metric.EventMetric.prototype.record = function(value) {
  this.addCell(value, $jscomp.getRestArguments.apply(1, arguments));
};
goog.events.EventId = function(eventId) {
  this.id = eventId;
};
goog.events.EventId.prototype.toString = function() {
  return this.id;
};
goog.events.Event = function(type, opt_target) {
  this.type = type instanceof goog.events.EventId ? String(type) : type;
  this.currentTarget = this.target = opt_target;
  this.defaultPrevented = this.propagationStopped_ = !1;
};
goog.events.Event.prototype.stopPropagation = function() {
  this.propagationStopped_ = !0;
};
goog.events.Event.prototype.preventDefault = function() {
  this.defaultPrevented = !0;
};
goog.events.Event.stopPropagation = function(e) {
  e.stopPropagation();
};
goog.events.Event.preventDefault = function(e) {
  e.preventDefault();
};
goog.debug.entryPointRegistry = {};
goog.debug.entryPointRegistry.EntryPointMonitor = function() {
};
goog.debug.entryPointRegistry.refList_ = [];
goog.debug.entryPointRegistry.monitors_ = [];
goog.debug.entryPointRegistry.monitorsMayExist_ = !1;
goog.debug.entryPointRegistry.register = function(callback) {
  goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length] = callback;
  if (goog.debug.entryPointRegistry.monitorsMayExist_) {
    for (var monitors = goog.debug.entryPointRegistry.monitors_, i = 0; i < monitors.length; i++) {
      callback(goog.bind(monitors[i].wrap, monitors[i]));
    }
  }
};
goog.debug.entryPointRegistry.unregister = function(callback) {
  var list = goog.debug.entryPointRegistry.refList_;
  list && module$contents$goog$array_remove(list, callback);
};
goog.debug.entryPointRegistry.monitorAll = function(monitor) {
  goog.debug.entryPointRegistry.monitorsMayExist_ = !0;
  for (var transformer = goog.bind(monitor.wrap, monitor), i = 0; i < goog.debug.entryPointRegistry.refList_.length; i++) {
    goog.debug.entryPointRegistry.refList_[i](transformer);
  }
  goog.debug.entryPointRegistry.monitors_.push(monitor);
};
goog.debug.entryPointRegistry.unmonitorAllIfPossible = function(monitor) {
  var monitors = goog.debug.entryPointRegistry.monitors_;
  goog.asserts.assert(monitor == monitors[monitors.length - 1], "Only the most recent monitor can be unwrapped.");
  for (var transformer = goog.bind(monitor.unwrap, monitor), i = 0; i < goog.debug.entryPointRegistry.refList_.length; i++) {
    goog.debug.entryPointRegistry.refList_[i](transformer);
  }
  monitors.length--;
};
goog.events.BrowserEvent = function(opt_e, opt_currentTarget) {
  goog.events.Event.call(this, opt_e ? opt_e.type : "");
  this.relatedTarget = this.currentTarget = this.target = null;
  this.button = this.screenY = this.screenX = this.clientY = this.clientX = this.offsetY = this.offsetX = 0;
  this.key = "";
  this.charCode = this.keyCode = 0;
  this.metaKey = this.shiftKey = this.altKey = this.ctrlKey = !1;
  this.state = null;
  this.pointerId = 0;
  this.pointerType = "";
  this.timeStamp = 0;
  this.event_ = null;
  opt_e && this.init(opt_e, opt_currentTarget);
};
goog.inherits(goog.events.BrowserEvent, goog.events.Event);
goog.events.BrowserEvent.USE_LAYER_XY_AS_OFFSET_XY = !1;
goog.events.BrowserEvent.MouseButton = {LEFT:0, MIDDLE:1, RIGHT:2, BACK:3, FORWARD:4};
goog.events.BrowserEvent.PointerType = {MOUSE:"mouse", PEN:"pen", TOUCH:"touch"};
goog.events.BrowserEvent.prototype.init = function(e, opt_currentTarget) {
  var type = this.type = e.type, relevantTouch = e.changedTouches && e.changedTouches.length ? e.changedTouches[0] : null;
  this.target = e.target || e.srcElement;
  this.currentTarget = opt_currentTarget;
  var relatedTarget = e.relatedTarget;
  relatedTarget || (type == goog.events.EventType.MOUSEOVER ? relatedTarget = e.fromElement : type == goog.events.EventType.MOUSEOUT && (relatedTarget = e.toElement));
  this.relatedTarget = relatedTarget;
  relevantTouch ? (this.clientX = relevantTouch.clientX !== void 0 ? relevantTouch.clientX : relevantTouch.pageX, this.clientY = relevantTouch.clientY !== void 0 ? relevantTouch.clientY : relevantTouch.pageY, this.screenX = relevantTouch.screenX || 0, this.screenY = relevantTouch.screenY || 0) : (goog.events.BrowserEvent.USE_LAYER_XY_AS_OFFSET_XY ? (this.offsetX = e.layerX !== void 0 ? e.layerX : e.offsetX, this.offsetY = e.layerY !== void 0 ? e.layerY : e.offsetY) : (this.offsetX = goog.userAgent.WEBKIT || 
  e.offsetX !== void 0 ? e.offsetX : e.layerX, this.offsetY = goog.userAgent.WEBKIT || e.offsetY !== void 0 ? e.offsetY : e.layerY), this.clientX = e.clientX !== void 0 ? e.clientX : e.pageX, this.clientY = e.clientY !== void 0 ? e.clientY : e.pageY, this.screenX = e.screenX || 0, this.screenY = e.screenY || 0);
  this.button = e.button;
  this.keyCode = e.keyCode || 0;
  this.key = e.key || "";
  this.charCode = e.charCode || (type == "keypress" ? e.keyCode : 0);
  this.ctrlKey = e.ctrlKey;
  this.altKey = e.altKey;
  this.shiftKey = e.shiftKey;
  this.metaKey = e.metaKey;
  this.pointerId = e.pointerId || 0;
  this.pointerType = goog.events.BrowserEvent.getPointerType_(e);
  this.state = e.state;
  this.timeStamp = e.timeStamp;
  this.event_ = e;
  e.defaultPrevented && goog.events.BrowserEvent.superClass_.preventDefault.call(this);
};
goog.events.BrowserEvent.prototype.stopPropagation = function() {
  goog.events.BrowserEvent.superClass_.stopPropagation.call(this);
  this.event_.stopPropagation ? this.event_.stopPropagation() : this.event_.cancelBubble = !0;
};
goog.events.BrowserEvent.prototype.preventDefault = function() {
  goog.events.BrowserEvent.superClass_.preventDefault.call(this);
  var be = this.event_;
  be.preventDefault ? be.preventDefault() : be.returnValue = !1;
};
goog.events.BrowserEvent.getPointerType_ = function(e) {
  return e.pointerType;
};
goog.events.Listenable = function() {
};
goog.events.Listenable.IMPLEMENTED_BY_PROP = "closure_listenable_" + (Math.random() * 1E6 | 0);
goog.events.Listenable.addImplementation = function(cls) {
  cls.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP] = !0;
};
goog.events.Listenable.isImplementedBy = function(obj) {
  return !(!obj || !obj[goog.events.Listenable.IMPLEMENTED_BY_PROP]);
};
goog.events.Listenable.prototype.listen = function() {
};
goog.events.Listenable.prototype.listenOnce = function() {
};
goog.events.Listenable.prototype.unlisten = function() {
};
goog.events.Listenable.prototype.unlistenByKey = function() {
};
goog.events.Listenable.prototype.dispatchEvent = function() {
};
goog.events.Listenable.prototype.removeAllListeners = function() {
};
goog.events.Listenable.prototype.getParentEventTarget = function() {
};
goog.events.Listenable.prototype.fireListeners = function() {
};
goog.events.Listenable.prototype.getListeners = function() {
};
goog.events.Listenable.prototype.getListener = function() {
};
goog.events.Listenable.prototype.hasListener = function() {
};
goog.events.ListenableKey = function() {
};
goog.events.ListenableKey.counter_ = 0;
goog.events.ListenableKey.reserveKey = function() {
  return ++goog.events.ListenableKey.counter_;
};
goog.events.Listener = function(listener, proxy, src, type, capture, opt_handler) {
  this.listener = listener;
  this.proxy = proxy;
  this.src = src;
  this.type = type;
  this.capture = !!capture;
  this.handler = opt_handler;
  this.key = goog.events.ListenableKey.reserveKey();
  this.removed = this.callOnce = !1;
};
goog.events.Listener.ENABLE_MONITORING = !1;
goog.events.Listener.prototype.markAsRemoved = function() {
  this.removed = !0;
  this.handler = this.src = this.proxy = this.listener = null;
};
goog.events.ListenerMap = function(src) {
  this.src = src;
  this.listeners = {};
  this.typeCount_ = 0;
};
goog.events.ListenerMap.prototype.add = function(type, listener, callOnce, opt_useCapture, opt_listenerScope) {
  var typeStr = type.toString(), listenerArray = this.listeners[typeStr];
  listenerArray || (listenerArray = this.listeners[typeStr] = [], this.typeCount_++);
  var index = goog.events.ListenerMap.findListenerIndex_(listenerArray, listener, opt_useCapture, opt_listenerScope);
  if (index > -1) {
    var listenerObj = listenerArray[index];
    callOnce || (listenerObj.callOnce = !1);
  } else {
    listenerObj = new goog.events.Listener(listener, null, this.src, typeStr, !!opt_useCapture, opt_listenerScope), listenerObj.callOnce = callOnce, listenerArray.push(listenerObj);
  }
  return listenerObj;
};
goog.events.ListenerMap.prototype.remove = function(type, listener, opt_useCapture, opt_listenerScope) {
  var typeStr = type.toString();
  if (!(typeStr in this.listeners)) {
    return !1;
  }
  var listenerArray = this.listeners[typeStr], index = goog.events.ListenerMap.findListenerIndex_(listenerArray, listener, opt_useCapture, opt_listenerScope);
  return index > -1 ? (listenerArray[index].markAsRemoved(), module$contents$goog$array_removeAt(listenerArray, index), listenerArray.length == 0 && (delete this.listeners[typeStr], this.typeCount_--), !0) : !1;
};
goog.events.ListenerMap.prototype.removeByKey = function(listener) {
  var type = listener.type;
  if (!(type in this.listeners)) {
    return !1;
  }
  var removed = module$contents$goog$array_remove(this.listeners[type], listener);
  removed && (listener.markAsRemoved(), this.listeners[type].length == 0 && (delete this.listeners[type], this.typeCount_--));
  return removed;
};
goog.events.ListenerMap.prototype.removeAll = function(opt_type) {
  var typeStr = opt_type && opt_type.toString(), count = 0, type;
  for (type in this.listeners) {
    if (!typeStr || type == typeStr) {
      for (var listenerArray = this.listeners[type], i = 0; i < listenerArray.length; i++) {
        ++count, listenerArray[i].markAsRemoved();
      }
      delete this.listeners[type];
      this.typeCount_--;
    }
  }
  return count;
};
goog.events.ListenerMap.prototype.getListeners = function(type, capture) {
  var listenerArray = this.listeners[type.toString()], rv = [];
  if (listenerArray) {
    for (var i = 0; i < listenerArray.length; ++i) {
      var listenerObj = listenerArray[i];
      listenerObj.capture == capture && rv.push(listenerObj);
    }
  }
  return rv;
};
goog.events.ListenerMap.prototype.getListener = function(type, listener, capture, opt_listenerScope) {
  var listenerArray = this.listeners[type.toString()], i = -1;
  listenerArray && (i = goog.events.ListenerMap.findListenerIndex_(listenerArray, listener, capture, opt_listenerScope));
  return i > -1 ? listenerArray[i] : null;
};
goog.events.ListenerMap.prototype.hasListener = function(opt_type, opt_capture) {
  var hasType = opt_type !== void 0, typeStr = hasType ? opt_type.toString() : "", hasCapture = opt_capture !== void 0;
  return module$contents$goog$object_some(this.listeners, function(listenerArray) {
    for (var i = 0; i < listenerArray.length; ++i) {
      if (!(hasType && listenerArray[i].type != typeStr || hasCapture && listenerArray[i].capture != opt_capture)) {
        return !0;
      }
    }
    return !1;
  });
};
goog.events.ListenerMap.findListenerIndex_ = function(listenerArray, listener, opt_useCapture, opt_listenerScope) {
  for (var i = 0; i < listenerArray.length; ++i) {
    var listenerObj = listenerArray[i];
    if (!listenerObj.removed && listenerObj.listener == listener && listenerObj.capture == !!opt_useCapture && listenerObj.handler == opt_listenerScope) {
      return i;
    }
  }
  return -1;
};
goog.events.Key = {};
goog.events.ListenableType = {};
goog.events.LISTENER_MAP_PROP_ = "closure_lm_" + (Math.random() * 1E6 | 0);
goog.events.onString_ = "on";
goog.events.onStringMap_ = {};
goog.events.CaptureSimulationMode = {OFF_AND_FAIL:0, OFF_AND_SILENT:1, ON:2};
goog.events.listenerCountEstimate_ = 0;
goog.events.listen = function(src, type, listener, opt_options, opt_handler) {
  if (opt_options && opt_options.once) {
    return goog.events.listenOnce(src, type, listener, opt_options, opt_handler);
  }
  if (Array.isArray(type)) {
    for (var i = 0; i < type.length; i++) {
      goog.events.listen(src, type[i], listener, opt_options, opt_handler);
    }
    return null;
  }
  listener = goog.events.wrapListener(listener);
  if (goog.events.Listenable.isImplementedBy(src)) {
    var capture = goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;
    return src.listen(type, listener, capture, opt_handler);
  }
  return goog.events.listen_(src, type, listener, !1, opt_options, opt_handler);
};
goog.events.listen_ = function(src, type, listener, callOnce, opt_options, opt_handler) {
  if (!type) {
    throw Error("Invalid event type");
  }
  var capture = goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options, listenerMap = goog.events.getListenerMap_(src);
  listenerMap || (src[goog.events.LISTENER_MAP_PROP_] = listenerMap = new goog.events.ListenerMap(src));
  var listenerObj = listenerMap.add(type, listener, callOnce, capture, opt_handler);
  if (listenerObj.proxy) {
    return listenerObj;
  }
  var proxy = goog.events.getProxy();
  listenerObj.proxy = proxy;
  proxy.src = src;
  proxy.listener = listenerObj;
  if (src.addEventListener) {
    goog.events.BrowserFeature.PASSIVE_EVENTS || (opt_options = capture), opt_options === void 0 && (opt_options = !1), src.addEventListener(type.toString(), proxy, opt_options);
  } else if (src.attachEvent) {
    src.attachEvent(goog.events.getOnString_(type.toString()), proxy);
  } else if (src.addListener && src.removeListener) {
    goog.asserts.assert(type === "change", "MediaQueryList only has a change event"), src.addListener(proxy);
  } else {
    throw Error("addEventListener and attachEvent are unavailable.");
  }
  goog.events.listenerCountEstimate_++;
  return listenerObj;
};
goog.events.getProxy = function() {
  var proxyCallbackFunction = goog.events.handleBrowserEvent_, f = function(eventObject) {
    return proxyCallbackFunction.call(f.src, f.listener, eventObject);
  };
  return f;
};
goog.events.listenOnce = function(src, type, listener, opt_options, opt_handler) {
  if (Array.isArray(type)) {
    for (var i = 0; i < type.length; i++) {
      goog.events.listenOnce(src, type[i], listener, opt_options, opt_handler);
    }
    return null;
  }
  listener = goog.events.wrapListener(listener);
  if (goog.events.Listenable.isImplementedBy(src)) {
    var capture = goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;
    return src.listenOnce(type, listener, capture, opt_handler);
  }
  return goog.events.listen_(src, type, listener, !0, opt_options, opt_handler);
};
goog.events.listenWithWrapper = function(src, wrapper, listener, opt_capt, opt_handler) {
  wrapper.listen(src, listener, opt_capt, opt_handler);
};
goog.events.unlisten = function(src, type, listener, opt_options, opt_handler) {
  if (Array.isArray(type)) {
    for (var i = 0; i < type.length; i++) {
      goog.events.unlisten(src, type[i], listener, opt_options, opt_handler);
    }
    return null;
  }
  var capture = goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;
  listener = goog.events.wrapListener(listener);
  if (goog.events.Listenable.isImplementedBy(src)) {
    return src.unlisten(type, listener, capture, opt_handler);
  }
  if (!src) {
    return !1;
  }
  var listenerMap = goog.events.getListenerMap_(src);
  if (listenerMap) {
    var listenerObj = listenerMap.getListener(type, listener, capture, opt_handler);
    if (listenerObj) {
      return goog.events.unlistenByKey(listenerObj);
    }
  }
  return !1;
};
goog.events.unlistenByKey = function(key) {
  if (typeof key === "number" || !key || key.removed) {
    return !1;
  }
  var src = key.src;
  if (goog.events.Listenable.isImplementedBy(src)) {
    return src.unlistenByKey(key);
  }
  var type = key.type, proxy = key.proxy;
  src.removeEventListener ? src.removeEventListener(type, proxy, key.capture) : src.detachEvent ? src.detachEvent(goog.events.getOnString_(type), proxy) : src.addListener && src.removeListener && src.removeListener(proxy);
  goog.events.listenerCountEstimate_--;
  var listenerMap = goog.events.getListenerMap_(src);
  listenerMap ? (listenerMap.removeByKey(key), listenerMap.typeCount_ == 0 && (listenerMap.src = null, src[goog.events.LISTENER_MAP_PROP_] = null)) : key.markAsRemoved();
  return !0;
};
goog.events.unlistenWithWrapper = function(src, wrapper, listener, opt_capt, opt_handler) {
  wrapper.unlisten(src, listener, opt_capt, opt_handler);
};
goog.events.removeAll = function(obj, opt_type) {
  if (!obj) {
    return 0;
  }
  if (goog.events.Listenable.isImplementedBy(obj)) {
    return obj.removeAllListeners(opt_type);
  }
  var listenerMap = goog.events.getListenerMap_(obj);
  if (!listenerMap) {
    return 0;
  }
  var count = 0, typeStr = opt_type && opt_type.toString(), type;
  for (type in listenerMap.listeners) {
    if (!typeStr || type == typeStr) {
      for (var listeners = listenerMap.listeners[type].concat(), i = 0; i < listeners.length; ++i) {
        goog.events.unlistenByKey(listeners[i]) && ++count;
      }
    }
  }
  return count;
};
goog.events.getListeners = function(obj, type, capture) {
  if (goog.events.Listenable.isImplementedBy(obj)) {
    return obj.getListeners(type, capture);
  }
  if (!obj) {
    return [];
  }
  var listenerMap = goog.events.getListenerMap_(obj);
  return listenerMap ? listenerMap.getListeners(type, capture) : [];
};
goog.events.getListener = function(src, type, listener, opt_capt, opt_handler) {
  listener = goog.events.wrapListener(listener);
  var capture = !!opt_capt;
  if (goog.events.Listenable.isImplementedBy(src)) {
    return src.getListener(type, listener, capture, opt_handler);
  }
  if (!src) {
    return null;
  }
  var listenerMap = goog.events.getListenerMap_(src);
  return listenerMap ? listenerMap.getListener(type, listener, capture, opt_handler) : null;
};
goog.events.hasListener = function(obj, opt_type, opt_capture) {
  if (goog.events.Listenable.isImplementedBy(obj)) {
    return obj.hasListener(opt_type, opt_capture);
  }
  var listenerMap = goog.events.getListenerMap_(obj);
  return !!listenerMap && listenerMap.hasListener(opt_type, opt_capture);
};
goog.events.expose = function(e) {
  var str = [], key;
  for (key in e) {
    e[key] && e[key].id ? str.push(key + " = " + e[key] + " (" + e[key].id + ")") : str.push(key + " = " + e[key]);
  }
  return str.join("\n");
};
goog.events.getOnString_ = function(type) {
  return type in goog.events.onStringMap_ ? goog.events.onStringMap_[type] : goog.events.onStringMap_[type] = goog.events.onString_ + type;
};
goog.events.fireListeners = function(obj, type, capture, eventObject) {
  return goog.events.Listenable.isImplementedBy(obj) ? obj.fireListeners(type, capture, eventObject) : goog.events.fireListeners_(obj, type, capture, eventObject);
};
goog.events.fireListeners_ = function(obj, type, capture, eventObject) {
  var retval = !0, listenerMap = goog.events.getListenerMap_(obj);
  if (listenerMap) {
    var listenerArray = listenerMap.listeners[type.toString()];
    if (listenerArray) {
      listenerArray = listenerArray.concat();
      for (var i = 0; i < listenerArray.length; i++) {
        var listener = listenerArray[i];
        if (listener && listener.capture == capture && !listener.removed) {
          var result = goog.events.fireListener(listener, eventObject);
          retval = retval && result !== !1;
        }
      }
    }
  }
  return retval;
};
goog.events.fireListener = function(listener, eventObject) {
  var listenerFn = listener.listener, listenerHandler = listener.handler || listener.src;
  listener.callOnce && goog.events.unlistenByKey(listener);
  return listenerFn.call(listenerHandler, eventObject);
};
goog.events.getTotalListenerCount = function() {
  return goog.events.listenerCountEstimate_;
};
goog.events.dispatchEvent = function(src, e) {
  goog.asserts.assert(goog.events.Listenable.isImplementedBy(src), "Can not use goog.events.dispatchEvent with non-goog.events.Listenable instance.");
  return src.dispatchEvent(e);
};
goog.events.protectBrowserEventEntryPoint = function(errorHandler) {
  goog.events.handleBrowserEvent_ = errorHandler.protectEntryPoint(goog.events.handleBrowserEvent_);
};
goog.events.handleBrowserEvent_ = function(listener, opt_evt) {
  return listener.removed ? !0 : goog.events.fireListener(listener, new goog.events.BrowserEvent(opt_evt, this));
};
goog.events.markIeEvent_ = function(e) {
  var useReturnValue = !1;
  if (e.keyCode == 0) {
    try {
      e.keyCode = -1;
      return;
    } catch (ex) {
      useReturnValue = !0;
    }
  }
  if (useReturnValue || e.returnValue == void 0) {
    e.returnValue = !0;
  }
};
goog.events.isMarkedIeEvent_ = function(e) {
  return e.keyCode < 0 || e.returnValue != void 0;
};
goog.events.uniqueIdCounter_ = 0;
goog.events.getUniqueId = function(identifier) {
  return identifier + "_" + goog.events.uniqueIdCounter_++;
};
goog.events.getListenerMap_ = function(src) {
  var listenerMap = src[goog.events.LISTENER_MAP_PROP_];
  return listenerMap instanceof goog.events.ListenerMap ? listenerMap : null;
};
goog.events.LISTENER_WRAPPER_PROP_ = "__closure_events_fn_" + (Math.random() * 1E9 >>> 0);
goog.events.wrapListener = function(listener) {
  goog.asserts.assert(listener, "Listener can not be null.");
  if (typeof listener === "function") {
    return listener;
  }
  goog.asserts.assert(listener.handleEvent, "An object listener must have handleEvent method.");
  listener[goog.events.LISTENER_WRAPPER_PROP_] || (listener[goog.events.LISTENER_WRAPPER_PROP_] = function(e) {
    return listener.handleEvent(e);
  });
  return listener[goog.events.LISTENER_WRAPPER_PROP_];
};
goog.debug.entryPointRegistry.register(function(transformer) {
  goog.events.handleBrowserEvent_ = transformer(goog.events.handleBrowserEvent_);
});
goog.events.EventTarget = function() {
  goog.Disposable.call(this);
  this.eventTargetListeners_ = new goog.events.ListenerMap(this);
  this.actualEventTarget_ = this;
  this.parentEventTarget_ = null;
};
goog.inherits(goog.events.EventTarget, goog.Disposable);
goog.events.Listenable.addImplementation(goog.events.EventTarget);
goog.events.EventTarget.MAX_ANCESTORS_ = 1E3;
goog.events.EventTarget.prototype.getParentEventTarget = function() {
  return this.parentEventTarget_;
};
goog.events.EventTarget.prototype.addEventListener = function(type, handler, opt_capture, opt_handlerScope) {
  goog.events.listen(this, type, handler, opt_capture, opt_handlerScope);
};
goog.events.EventTarget.prototype.removeEventListener = function(type, handler, opt_capture, opt_handlerScope) {
  goog.events.unlisten(this, type, handler, opt_capture, opt_handlerScope);
};
goog.events.EventTarget.prototype.dispatchEvent = function(e) {
  this.assertInitialized_();
  var ancestor = this.getParentEventTarget();
  if (ancestor) {
    var ancestorsTree = [];
    for (var ancestorCount = 1; ancestor; ancestor = ancestor.getParentEventTarget()) {
      ancestorsTree.push(ancestor), goog.asserts.assert(++ancestorCount < goog.events.EventTarget.MAX_ANCESTORS_, "infinite loop");
    }
  }
  return goog.events.EventTarget.dispatchEventInternal_(this.actualEventTarget_, e, ancestorsTree);
};
goog.events.EventTarget.prototype.disposeInternal = function() {
  goog.events.EventTarget.superClass_.disposeInternal.call(this);
  this.removeAllListeners();
  this.parentEventTarget_ = null;
};
goog.events.EventTarget.prototype.listen = function(type, listener, opt_useCapture, opt_listenerScope) {
  this.assertInitialized_();
  return this.eventTargetListeners_.add(String(type), listener, !1, opt_useCapture, opt_listenerScope);
};
goog.events.EventTarget.prototype.listenOnce = function(type, listener, opt_useCapture, opt_listenerScope) {
  return this.eventTargetListeners_.add(String(type), listener, !0, opt_useCapture, opt_listenerScope);
};
goog.events.EventTarget.prototype.unlisten = function(type, listener, opt_useCapture, opt_listenerScope) {
  return this.eventTargetListeners_.remove(String(type), listener, opt_useCapture, opt_listenerScope);
};
goog.events.EventTarget.prototype.unlistenByKey = function(key) {
  return this.eventTargetListeners_.removeByKey(key);
};
goog.events.EventTarget.prototype.removeAllListeners = function(opt_type) {
  return this.eventTargetListeners_ ? this.eventTargetListeners_.removeAll(opt_type) : 0;
};
goog.events.EventTarget.prototype.fireListeners = function(type, capture, eventObject) {
  var listenerArray = this.eventTargetListeners_.listeners[String(type)];
  if (!listenerArray) {
    return !0;
  }
  listenerArray = listenerArray.concat();
  for (var rv = !0, i = 0; i < listenerArray.length; ++i) {
    var listener = listenerArray[i];
    if (listener && !listener.removed && listener.capture == capture) {
      var listenerFn = listener.listener, listenerHandler = listener.handler || listener.src;
      listener.callOnce && this.unlistenByKey(listener);
      rv = listenerFn.call(listenerHandler, eventObject) !== !1 && rv;
    }
  }
  return rv && !eventObject.defaultPrevented;
};
goog.events.EventTarget.prototype.getListeners = function(type, capture) {
  return this.eventTargetListeners_.getListeners(String(type), capture);
};
goog.events.EventTarget.prototype.getListener = function(type, listener, capture, opt_listenerScope) {
  return this.eventTargetListeners_.getListener(String(type), listener, capture, opt_listenerScope);
};
goog.events.EventTarget.prototype.hasListener = function(opt_type, opt_capture) {
  return this.eventTargetListeners_.hasListener(opt_type !== void 0 ? String(opt_type) : void 0, opt_capture);
};
goog.events.EventTarget.prototype.assertInitialized_ = function() {
  goog.asserts.assert(this.eventTargetListeners_, "Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?");
};
goog.events.EventTarget.dispatchEventInternal_ = function(target, e, opt_ancestorsTree) {
  var type = e.type || e;
  if (typeof e === "string") {
    e = new goog.events.Event(e, target);
  } else if (e instanceof goog.events.Event) {
    e.target = e.target || target;
  } else {
    var oldEvent = e;
    e = new goog.events.Event(type, target);
    module$contents$goog$object_extend(e, oldEvent);
  }
  var rv = !0, i;
  if (opt_ancestorsTree) {
    for (i = opt_ancestorsTree.length - 1; !e.propagationStopped_ && i >= 0; i--) {
      var currentTarget = e.currentTarget = opt_ancestorsTree[i];
      rv = currentTarget.fireListeners(type, !0, e) && rv;
    }
  }
  e.propagationStopped_ || (currentTarget = e.currentTarget = target, rv = currentTarget.fireListeners(type, !0, e) && rv, e.propagationStopped_ || (rv = currentTarget.fireListeners(type, !1, e) && rv));
  if (opt_ancestorsTree) {
    for (i = 0; !e.propagationStopped_ && i < opt_ancestorsTree.length; i++) {
      currentTarget = e.currentTarget = opt_ancestorsTree[i], rv = currentTarget.fireListeners(type, !1, e) && rv;
    }
  }
  return rv;
};
var module$exports$google3$javascript$common$async$context$propagate = {};
module$exports$google3$javascript$common$async$context$propagate.propagateAsyncContext = typeof AsyncContext !== "undefined" && typeof AsyncContext.Snapshot === "function" ? function(fn) {
  return fn && AsyncContext.Snapshot.wrap(fn);
} : function(fn) {
  return fn;
};
var module$contents$goog$async$FreeList_FreeList = function(create, reset, limit) {
  this.limit_ = limit;
  this.create_ = create;
  this.reset_ = reset;
  this.occupants_ = 0;
  this.head_ = null;
};
module$contents$goog$async$FreeList_FreeList.prototype.get = function() {
  if (this.occupants_ > 0) {
    this.occupants_--;
    var item = this.head_;
    this.head_ = item.next;
    item.next = null;
  } else {
    item = this.create_();
  }
  return item;
};
module$contents$goog$async$FreeList_FreeList.prototype.put = function(item) {
  this.reset_(item);
  this.occupants_ < this.limit_ && (this.occupants_++, item.next = this.head_, this.head_ = item);
};
goog.async.FreeList = module$contents$goog$async$FreeList_FreeList;
goog.async.nextTick = function(callback, opt_context) {
  var cb = callback;
  opt_context && (cb = goog.bind(callback, opt_context));
  cb = goog.async.nextTick.wrapCallback_(cb);
  goog.async.nextTick.USE_SET_TIMEOUT ? setTimeout(cb, 0) : goog.DEBUG && typeof goog.global.setImmediate === "function" && goog.async.nextTick.useSetImmediate_() ? goog.global.setImmediate(cb) : (goog.async.nextTick.nextTickImpl || (goog.async.nextTick.nextTickImpl = goog.async.nextTick.getNextTickImpl_()), goog.async.nextTick.nextTickImpl(cb));
};
goog.async.nextTick.USE_SET_TIMEOUT = !1;
goog.async.nextTick.useSetImmediate_ = function() {
  return goog.global.Window && goog.global.Window.prototype && goog.global.Window.prototype.setImmediate == goog.global.setImmediate ? !1 : !0;
};
goog.async.nextTick.getNextTickImpl_ = function() {
  if (typeof MessageChannel !== "undefined") {
    var channel = new MessageChannel(), head = {}, tail = head;
    channel.port1.onmessage = function() {
      if (head.next !== void 0) {
        head = head.next;
        var cb = head.cb;
        head.cb = null;
        cb();
      }
    };
    return function(cb) {
      tail.next = {cb:cb};
      tail = tail.next;
      channel.port2.postMessage(0);
    };
  }
  return function(cb) {
    goog.global.setTimeout(cb, 0);
  };
};
goog.async.nextTick.wrapCallback_ = function(callback) {
  return callback;
};
goog.debug.entryPointRegistry.register(function(transformer) {
  goog.async.nextTick.wrapCallback_ = transformer;
});
var module$contents$goog$async$WorkQueue_WorkQueue = function() {
  this.workTail_ = this.workHead_ = null;
};
module$contents$goog$async$WorkQueue_WorkQueue.prototype.add = function(fn, scope) {
  var item = this.getUnusedItem_();
  item.set(fn, scope);
  this.workTail_ ? this.workTail_.next = item : ((0,goog.asserts.assert)(!this.workHead_), this.workHead_ = item);
  this.workTail_ = item;
};
module$contents$goog$async$WorkQueue_WorkQueue.prototype.remove = function() {
  var item = null;
  this.workHead_ && (item = this.workHead_, this.workHead_ = this.workHead_.next, this.workHead_ || (this.workTail_ = null), item.next = null);
  return item;
};
module$contents$goog$async$WorkQueue_WorkQueue.prototype.returnUnused = function(item) {
  module$contents$goog$async$WorkQueue_WorkQueue.freelist_.put(item);
};
module$contents$goog$async$WorkQueue_WorkQueue.prototype.getUnusedItem_ = function() {
  return module$contents$goog$async$WorkQueue_WorkQueue.freelist_.get();
};
module$contents$goog$async$WorkQueue_WorkQueue.DEFAULT_MAX_UNUSED = 100;
module$contents$goog$async$WorkQueue_WorkQueue.freelist_ = new module$contents$goog$async$FreeList_FreeList(function() {
  return new module$contents$goog$async$WorkQueue_WorkItem();
}, function(item) {
  return item.reset();
}, module$contents$goog$async$WorkQueue_WorkQueue.DEFAULT_MAX_UNUSED);
var module$contents$goog$async$WorkQueue_WorkItem = function() {
  this.next = this.scope = this.fn = null;
};
module$contents$goog$async$WorkQueue_WorkItem.prototype.set = function(fn, scope) {
  this.fn = fn;
  this.scope = scope;
  this.next = null;
};
module$contents$goog$async$WorkQueue_WorkItem.prototype.reset = function() {
  this.next = this.scope = this.fn = null;
};
goog.async.WorkQueue = module$contents$goog$async$WorkQueue_WorkQueue;
goog.debug.asyncStackTag = {};
var module$contents$goog$debug$asyncStackTag_createTask = goog.DEBUG && goog.global.console && goog.global.console.createTask ? goog.global.console.createTask.bind(goog.global.console) : void 0, module$contents$goog$debug$asyncStackTag_CONSOLE_TASK_SYMBOL = module$contents$goog$debug$asyncStackTag_createTask ? Symbol("consoleTask") : void 0;
function module$contents$goog$debug$asyncStackTag_wrap(fn, name) {
  function wrappedFn() {
    var args = $jscomp.getRestArguments.apply(0, arguments), $jscomp$this$1621498202$4 = this;
    return consoleTask.run(function() {
      return fn.call.apply(fn, [$jscomp$this$1621498202$4].concat((0,$jscomp.arrayFromIterable)(args)));
    });
  }
  name = name === void 0 ? "anonymous" : name;
  if (!goog.DEBUG || module$contents$goog$debug$asyncStackTag_CONSOLE_TASK_SYMBOL && fn[module$contents$goog$debug$asyncStackTag_CONSOLE_TASK_SYMBOL]) {
    return fn;
  }
  var originalFn = fn, $jscomp$optchain$tmp1621498202$0, originalTest = ($jscomp$optchain$tmp1621498202$0 = module$contents$goog$debug$asyncStackTag_testNameProvider) == null ? void 0 : $jscomp$optchain$tmp1621498202$0();
  fn = function() {
    var args = $jscomp.getRestArguments.apply(0, arguments), $jscomp$optchain$tmp1621498202$1, currentTest = ($jscomp$optchain$tmp1621498202$1 = module$contents$goog$debug$asyncStackTag_testNameProvider) == null ? void 0 : $jscomp$optchain$tmp1621498202$1();
    if (originalTest !== currentTest) {
      throw Error(name + " was scheduled in '" + originalTest + "' but called in '" + currentTest + "'.\nMake sure your test awaits all async calls.\n\nTIP: To help investigate, debug the test in Chrome and look at the async portion\nof the call stack to see what originally scheduled the callback.  Then, make the\ntest wait for the relevant asynchronous work to finish.");
    }
    return originalFn.call.apply(originalFn, [this].concat((0,$jscomp.arrayFromIterable)(args)));
  };
  if (!module$contents$goog$debug$asyncStackTag_createTask) {
    return fn;
  }
  var consoleTask = module$contents$goog$debug$asyncStackTag_createTask(fn.name || name);
  wrappedFn[(0,goog.asserts.assertExists)(module$contents$goog$debug$asyncStackTag_CONSOLE_TASK_SYMBOL)] = consoleTask;
  return wrappedFn;
}
goog.debug.asyncStackTag.wrap = module$contents$goog$debug$asyncStackTag_wrap;
var module$contents$goog$debug$asyncStackTag_testNameProvider;
goog.debug.asyncStackTag.setTestNameProvider = function(provider) {
  if (!goog.DEBUG) {
    throw Error("This feature is debug-only");
  }
  module$contents$goog$debug$asyncStackTag_testNameProvider = provider;
};
goog.debug.asyncStackTag.getTestNameProvider = function() {
  if (!goog.DEBUG) {
    throw Error("This feature is debug-only");
  }
  return module$contents$goog$debug$asyncStackTag_testNameProvider;
};
var module$contents$goog$async$run_schedule, module$contents$goog$async$run_workQueueScheduled = !1, module$contents$goog$async$run_workQueue = new module$contents$goog$async$WorkQueue_WorkQueue(), module$contents$goog$async$run_run = function(callback, context) {
  callback = module$contents$goog$debug$asyncStackTag_wrap(callback, "goog.async.run");
  module$contents$goog$async$run_schedule || module$contents$goog$async$run_initializeRunner();
  module$contents$goog$async$run_workQueueScheduled || (module$contents$goog$async$run_schedule(), module$contents$goog$async$run_workQueueScheduled = !0);
  module$contents$goog$async$run_workQueue.add(callback, context);
}, module$contents$goog$async$run_initializeRunner = function() {
  var promise = Promise.resolve(void 0);
  module$contents$goog$async$run_schedule = function() {
    promise.then(module$contents$goog$async$run_processWorkQueueInternal);
  };
};
function module$contents$goog$async$run_processWorkQueueInternal() {
  for (var item; item = module$contents$goog$async$run_workQueue.remove();) {
    try {
      item.fn.call(item.scope);
    } catch (e) {
      module$contents$goog$async$throwException_throwException(e);
    }
    module$contents$goog$async$run_workQueue.returnUnused(item);
  }
  module$contents$goog$async$run_workQueueScheduled = !1;
}
goog.async.run = module$contents$goog$async$run_run;
goog.functions = {};
goog.functions.constant = function(retValue) {
  return function() {
    return retValue;
  };
};
goog.functions.FALSE = function() {
  return !1;
};
goog.functions.TRUE = function() {
  return !0;
};
goog.functions.NULL = function() {
  return null;
};
goog.functions.UNDEFINED = function() {
};
goog.functions.EMPTY = goog.functions.UNDEFINED;
goog.functions.identity = function(opt_returnValue) {
  return opt_returnValue;
};
goog.functions.error = function(message) {
  return function() {
    throw Error(message);
  };
};
goog.functions.fail = function(err) {
  return function() {
    throw err;
  };
};
goog.functions.lock = function(f, opt_numArgs) {
  opt_numArgs = opt_numArgs || 0;
  return function() {
    return f.apply(this, Array.prototype.slice.call(arguments, 0, opt_numArgs));
  };
};
goog.functions.nth = function(n) {
  return function() {
    return arguments[n];
  };
};
goog.functions.partialRight = function(fn, var_args) {
  var rightArgs = Array.prototype.slice.call(arguments, 1);
  return function() {
    var self = this;
    self === goog.global && (self = void 0);
    var newArgs = Array.prototype.slice.call(arguments);
    newArgs.push.apply(newArgs, rightArgs);
    return fn.apply(self, newArgs);
  };
};
goog.functions.withReturnValue = function(f, retValue) {
  return goog.functions.sequence(f, goog.functions.constant(retValue));
};
goog.functions.equalTo = function(value, opt_useLooseComparison) {
  return function(other) {
    return opt_useLooseComparison ? value == other : value === other;
  };
};
goog.functions.compose = function(fn, var_args) {
  var functions = arguments, length = functions.length;
  return function() {
    var result;
    length && (result = functions[length - 1].apply(this, arguments));
    for (var i = length - 2; i >= 0; i--) {
      result = functions[i].call(this, result);
    }
    return result;
  };
};
goog.functions.sequence = function(var_args) {
  var functions = arguments, length = functions.length;
  return function() {
    for (var result, i = 0; i < length; i++) {
      result = functions[i].apply(this, arguments);
    }
    return result;
  };
};
goog.functions.and = function(var_args) {
  var functions = arguments, length = functions.length;
  return function() {
    for (var i = 0; i < length; i++) {
      if (!functions[i].apply(this, arguments)) {
        return !1;
      }
    }
    return !0;
  };
};
goog.functions.or = function(var_args) {
  var functions = arguments, length = functions.length;
  return function() {
    for (var i = 0; i < length; i++) {
      if (functions[i].apply(this, arguments)) {
        return !0;
      }
    }
    return !1;
  };
};
goog.functions.not = function(f) {
  return function() {
    return !f.apply(this, arguments);
  };
};
goog.functions.create = function(constructor, var_args) {
  var temp = function() {
  };
  temp.prototype = constructor.prototype;
  var obj = new temp();
  constructor.apply(obj, Array.prototype.slice.call(arguments, 1));
  return obj;
};
goog.functions.CACHE_RETURN_VALUE = !0;
goog.functions.cacheReturnValue = function(fn) {
  var called = !1, value;
  return function() {
    if (!goog.functions.CACHE_RETURN_VALUE) {
      return fn();
    }
    called || (value = fn(), called = !0);
    return value;
  };
};
goog.functions.once = function(f) {
  var inner = f;
  return function() {
    if (inner) {
      var tmp = inner;
      inner = null;
      tmp();
    }
  };
};
goog.functions.debounce = function(f, interval, opt_scope) {
  var timeout = 0;
  return function(var_args) {
    goog.global.clearTimeout(timeout);
    var args = arguments;
    timeout = goog.global.setTimeout(function() {
      f.apply(opt_scope, args);
    }, interval);
  };
};
goog.functions.throttle = function(f, interval, opt_scope) {
  var timeout = 0, shouldFire = !1, storedArgs = [], handleTimeout = function() {
    timeout = 0;
    shouldFire && (shouldFire = !1, fire());
  }, fire = function() {
    timeout = goog.global.setTimeout(handleTimeout, interval);
    var args = storedArgs;
    storedArgs = [];
    f.apply(opt_scope, args);
  };
  return function(var_args) {
    storedArgs = arguments;
    timeout ? shouldFire = !0 : fire();
  };
};
goog.functions.rateLimit = function(f, interval, opt_scope) {
  var timeout = 0, handleTimeout = function() {
    timeout = 0;
  };
  return function(var_args) {
    timeout || (timeout = goog.global.setTimeout(handleTimeout, interval), f.apply(opt_scope, arguments));
  };
};
goog.functions.isFunction = function(val) {
  return typeof val === "function";
};
goog.promise = {};
goog.promise.Resolver = function() {
};
function module$contents$goog$Thenable_Thenable() {
}
module$contents$goog$Thenable_Thenable.prototype.then = function() {
};
module$contents$goog$Thenable_Thenable.IMPLEMENTED_BY_PROP = "$goog_Thenable";
module$contents$goog$Thenable_Thenable.addImplementation = function(ctor) {
  ctor.prototype[module$contents$goog$Thenable_Thenable.IMPLEMENTED_BY_PROP] = !0;
};
module$contents$goog$Thenable_Thenable.isImplementedBy = function(object) {
  if (!object) {
    return !1;
  }
  try {
    return !!object[module$contents$goog$Thenable_Thenable.IMPLEMENTED_BY_PROP];
  } catch (e) {
    return !1;
  }
};
goog.Thenable = module$contents$goog$Thenable_Thenable;
goog.Promise = function(resolver, opt_context) {
  this.state_ = goog.Promise.State_.PENDING;
  this.result_ = void 0;
  this.callbackEntriesTail_ = this.callbackEntries_ = this.parent_ = null;
  this.executing_ = !1;
  goog.Promise.UNHANDLED_REJECTION_DELAY > 0 ? this.unhandledRejectionId_ = 0 : goog.Promise.UNHANDLED_REJECTION_DELAY == 0 && (this.hadUnhandledRejection_ = !1);
  goog.Promise.LONG_STACK_TRACES && (this.stack_ = [], this.addStackTrace_(Error("created")), this.currentStep_ = 0);
  if (resolver != goog.functions.UNDEFINED) {
    try {
      var self = this;
      resolver.call(opt_context, function(value) {
        self.resolve_(goog.Promise.State_.FULFILLED, value);
      }, function(reason) {
        if (goog.DEBUG && !(reason instanceof goog.Promise.CancellationError)) {
          try {
            if (reason instanceof Error) {
              throw reason;
            }
            throw Error("Promise rejected.");
          } catch (e) {
          }
        }
        self.resolve_(goog.Promise.State_.REJECTED, reason);
      });
    } catch (e) {
      this.resolve_(goog.Promise.State_.REJECTED, e);
    }
  }
};
goog.Promise.wrap_ = module$exports$google3$javascript$common$async$context$propagate.propagateAsyncContext;
goog.Promise.LONG_STACK_TRACES = !1;
goog.Promise.UNHANDLED_REJECTION_DELAY = 0;
goog.Promise.State_ = {PENDING:0, BLOCKED:1, FULFILLED:2, REJECTED:3};
goog.Promise.CallbackEntry_ = function() {
  this.next = this.context = this.onRejected = this.onFulfilled = this.child = null;
  this.always = !1;
};
goog.Promise.CallbackEntry_.prototype.reset = function() {
  this.context = this.onRejected = this.onFulfilled = this.child = null;
  this.always = !1;
};
goog.Promise.DEFAULT_MAX_UNUSED = 100;
goog.Promise.freelist_ = new module$contents$goog$async$FreeList_FreeList(function() {
  return new goog.Promise.CallbackEntry_();
}, function(item) {
  item.reset();
}, goog.Promise.DEFAULT_MAX_UNUSED);
goog.Promise.getCallbackEntry_ = function(onFulfilled, onRejected, context) {
  var entry = goog.Promise.freelist_.get();
  entry.onFulfilled = onFulfilled;
  entry.onRejected = onRejected;
  entry.context = context;
  return entry;
};
goog.Promise.returnEntry_ = function(entry) {
  goog.Promise.freelist_.put(entry);
};
goog.Promise.resolve = function(opt_value) {
  if (opt_value instanceof goog.Promise) {
    return opt_value;
  }
  var promise = new goog.Promise(goog.functions.UNDEFINED);
  promise.resolve_(goog.Promise.State_.FULFILLED, opt_value);
  return promise;
};
goog.Promise.reject = function(opt_reason) {
  return new goog.Promise(function(resolve, reject) {
    reject(opt_reason);
  });
};
goog.Promise.resolveThen_ = function(value, onFulfilled, onRejected) {
  goog.Promise.maybeThen_(value, onFulfilled, onRejected, null) || module$contents$goog$async$run_run(goog.partial(onFulfilled, value));
};
goog.Promise.race = function(promises) {
  return new goog.Promise(function(resolve, reject) {
    promises.length || resolve(void 0);
    for (var promise, i = 0; i < promises.length; i++) {
      promise = promises[i], goog.Promise.resolveThen_(promise, resolve, reject);
    }
  });
};
goog.Promise.all = function(promises) {
  return new goog.Promise(function(resolve, reject) {
    var toFulfill = promises.length, values = [];
    if (toFulfill) {
      for (var onFulfill = function(index, value) {
        toFulfill--;
        values[index] = value;
        toFulfill == 0 && resolve(values);
      }, onReject = function(reason) {
        reject(reason);
      }, promise, i = 0; i < promises.length; i++) {
        promise = promises[i], goog.Promise.resolveThen_(promise, goog.partial(onFulfill, i), onReject);
      }
    } else {
      resolve(values);
    }
  });
};
goog.Promise.allSettled = function(promises) {
  return new goog.Promise(function(resolve) {
    var toSettle = promises.length, results = [];
    if (toSettle) {
      for (var onSettled = function(index, fulfilled, result) {
        toSettle--;
        results[index] = fulfilled ? {fulfilled:!0, value:result} : {fulfilled:!1, reason:result};
        toSettle == 0 && resolve(results);
      }, promise, i = 0; i < promises.length; i++) {
        promise = promises[i], goog.Promise.resolveThen_(promise, goog.partial(onSettled, i, !0), goog.partial(onSettled, i, !1));
      }
    } else {
      resolve(results);
    }
  });
};
goog.Promise.firstFulfilled = function(promises) {
  return new goog.Promise(function(resolve, reject) {
    var toReject = promises.length, reasons = [];
    if (toReject) {
      for (var onFulfill = function(value) {
        resolve(value);
      }, onReject = function(index, reason) {
        toReject--;
        reasons[index] = reason;
        toReject == 0 && reject(reasons);
      }, promise, i = 0; i < promises.length; i++) {
        promise = promises[i], goog.Promise.resolveThen_(promise, onFulfill, goog.partial(onReject, i));
      }
    } else {
      resolve(void 0);
    }
  });
};
goog.Promise.withResolver = function() {
  var resolve, reject, promise = new goog.Promise(function(rs, rj) {
    resolve = rs;
    reject = rj;
  });
  return new goog.Promise.Resolver_(promise, resolve, reject);
};
goog.Promise.prototype.then = function(opt_onFulfilled, opt_onRejected, opt_context) {
  opt_onFulfilled != null && goog.asserts.assertFunction(opt_onFulfilled, "opt_onFulfilled should be a function.");
  opt_onRejected != null && goog.asserts.assertFunction(opt_onRejected, "opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");
  goog.Promise.LONG_STACK_TRACES && this.addStackTrace_(Error("then"));
  return this.addChildPromise_(module$exports$google3$javascript$common$async$context$propagate.propagateAsyncContext(typeof opt_onFulfilled === "function" ? opt_onFulfilled : null), module$exports$google3$javascript$common$async$context$propagate.propagateAsyncContext(typeof opt_onRejected === "function" ? opt_onRejected : null), opt_context);
};
module$contents$goog$Thenable_Thenable.addImplementation(goog.Promise);
goog.Promise.prototype.thenVoid = function(opt_onFulfilled, opt_onRejected, opt_context) {
  opt_onFulfilled != null && goog.asserts.assertFunction(opt_onFulfilled, "opt_onFulfilled should be a function.");
  opt_onRejected != null && goog.asserts.assertFunction(opt_onRejected, "opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");
  goog.Promise.LONG_STACK_TRACES && this.addStackTrace_(Error("then"));
  this.addCallbackEntry_(goog.Promise.getCallbackEntry_(opt_onFulfilled || goog.functions.UNDEFINED, opt_onRejected || null, opt_context));
};
goog.Promise.prototype.thenCatch = function(onRejected, opt_context) {
  goog.Promise.LONG_STACK_TRACES && this.addStackTrace_(Error("thenCatch"));
  return this.addChildPromise_(null, module$exports$google3$javascript$common$async$context$propagate.propagateAsyncContext(onRejected), opt_context);
};
goog.Promise.prototype.catch = goog.Promise.prototype.thenCatch;
goog.Promise.prototype.cancel = function(opt_message) {
  if (this.state_ == goog.Promise.State_.PENDING) {
    var err = new goog.Promise.CancellationError(opt_message);
    module$contents$goog$async$run_run(function() {
      this.cancelInternal_(err);
    }, this);
  }
};
goog.Promise.prototype.cancelInternal_ = function(err) {
  this.state_ == goog.Promise.State_.PENDING && (this.parent_ ? (this.parent_.cancelChild_(this, err), this.parent_ = null) : this.resolve_(goog.Promise.State_.REJECTED, err));
};
goog.Promise.prototype.cancelChild_ = function(childPromise, err) {
  if (this.callbackEntries_) {
    for (var childCount = 0, childEntry = null, beforeChildEntry = null, entry = this.callbackEntries_; entry && (entry.always || (childCount++, entry.child == childPromise && (childEntry = entry), !(childEntry && childCount > 1))); entry = entry.next) {
      childEntry || (beforeChildEntry = entry);
    }
    childEntry && (this.state_ == goog.Promise.State_.PENDING && childCount == 1 ? this.cancelInternal_(err) : (beforeChildEntry ? this.removeEntryAfter_(beforeChildEntry) : this.popEntry_(), this.executeCallback_(childEntry, goog.Promise.State_.REJECTED, err)));
  }
};
goog.Promise.prototype.addCallbackEntry_ = function(callbackEntry) {
  this.hasEntry_() || this.state_ != goog.Promise.State_.FULFILLED && this.state_ != goog.Promise.State_.REJECTED || this.scheduleCallbacks_();
  this.queueEntry_(callbackEntry);
};
goog.Promise.prototype.addChildPromise_ = function(onFulfilled, onRejected, opt_context) {
  onFulfilled && (onFulfilled = module$contents$goog$debug$asyncStackTag_wrap(onFulfilled, "goog.Promise.then"));
  onRejected && (onRejected = module$contents$goog$debug$asyncStackTag_wrap(onRejected, "goog.Promise.then"));
  var callbackEntry = goog.Promise.getCallbackEntry_(null, null, null);
  callbackEntry.child = new goog.Promise(function(resolve, reject) {
    callbackEntry.onFulfilled = onFulfilled ? function(value) {
      try {
        var result = onFulfilled.call(opt_context, value);
        resolve(result);
      } catch (err) {
        reject(err);
      }
    } : resolve;
    callbackEntry.onRejected = onRejected ? function(reason) {
      try {
        var result = onRejected.call(opt_context, reason);
        result === void 0 && reason instanceof goog.Promise.CancellationError ? reject(reason) : resolve(result);
      } catch (err) {
        reject(err);
      }
    } : reject;
  });
  callbackEntry.child.parent_ = this;
  this.addCallbackEntry_(callbackEntry);
  return callbackEntry.child;
};
goog.Promise.prototype.unblockAndFulfill_ = function(value) {
  goog.asserts.assert(this.state_ == goog.Promise.State_.BLOCKED);
  this.state_ = goog.Promise.State_.PENDING;
  this.resolve_(goog.Promise.State_.FULFILLED, value);
};
goog.Promise.prototype.unblockAndReject_ = function(reason) {
  goog.asserts.assert(this.state_ == goog.Promise.State_.BLOCKED);
  this.state_ = goog.Promise.State_.PENDING;
  this.resolve_(goog.Promise.State_.REJECTED, reason);
};
goog.Promise.prototype.resolve_ = function(state, x) {
  this.state_ == goog.Promise.State_.PENDING && (this === x && (state = goog.Promise.State_.REJECTED, x = new TypeError("Promise cannot resolve to itself")), this.state_ = goog.Promise.State_.BLOCKED, goog.Promise.maybeThen_(x, this.unblockAndFulfill_, this.unblockAndReject_, this) || (this.result_ = x, this.state_ = state, this.parent_ = null, this.scheduleCallbacks_(), state != goog.Promise.State_.REJECTED || x instanceof goog.Promise.CancellationError || goog.Promise.addUnhandledRejection_(this, 
  x)));
};
goog.Promise.maybeThen_ = function(value, onFulfilled, onRejected, context) {
  if (value instanceof goog.Promise) {
    return value.thenVoid(onFulfilled, onRejected, context), !0;
  }
  if (module$contents$goog$Thenable_Thenable.isImplementedBy(value)) {
    return value.then(onFulfilled, onRejected, context), !0;
  }
  if (goog.isObject(value)) {
    try {
      var then = value.then;
      if (typeof then === "function") {
        return goog.Promise.tryThen_(value, then, onFulfilled, onRejected, context), !0;
      }
    } catch (e) {
      return onRejected.call(context, e), !0;
    }
  }
  return !1;
};
goog.Promise.tryThen_ = function(thenable, then, onFulfilled, onRejected, context) {
  var called = !1, resolve = function(value) {
    called || (called = !0, onFulfilled.call(context, value));
  }, reject = function(reason) {
    called || (called = !0, onRejected.call(context, reason));
  };
  try {
    then.call(thenable, resolve, reject);
  } catch (e) {
    reject(e);
  }
};
goog.Promise.prototype.scheduleCallbacks_ = function() {
  this.executing_ || (this.executing_ = !0, module$contents$goog$async$run_run(this.executeCallbacks_, this));
};
goog.Promise.prototype.hasEntry_ = function() {
  return !!this.callbackEntries_;
};
goog.Promise.prototype.queueEntry_ = function(entry) {
  goog.asserts.assert(entry.onFulfilled != null);
  this.callbackEntriesTail_ ? this.callbackEntriesTail_.next = entry : this.callbackEntries_ = entry;
  this.callbackEntriesTail_ = entry;
};
goog.Promise.prototype.popEntry_ = function() {
  var entry = null;
  this.callbackEntries_ && (entry = this.callbackEntries_, this.callbackEntries_ = entry.next, entry.next = null);
  this.callbackEntries_ || (this.callbackEntriesTail_ = null);
  entry != null && goog.asserts.assert(entry.onFulfilled != null);
  return entry;
};
goog.Promise.prototype.removeEntryAfter_ = function(previous) {
  goog.asserts.assert(this.callbackEntries_);
  goog.asserts.assert(previous != null);
  previous.next == this.callbackEntriesTail_ && (this.callbackEntriesTail_ = previous);
  previous.next = previous.next.next;
};
goog.Promise.prototype.executeCallbacks_ = function() {
  for (var entry; entry = this.popEntry_();) {
    goog.Promise.LONG_STACK_TRACES && this.currentStep_++, this.executeCallback_(entry, this.state_, this.result_);
  }
  this.executing_ = !1;
};
goog.Promise.prototype.executeCallback_ = function(callbackEntry, state, result) {
  state == goog.Promise.State_.REJECTED && callbackEntry.onRejected && !callbackEntry.always && this.removeUnhandledRejection_();
  if (callbackEntry.child) {
    callbackEntry.child.parent_ = null, goog.Promise.invokeCallback_(callbackEntry, state, result);
  } else {
    try {
      callbackEntry.always ? callbackEntry.onFulfilled.call(callbackEntry.context) : goog.Promise.invokeCallback_(callbackEntry, state, result);
    } catch (err) {
      goog.Promise.handleRejection_.call(null, err);
    }
  }
  goog.Promise.returnEntry_(callbackEntry);
};
goog.Promise.invokeCallback_ = function(callbackEntry, state, result) {
  state == goog.Promise.State_.FULFILLED ? callbackEntry.onFulfilled.call(callbackEntry.context, result) : callbackEntry.onRejected && callbackEntry.onRejected.call(callbackEntry.context, result);
};
goog.Promise.prototype.addStackTrace_ = function(err) {
  if (goog.Promise.LONG_STACK_TRACES && typeof err.stack === "string") {
    var trace = err.stack.split("\n", 4)[3], message = err.message;
    message += Array(11 - message.length).join(" ");
    this.stack_.push(message + trace);
  }
};
goog.Promise.prototype.appendLongStack_ = function(err) {
  if (goog.Promise.LONG_STACK_TRACES && err && typeof err.stack === "string" && this.stack_.length) {
    for (var longTrace = ["Promise trace:"], promise = this; promise; promise = promise.parent_) {
      for (var i = this.currentStep_; i >= 0; i--) {
        longTrace.push(promise.stack_[i]);
      }
      longTrace.push("Value: [" + (promise.state_ == goog.Promise.State_.REJECTED ? "REJECTED" : "FULFILLED") + "] <" + String(promise.result_) + ">");
    }
    err.stack += "\n\n" + longTrace.join("\n");
  }
};
goog.Promise.prototype.removeUnhandledRejection_ = function() {
  if (goog.Promise.UNHANDLED_REJECTION_DELAY > 0) {
    for (var p = this; p && p.unhandledRejectionId_; p = p.parent_) {
      goog.global.clearTimeout(p.unhandledRejectionId_), p.unhandledRejectionId_ = 0;
    }
  } else if (goog.Promise.UNHANDLED_REJECTION_DELAY == 0) {
    for (var p$jscomp$0 = this; p$jscomp$0 && p$jscomp$0.hadUnhandledRejection_; p$jscomp$0 = p$jscomp$0.parent_) {
      p$jscomp$0.hadUnhandledRejection_ = !1;
    }
  }
};
goog.Promise.addUnhandledRejection_ = function(promise, reason) {
  goog.Promise.UNHANDLED_REJECTION_DELAY > 0 ? promise.unhandledRejectionId_ = goog.global.setTimeout(function() {
    promise.appendLongStack_(reason);
    goog.Promise.handleRejection_.call(null, reason);
  }, goog.Promise.UNHANDLED_REJECTION_DELAY) : goog.Promise.UNHANDLED_REJECTION_DELAY == 0 && (promise.hadUnhandledRejection_ = !0, module$contents$goog$async$run_run(function() {
    promise.hadUnhandledRejection_ && (promise.appendLongStack_(reason), goog.Promise.handleRejection_.call(null, reason));
  }));
};
goog.Promise.handleRejection_ = module$contents$goog$async$throwException_throwException;
goog.Promise.setUnhandledRejectionHandler = function(handler) {
  goog.Promise.handleRejection_ = handler;
};
goog.Promise.CancellationError = function(opt_message) {
  module$contents$goog$debug$Error_DebugError.call(this, opt_message);
};
goog.inherits(goog.Promise.CancellationError, module$contents$goog$debug$Error_DebugError);
goog.Promise.CancellationError.prototype.name = "cancel";
goog.Promise.Resolver_ = function(promise, resolve, reject) {
  this.promise = promise;
  this.resolve = resolve;
  this.reject = reject;
};
goog.Timer = function(opt_interval, opt_timerObject) {
  goog.events.EventTarget.call(this);
  this.interval_ = opt_interval || 1;
  this.timerObject_ = opt_timerObject || goog.Timer.defaultTimerObject;
  this.boundTick_ = goog.bind(this.tick_, this);
  this.last_ = goog.now();
};
goog.inherits(goog.Timer, goog.events.EventTarget);
goog.Timer.MAX_TIMEOUT_ = 2147483647;
goog.Timer.INVALID_TIMEOUT_ID_ = -1;
goog.Timer.prototype.enabled = !1;
goog.Timer.defaultTimerObject = goog.global;
goog.Timer.intervalScale = .8;
goog.Timer.prototype.timer_ = null;
goog.Timer.prototype.setInterval = function(interval) {
  this.interval_ = interval;
  this.timer_ && this.enabled ? (this.stop(), this.start()) : this.timer_ && this.stop();
};
goog.Timer.prototype.tick_ = function() {
  if (this.enabled) {
    var elapsed = goog.now() - this.last_;
    elapsed > 0 && elapsed < this.interval_ * goog.Timer.intervalScale ? this.timer_ = this.timerObject_.setTimeout(this.boundTick_, this.interval_ - elapsed) : (this.timer_ && (this.timerObject_.clearTimeout(this.timer_), this.timer_ = null), this.dispatchTick(), this.enabled && (this.stop(), this.start()));
  }
};
goog.Timer.prototype.dispatchTick = function() {
  this.dispatchEvent(goog.Timer.TICK);
};
goog.Timer.prototype.start = function() {
  this.enabled = !0;
  this.timer_ || (this.timer_ = this.timerObject_.setTimeout(this.boundTick_, this.interval_), this.last_ = goog.now());
};
goog.Timer.prototype.stop = function() {
  this.enabled = !1;
  this.timer_ && (this.timerObject_.clearTimeout(this.timer_), this.timer_ = null);
};
goog.Timer.prototype.disposeInternal = function() {
  goog.Timer.superClass_.disposeInternal.call(this);
  this.stop();
  delete this.timerObject_;
};
goog.Timer.TICK = "tick";
goog.Timer.callOnce = function(listener, opt_delay, opt_handler) {
  if (typeof listener === "function") {
    opt_handler && (listener = goog.bind(listener, opt_handler));
  } else if (listener && typeof listener.handleEvent == "function") {
    listener = goog.bind(listener.handleEvent, listener);
  } else {
    throw Error("Invalid listener argument");
  }
  return Number(opt_delay) > goog.Timer.MAX_TIMEOUT_ ? goog.Timer.INVALID_TIMEOUT_ID_ : goog.Timer.defaultTimerObject.setTimeout(listener, opt_delay || 0);
};
goog.Timer.clear = function(timerId) {
  goog.Timer.defaultTimerObject.clearTimeout(timerId);
};
goog.Timer.promise = function(delay, opt_result) {
  var timerKey = null;
  return (new goog.Promise(function(resolve, reject) {
    timerKey = goog.Timer.callOnce(function() {
      resolve(opt_result);
    }, delay);
    timerKey == goog.Timer.INVALID_TIMEOUT_ID_ && reject(Error("Failed to schedule timer."));
  })).thenCatch(function(error) {
    goog.Timer.clear(timerKey);
    throw error;
  });
};
var module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service = {StreamzService:function(streamzLogger) {
  goog.Disposable.call(this);
  this.streamzLogger = streamzLogger;
  this.invocationCount = 0;
  this.invocationLimit = 100;
  this.shouldSendIsolatedPayload = !1;
  this.metricMap = new Map();
  this.disabledMetrics = new Set();
  this.flushInterval = 3E4;
  this.flushTimer = new goog.Timer(this.flushInterval);
  this.flushTimer.listen(goog.Timer.TICK, this.snapshotAndFlush, !1, this);
  this.registerDisposable(this.flushTimer);
}};
$jscomp.inherits(module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService, goog.Disposable);
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.setFlushCount = function(invocationLimit) {
  this.invocationLimit = invocationLimit;
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.setFlushInterval = function(flushInterval) {
  this.flushInterval = flushInterval;
  this.flushTimer.setInterval(flushInterval);
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.updateInvocationCount = function() {
  this.maybeStartFlushTimer();
  this.invocationCount++;
  this.invocationCount >= this.invocationLimit && this.snapshotAndFlush();
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.snapshotAndFlush = function() {
  var metricsIterator = this.metricMap.values(), nonEmptyMetrics = [].concat((0,$jscomp.arrayFromIterable)(metricsIterator)).filter(function(metric) {
    return metric.cellMap.size;
  });
  nonEmptyMetrics.length && this.streamzLogger.flush(nonEmptyMetrics, this.shouldSendIsolatedPayload);
  this.clearMetrics(nonEmptyMetrics);
  this.invocationCount = 0;
  this.stopFlushTimer();
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.addNewCounter = function(counterName) {
  var fields = $jscomp.getRestArguments.apply(1, arguments);
  if (!this.metricMap.has(counterName)) {
    var counter = new module$exports$google3$javascript$frameworks$client$analytics$streamz$counter.Counter(counterName, fields);
    this.metricMap.set(counterName, counter);
  }
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.addNewEventMetric = function(eventMetricName) {
  var fields = $jscomp.getRestArguments.apply(1, arguments);
  this.metricMap.has(eventMetricName) || this.metricMap.set(eventMetricName, new module$exports$google3$javascript$frameworks$client$analytics$streamz$event_metric.EventMetric(eventMetricName, fields));
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.getMetric = function(name) {
  return this.disabledMetrics.has(name) ? void 0 : this.metricMap.get(name);
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.incrementCounter = function(counterName) {
  this.incrementCounterBy(counterName, 1, $jscomp.getRestArguments.apply(1, arguments));
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.incrementCounterBy = function(counterName, value) {
  var fieldValues = $jscomp.getRestArguments.apply(2, arguments), counter = this.getMetric(counterName);
  counter && counter instanceof module$exports$google3$javascript$frameworks$client$analytics$streamz$counter.Counter && (counter.incrementCounterBy(value, fieldValues), this.updateInvocationCount());
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.record = function(eventMetricName, value) {
  var fieldValues = $jscomp.getRestArguments.apply(2, arguments), eventMetric = this.getMetric(eventMetricName);
  eventMetric && eventMetric instanceof module$exports$google3$javascript$frameworks$client$analytics$streamz$event_metric.EventMetric && (eventMetric.record(value, fieldValues), this.updateInvocationCount());
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.maybeStartFlushTimer = function() {
  this.flushTimer.enabled || this.flushTimer.start();
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.stopFlushTimer = function() {
  this.flushTimer.enabled && this.flushTimer.stop();
};
module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService.prototype.clearMetrics = function(genericMetrics) {
  for (var i = 0; i < genericMetrics.length; i++) {
    genericMetrics[i].clear();
  }
};
var module$exports$google3$javascript$net$grpc$web$statuscode = {StatusCode:{OK:0, CANCELLED:1, UNKNOWN:2, INVALID_ARGUMENT:3, DEADLINE_EXCEEDED:4, NOT_FOUND:5, ALREADY_EXISTS:6, PERMISSION_DENIED:7, UNAUTHENTICATED:16, RESOURCE_EXHAUSTED:8, FAILED_PRECONDITION:9, ABORTED:10, OUT_OF_RANGE:11, UNIMPLEMENTED:12, INTERNAL:13, UNAVAILABLE:14, DATA_LOSS:15}};
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.OK] = "OK";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.CANCELLED] = "CANCELLED";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNKNOWN] = "UNKNOWN";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.INVALID_ARGUMENT] = "INVALID_ARGUMENT";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.DEADLINE_EXCEEDED] = "DEADLINE_EXCEEDED";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.NOT_FOUND] = "NOT_FOUND";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.ALREADY_EXISTS] = "ALREADY_EXISTS";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.PERMISSION_DENIED] = "PERMISSION_DENIED";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNAUTHENTICATED] = "UNAUTHENTICATED";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.RESOURCE_EXHAUSTED] = "RESOURCE_EXHAUSTED";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.FAILED_PRECONDITION] = "FAILED_PRECONDITION";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.ABORTED] = "ABORTED";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.OUT_OF_RANGE] = "OUT_OF_RANGE";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNIMPLEMENTED] = "UNIMPLEMENTED";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.INTERNAL] = "INTERNAL";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNAVAILABLE] = "UNAVAILABLE";
module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode[module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.DATA_LOSS] = "DATA_LOSS";
function module$contents$google3$javascript$net$grpc$web$statuscode_fromHttpStatus(httpStatus) {
  switch(httpStatus) {
    case 200:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.OK;
    case 400:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.INVALID_ARGUMENT;
    case 401:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNAUTHENTICATED;
    case 403:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.PERMISSION_DENIED;
    case 404:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.NOT_FOUND;
    case 409:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.ABORTED;
    case 412:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.FAILED_PRECONDITION;
    case 429:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.RESOURCE_EXHAUSTED;
    case 499:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.CANCELLED;
    case 500:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNKNOWN;
    case 501:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNIMPLEMENTED;
    case 503:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNAVAILABLE;
    case 504:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.DEADLINE_EXCEEDED;
    default:
      return module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNKNOWN;
  }
}
module$exports$google3$javascript$net$grpc$web$statuscode.fromHttpStatus = module$contents$google3$javascript$net$grpc$web$statuscode_fromHttpStatus;
module$exports$google3$javascript$net$grpc$web$statuscode.getHttpStatus = function(statusCode) {
  switch(statusCode) {
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.OK:
      return 200;
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.INVALID_ARGUMENT:
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.OUT_OF_RANGE:
      return 400;
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNAUTHENTICATED:
      return 401;
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.PERMISSION_DENIED:
      return 403;
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.NOT_FOUND:
      return 404;
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.ALREADY_EXISTS:
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.ABORTED:
      return 409;
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.FAILED_PRECONDITION:
      return 412;
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.RESOURCE_EXHAUSTED:
      return 429;
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.CANCELLED:
      return 499;
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.DATA_LOSS:
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.INTERNAL:
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNKNOWN:
      return 500;
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNIMPLEMENTED:
      return 501;
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNAVAILABLE:
      return 503;
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.DEADLINE_EXCEEDED:
      return 504;
    default:
      return 0;
  }
};
function module$contents$google3$javascript$net$grpc$web$statuscode_statusCodeName(statusCode) {
  switch(statusCode) {
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.OK:
      return "OK";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.CANCELLED:
      return "CANCELLED";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNKNOWN:
      return "UNKNOWN";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.INVALID_ARGUMENT:
      return "INVALID_ARGUMENT";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.DEADLINE_EXCEEDED:
      return "DEADLINE_EXCEEDED";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.NOT_FOUND:
      return "NOT_FOUND";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.ALREADY_EXISTS:
      return "ALREADY_EXISTS";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.PERMISSION_DENIED:
      return "PERMISSION_DENIED";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNAUTHENTICATED:
      return "UNAUTHENTICATED";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.RESOURCE_EXHAUSTED:
      return "RESOURCE_EXHAUSTED";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.FAILED_PRECONDITION:
      return "FAILED_PRECONDITION";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.ABORTED:
      return "ABORTED";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.OUT_OF_RANGE:
      return "OUT_OF_RANGE";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNIMPLEMENTED:
      return "UNIMPLEMENTED";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.INTERNAL:
      return "INTERNAL";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNAVAILABLE:
      return "UNAVAILABLE";
    case module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.DATA_LOSS:
      return "DATA_LOSS";
    default:
      return "";
  }
}
module$exports$google3$javascript$net$grpc$web$statuscode.statusCodeName = module$contents$google3$javascript$net$grpc$web$statuscode_statusCodeName;
var module$exports$google3$javascript$net$grpc$web$rpcerror = {RpcError:function(code, message, metadata) {
  metadata = metadata === void 0 ? {} : metadata;
  var $jscomp$tmp$error$m296156265$1 = Error.call(this, message);
  this.message = $jscomp$tmp$error$m296156265$1.message;
  "stack" in $jscomp$tmp$error$m296156265$1 && (this.stack = $jscomp$tmp$error$m296156265$1.stack);
  this.code = code;
  this.metadata = metadata;
  this.name = "RpcError";
  Object.setPrototypeOf(this, this.constructor.prototype);
}};
$jscomp.inherits(module$exports$google3$javascript$net$grpc$web$rpcerror.RpcError, Error);
module$exports$google3$javascript$net$grpc$web$rpcerror.RpcError.prototype.toString = function() {
  var out = "RpcError(" + (module$contents$google3$javascript$net$grpc$web$statuscode_statusCodeName(this.code) || String(this.code)) + ")";
  this.message && (out += ": " + this.message);
  return out;
};
goog.collections = {};
goog.collections.maps = {};
var module$contents$goog$collections$maps_MapLike = function() {
};
module$contents$goog$collections$maps_MapLike.prototype.set = function() {
};
module$contents$goog$collections$maps_MapLike.prototype.get = function() {
};
module$contents$goog$collections$maps_MapLike.prototype.keys = function() {
};
module$contents$goog$collections$maps_MapLike.prototype.values = function() {
};
module$contents$goog$collections$maps_MapLike.prototype.has = function() {
};
goog.collections.maps.MapLike = module$contents$goog$collections$maps_MapLike;
goog.collections.maps.setAll = function(map, entries) {
  if (entries) {
    for (var $jscomp$iter$99 = (0,$jscomp.makeIterator)(entries), $jscomp$key$1866876209$13$ = $jscomp$iter$99.next(); !$jscomp$key$1866876209$13$.done; $jscomp$key$1866876209$13$ = $jscomp$iter$99.next()) {
      var $jscomp$destructuring$var51 = (0,$jscomp.makeIterator)($jscomp$key$1866876209$13$.value), k = $jscomp$destructuring$var51.next().value, v = $jscomp$destructuring$var51.next().value;
      map.set(k, v);
    }
  }
};
goog.collections.maps.hasValue = function(map, val, valueEqualityFn) {
  valueEqualityFn = valueEqualityFn === void 0 ? module$contents$goog$collections$maps_defaultEqualityFn : valueEqualityFn;
  for (var $jscomp$iter$100 = (0,$jscomp.makeIterator)(map.values()), $jscomp$key$1866876209$14$v = $jscomp$iter$100.next(); !$jscomp$key$1866876209$14$v.done; $jscomp$key$1866876209$14$v = $jscomp$iter$100.next()) {
    if (valueEqualityFn($jscomp$key$1866876209$14$v.value, val)) {
      return !0;
    }
  }
  return !1;
};
var module$contents$goog$collections$maps_defaultEqualityFn = function(a, b) {
  return a === b;
};
goog.collections.maps.equals = function(map, otherMap, valueEqualityFn) {
  valueEqualityFn = valueEqualityFn === void 0 ? module$contents$goog$collections$maps_defaultEqualityFn : valueEqualityFn;
  if (map === otherMap) {
    return !0;
  }
  if (map.size !== otherMap.size) {
    return !1;
  }
  for (var $jscomp$iter$101 = (0,$jscomp.makeIterator)(map.keys()), $jscomp$key$1866876209$15$key = $jscomp$iter$101.next(); !$jscomp$key$1866876209$15$key.done; $jscomp$key$1866876209$15$key = $jscomp$iter$101.next()) {
    var key = $jscomp$key$1866876209$15$key.value;
    if (!otherMap.has(key) || !valueEqualityFn(map.get(key), otherMap.get(key))) {
      return !1;
    }
  }
  return !0;
};
goog.collections.maps.transpose = function(map) {
  for (var transposed = new Map(), $jscomp$iter$102 = (0,$jscomp.makeIterator)(map.keys()), $jscomp$key$1866876209$16$key = $jscomp$iter$102.next(); !$jscomp$key$1866876209$16$key.done; $jscomp$key$1866876209$16$key = $jscomp$iter$102.next()) {
    var key = $jscomp$key$1866876209$16$key.value, val = map.get(key);
    transposed.set(val, key);
  }
  return transposed;
};
goog.collections.maps.toObject = function(map) {
  for (var obj = {}, $jscomp$iter$103 = (0,$jscomp.makeIterator)(map.keys()), $jscomp$key$1866876209$17$key = $jscomp$iter$103.next(); !$jscomp$key$1866876209$17$key.done; $jscomp$key$1866876209$17$key = $jscomp$iter$103.next()) {
    var key = $jscomp$key$1866876209$17$key.value;
    obj[key] = map.get(key);
  }
  return obj;
};
goog.json = {};
goog.json.USE_NATIVE_JSON = !1;
goog.json.isValid = function(s) {
  return /^\s*$/.test(s) ? !1 : /^[\],:{}\s\u2028\u2029]*$/.test(s.replace(/\\["\\\/bfnrtu]/g, "@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g, "]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g, ""));
};
goog.json.errorLogger_ = function() {
};
goog.json.setErrorLogger = function(errorLogger) {
  goog.json.errorLogger_ = errorLogger;
};
goog.json.parse = goog.json.USE_NATIVE_JSON ? goog.global.JSON.parse : function(s) {
  try {
    return goog.global.JSON.parse(s);
  } catch (ex) {
    var error = ex;
  }
  var o = String(s);
  if (goog.json.isValid(o)) {
    try {
      var result = eval("(" + o + ")");
      error && goog.json.errorLogger_("Invalid JSON: " + o, error);
      return result;
    } catch (ex) {
    }
  }
  throw Error("Invalid JSON string: " + o);
};
goog.json.serialize = goog.json.USE_NATIVE_JSON ? goog.global.JSON.stringify : function(object, opt_replacer) {
  return (new goog.json.Serializer(opt_replacer)).serialize(object);
};
goog.json.Serializer = function(opt_replacer) {
  this.replacer_ = opt_replacer;
};
goog.json.Serializer.prototype.serialize = function(object) {
  var sb = [];
  this.serializeInternal(object, sb);
  return sb.join("");
};
goog.json.Serializer.prototype.serializeInternal = function(object, sb) {
  if (object == null) {
    sb.push("null");
  } else {
    if (typeof object == "object") {
      if (Array.isArray(object)) {
        this.serializeArray(object, sb);
        return;
      }
      if (object instanceof String || object instanceof Number || object instanceof Boolean) {
        object = object.valueOf();
      } else {
        this.serializeObject_(object, sb);
        return;
      }
    }
    switch(typeof object) {
      case "string":
        this.serializeString_(object, sb);
        break;
      case "number":
        this.serializeNumber_(object, sb);
        break;
      case "boolean":
        sb.push(String(object));
        break;
      case "function":
        sb.push("null");
        break;
      default:
        throw Error("Unknown type: " + typeof object);
    }
  }
};
goog.json.Serializer.charToJsonCharCache_ = {'"':'\\"', "\\":"\\\\", "/":"\\/", "\b":"\\b", "\f":"\\f", "\n":"\\n", "\r":"\\r", "\t":"\\t", "\v":"\\u000b"};
goog.json.Serializer.charsToReplace_ = /\uffff/.test("\uffff") ? /[\\"\x00-\x1f\x7f-\uffff]/g : /[\\"\x00-\x1f\x7f-\xff]/g;
goog.json.Serializer.prototype.serializeString_ = function(s, sb) {
  sb.push('"', s.replace(goog.json.Serializer.charsToReplace_, function(c) {
    var rv = goog.json.Serializer.charToJsonCharCache_[c];
    rv || (rv = "\\u" + (c.charCodeAt(0) | 65536).toString(16).slice(1), goog.json.Serializer.charToJsonCharCache_[c] = rv);
    return rv;
  }), '"');
};
goog.json.Serializer.prototype.serializeNumber_ = function(n, sb) {
  sb.push(isFinite(n) && !isNaN(n) ? String(n) : "null");
};
goog.json.Serializer.prototype.serializeArray = function(arr, sb) {
  var l = arr.length;
  sb.push("[");
  for (var sep = "", i = 0; i < l; i++) {
    sb.push(sep);
    var value = arr[i];
    this.serializeInternal(this.replacer_ ? this.replacer_.call(arr, String(i), value) : value, sb);
    sep = ",";
  }
  sb.push("]");
};
goog.json.Serializer.prototype.serializeObject_ = function(obj, sb) {
  sb.push("{");
  var sep = "", key;
  for (key in obj) {
    if (Object.prototype.hasOwnProperty.call(obj, key)) {
      var value = obj[key];
      typeof value != "function" && (sb.push(sep), this.serializeString_(key, sb), sb.push(":"), this.serializeInternal(this.replacer_ ? this.replacer_.call(obj, key, value) : value, sb), sep = ",");
    }
  }
  sb.push("}");
};
goog.json.hybrid = {};
goog.json.hybrid.stringify = goog.json.USE_NATIVE_JSON ? goog.global.JSON.stringify : function(obj) {
  if (goog.global.JSON) {
    try {
      return goog.global.JSON.stringify(obj);
    } catch (e) {
    }
  }
  return goog.json.serialize(obj);
};
goog.json.hybrid.parse_ = function(jsonString, fallbackParser) {
  if (goog.global.JSON) {
    try {
      var obj = goog.global.JSON.parse(jsonString);
      goog.asserts.assert(typeof obj == "object");
      return obj;
    } catch (e) {
    }
  }
  return fallbackParser(jsonString);
};
goog.json.hybrid.parse = goog.json.USE_NATIVE_JSON ? goog.global.JSON.parse : function(jsonString) {
  return goog.json.hybrid.parse_(jsonString, goog.json.parse);
};
goog.net.ErrorCode = {NO_ERROR:0, ACCESS_DENIED:1, FILE_NOT_FOUND:2, FF_SILENT_ERROR:3, CUSTOM_ERROR:4, EXCEPTION:5, HTTP_ERROR:6, ABORT:7, TIMEOUT:8, OFFLINE:9};
goog.net.ErrorCode.getDebugMessage = function(errorCode) {
  switch(errorCode) {
    case goog.net.ErrorCode.NO_ERROR:
      return "No Error";
    case goog.net.ErrorCode.ACCESS_DENIED:
      return "Access denied to content document";
    case goog.net.ErrorCode.FILE_NOT_FOUND:
      return "File not found";
    case goog.net.ErrorCode.FF_SILENT_ERROR:
      return "Firefox silently errored";
    case goog.net.ErrorCode.CUSTOM_ERROR:
      return "Application custom error";
    case goog.net.ErrorCode.EXCEPTION:
      return "An exception occurred";
    case goog.net.ErrorCode.HTTP_ERROR:
      return "Http response at 400 or 500 level";
    case goog.net.ErrorCode.ABORT:
      return "Request was aborted";
    case goog.net.ErrorCode.TIMEOUT:
      return "Request timed out";
    case goog.net.ErrorCode.OFFLINE:
      return "The resource is not available offline";
    default:
      return "Unrecognized error code";
  }
};
goog.net.EventType = {COMPLETE:"complete", SUCCESS:"success", ERROR:"error", ABORT:"abort", READY:"ready", READY_STATE_CHANGE:"readystatechange", TIMEOUT:"timeout", INCREMENTAL_DATA:"incrementaldata", PROGRESS:"progress", DOWNLOAD_PROGRESS:"downloadprogress", UPLOAD_PROGRESS:"uploadprogress"};
goog.net.HttpStatus = {CONTINUE:100, SWITCHING_PROTOCOLS:101, OK:200, CREATED:201, ACCEPTED:202, NON_AUTHORITATIVE_INFORMATION:203, NO_CONTENT:204, RESET_CONTENT:205, PARTIAL_CONTENT:206, MULTI_STATUS:207, MULTIPLE_CHOICES:300, MOVED_PERMANENTLY:301, FOUND:302, SEE_OTHER:303, NOT_MODIFIED:304, USE_PROXY:305, TEMPORARY_REDIRECT:307, PERMANENT_REDIRECT:308, BAD_REQUEST:400, UNAUTHORIZED:401, PAYMENT_REQUIRED:402, FORBIDDEN:403, NOT_FOUND:404, METHOD_NOT_ALLOWED:405, NOT_ACCEPTABLE:406, PROXY_AUTHENTICATION_REQUIRED:407, 
REQUEST_TIMEOUT:408, CONFLICT:409, GONE:410, LENGTH_REQUIRED:411, PRECONDITION_FAILED:412, REQUEST_ENTITY_TOO_LARGE:413, REQUEST_URI_TOO_LONG:414, UNSUPPORTED_MEDIA_TYPE:415, REQUEST_RANGE_NOT_SATISFIABLE:416, EXPECTATION_FAILED:417, UNPROCESSABLE_ENTITY:422, LOCKED:423, FAILED_DEPENDENCY:424, PRECONDITION_REQUIRED:428, TOO_MANY_REQUESTS:429, REQUEST_HEADER_FIELDS_TOO_LARGE:431, CLIENT_CLOSED_REQUEST:499, INTERNAL_SERVER_ERROR:500, NOT_IMPLEMENTED:501, BAD_GATEWAY:502, SERVICE_UNAVAILABLE:503, GATEWAY_TIMEOUT:504, 
HTTP_VERSION_NOT_SUPPORTED:505, INSUFFICIENT_STORAGE:507, NETWORK_AUTHENTICATION_REQUIRED:511, QUIRK_IE_NO_CONTENT:1223};
goog.net.HttpStatus.isSuccess = function(status) {
  switch(status) {
    case goog.net.HttpStatus.OK:
    case goog.net.HttpStatus.CREATED:
    case goog.net.HttpStatus.ACCEPTED:
    case goog.net.HttpStatus.NO_CONTENT:
    case goog.net.HttpStatus.PARTIAL_CONTENT:
    case goog.net.HttpStatus.NOT_MODIFIED:
    case goog.net.HttpStatus.QUIRK_IE_NO_CONTENT:
      return !0;
    default:
      return !1;
  }
};
goog.net.XhrLike = function() {
};
goog.net.XhrLike.prototype.open = function() {
};
goog.net.XhrLike.prototype.send = function() {
};
goog.net.XhrLike.prototype.abort = function() {
};
goog.net.XhrLike.prototype.setRequestHeader = function() {
};
goog.net.XhrLike.prototype.getResponseHeader = function() {
};
goog.net.XhrLike.prototype.getAllResponseHeaders = function() {
};
goog.net.XhrLike.prototype.setTrustToken = function() {
};
goog.net.XmlHttpFactory = function() {
};
goog.net.XmlHttp = function() {
  return goog.net.XmlHttp.factory_.createInstance();
};
goog.net.XmlHttp.ReadyState = {UNINITIALIZED:0, LOADING:1, LOADED:2, INTERACTIVE:3, COMPLETE:4};
goog.net.XmlHttp.setGlobalFactory = function(factory) {
  goog.net.XmlHttp.factory_ = factory;
};
goog.net.DefaultXmlHttpFactory = function() {
};
goog.inherits(goog.net.DefaultXmlHttpFactory, goog.net.XmlHttpFactory);
goog.net.DefaultXmlHttpFactory.prototype.createInstance = function() {
  return new XMLHttpRequest();
};
goog.net.XmlHttp.setGlobalFactory(new goog.net.DefaultXmlHttpFactory());
goog.uri = {};
goog.uri.utils = {};
goog.uri.utils.QueryArray = {};
goog.uri.utils.QueryValue = {};
goog.uri.utils.CharCode_ = {AMPERSAND:38, EQUAL:61, HASH:35, QUESTION:63};
goog.uri.utils.buildFromEncodedParts = function(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_queryData, opt_fragment) {
  var out = "";
  opt_scheme && (out += opt_scheme + ":");
  opt_domain && (out += "//", opt_userInfo && (out += opt_userInfo + "@"), out += opt_domain, opt_port && (out += ":" + opt_port));
  opt_path && (out += opt_path);
  opt_queryData && (out += "?" + opt_queryData);
  opt_fragment && (out += "#" + opt_fragment);
  return out;
};
goog.uri.utils.splitRe_ = RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");
goog.uri.utils.ComponentIndex = {SCHEME:1, USER_INFO:2, DOMAIN:3, PORT:4, PATH:5, QUERY_DATA:6, FRAGMENT:7};
goog.uri.utils.urlPackageSupportLoggingHandler_ = null;
goog.uri.utils.setUrlPackageSupportLoggingHandler = function(handler) {
  goog.uri.utils.urlPackageSupportLoggingHandler_ = handler;
};
goog.uri.utils.split = function(uri) {
  var result = uri.match(goog.uri.utils.splitRe_);
  goog.uri.utils.urlPackageSupportLoggingHandler_ && ["http", "https", "ws", "wss", "ftp"].indexOf(result[goog.uri.utils.ComponentIndex.SCHEME]) >= 0 && goog.uri.utils.urlPackageSupportLoggingHandler_(uri);
  return result;
};
goog.uri.utils.decodeIfPossible_ = function(uri, opt_preserveReserved) {
  return uri ? opt_preserveReserved ? decodeURI(uri) : decodeURIComponent(uri) : uri;
};
goog.uri.utils.getComponentByIndex_ = function(componentIndex, uri) {
  return goog.uri.utils.split(uri)[componentIndex] || null;
};
goog.uri.utils.getScheme = function(uri) {
  return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME, uri);
};
goog.uri.utils.getEffectiveScheme = function(uri) {
  var scheme = goog.uri.utils.getScheme(uri);
  !scheme && goog.global.self && goog.global.self.location && (scheme = goog.global.self.location.protocol.slice(0, -1));
  return scheme ? scheme.toLowerCase() : "";
};
goog.uri.utils.getUserInfoEncoded = function(uri) {
  return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO, uri);
};
goog.uri.utils.getUserInfo = function(uri) {
  return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(uri));
};
goog.uri.utils.getDomainEncoded = function(uri) {
  return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN, uri);
};
goog.uri.utils.getDomain = function(uri) {
  return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(uri), !0);
};
goog.uri.utils.getPort = function(uri) {
  return Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT, uri)) || null;
};
goog.uri.utils.getPathEncoded = function(uri) {
  return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH, uri);
};
goog.uri.utils.getPath = function(uri) {
  return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(uri), !0);
};
goog.uri.utils.getQueryData = function(uri) {
  return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA, uri);
};
goog.uri.utils.getFragmentEncoded = function(uri) {
  var hashIndex = uri.indexOf("#");
  return hashIndex < 0 ? null : uri.slice(hashIndex + 1);
};
goog.uri.utils.setFragmentEncoded = function(uri, fragment) {
  return goog.uri.utils.removeFragment(uri) + (fragment ? "#" + fragment : "");
};
goog.uri.utils.getFragment = function(uri) {
  return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(uri));
};
goog.uri.utils.getHost = function(uri) {
  var pieces = goog.uri.utils.split(uri);
  return goog.uri.utils.buildFromEncodedParts(pieces[goog.uri.utils.ComponentIndex.SCHEME], pieces[goog.uri.utils.ComponentIndex.USER_INFO], pieces[goog.uri.utils.ComponentIndex.DOMAIN], pieces[goog.uri.utils.ComponentIndex.PORT]);
};
goog.uri.utils.getOrigin = function(uri) {
  var pieces = goog.uri.utils.split(uri);
  return goog.uri.utils.buildFromEncodedParts(pieces[goog.uri.utils.ComponentIndex.SCHEME], null, pieces[goog.uri.utils.ComponentIndex.DOMAIN], pieces[goog.uri.utils.ComponentIndex.PORT]);
};
goog.uri.utils.getPathAndAfter = function(uri) {
  var pieces = goog.uri.utils.split(uri);
  return goog.uri.utils.buildFromEncodedParts(null, null, null, null, pieces[goog.uri.utils.ComponentIndex.PATH], pieces[goog.uri.utils.ComponentIndex.QUERY_DATA], pieces[goog.uri.utils.ComponentIndex.FRAGMENT]);
};
goog.uri.utils.removeFragment = function(uri) {
  var hashIndex = uri.indexOf("#");
  return hashIndex < 0 ? uri : uri.slice(0, hashIndex);
};
goog.uri.utils.haveSameDomain = function(uri1, uri2) {
  var pieces1 = goog.uri.utils.split(uri1), pieces2 = goog.uri.utils.split(uri2);
  return pieces1[goog.uri.utils.ComponentIndex.DOMAIN] == pieces2[goog.uri.utils.ComponentIndex.DOMAIN] && pieces1[goog.uri.utils.ComponentIndex.SCHEME] == pieces2[goog.uri.utils.ComponentIndex.SCHEME] && pieces1[goog.uri.utils.ComponentIndex.PORT] == pieces2[goog.uri.utils.ComponentIndex.PORT];
};
goog.uri.utils.assertNoFragmentsOrQueries_ = function(uri) {
  goog.asserts.assert(uri.indexOf("#") < 0 && uri.indexOf("?") < 0, "goog.uri.utils: Fragment or query identifiers are not supported: [%s]", uri);
};
goog.uri.utils.parseQueryData = function(encodedQuery, callback) {
  if (encodedQuery) {
    for (var pairs = encodedQuery.split("&"), i = 0; i < pairs.length; i++) {
      var indexOfEquals = pairs[i].indexOf("="), value = null;
      if (indexOfEquals >= 0) {
        var name = pairs[i].substring(0, indexOfEquals);
        value = pairs[i].substring(indexOfEquals + 1);
      } else {
        name = pairs[i];
      }
      callback(name, value ? goog.string.urlDecode(value) : "");
    }
  }
};
goog.uri.utils.splitQueryData_ = function(uri) {
  var hashIndex = uri.indexOf("#");
  hashIndex < 0 && (hashIndex = uri.length);
  var questionIndex = uri.indexOf("?");
  if (questionIndex < 0 || questionIndex > hashIndex) {
    questionIndex = hashIndex;
    var queryData = "";
  } else {
    queryData = uri.substring(questionIndex + 1, hashIndex);
  }
  return [uri.slice(0, questionIndex), queryData, uri.slice(hashIndex)];
};
goog.uri.utils.joinQueryData_ = function(parts) {
  return parts[0] + (parts[1] ? "?" + parts[1] : "") + parts[2];
};
goog.uri.utils.appendQueryData_ = function(queryData, newData) {
  return newData ? queryData ? queryData + "&" + newData : newData : queryData;
};
goog.uri.utils.appendQueryDataToUri_ = function(uri, queryData) {
  if (!queryData) {
    return uri;
  }
  var parts = goog.uri.utils.splitQueryData_(uri);
  parts[1] = goog.uri.utils.appendQueryData_(parts[1], queryData);
  return goog.uri.utils.joinQueryData_(parts);
};
goog.uri.utils.appendKeyValuePairs_ = function(key, value, pairs) {
  goog.asserts.assertString(key);
  if (Array.isArray(value)) {
    goog.asserts.assertArray(value);
    for (var j = 0; j < value.length; j++) {
      goog.uri.utils.appendKeyValuePairs_(key, String(value[j]), pairs);
    }
  } else {
    value != null && pairs.push(key + (value === "" ? "" : "=" + goog.string.urlEncode(value)));
  }
};
goog.uri.utils.buildQueryData = function(keysAndValues, opt_startIndex) {
  goog.asserts.assert(Math.max(keysAndValues.length - (opt_startIndex || 0), 0) % 2 == 0, "goog.uri.utils: Key/value lists must be even in length.");
  for (var params = [], i = opt_startIndex || 0; i < keysAndValues.length; i += 2) {
    goog.uri.utils.appendKeyValuePairs_(keysAndValues[i], keysAndValues[i + 1], params);
  }
  return params.join("&");
};
goog.uri.utils.buildQueryDataFromMap = function(map) {
  var params = [], key;
  for (key in map) {
    goog.uri.utils.appendKeyValuePairs_(key, map[key], params);
  }
  return params.join("&");
};
goog.uri.utils.appendParams = function(uri, var_args) {
  var queryData = arguments.length == 2 ? goog.uri.utils.buildQueryData(arguments[1], 0) : goog.uri.utils.buildQueryData(arguments, 1);
  return goog.uri.utils.appendQueryDataToUri_(uri, queryData);
};
goog.uri.utils.appendParamsFromMap = function(uri, map) {
  var queryData = goog.uri.utils.buildQueryDataFromMap(map);
  return goog.uri.utils.appendQueryDataToUri_(uri, queryData);
};
goog.uri.utils.appendParam = function(uri, key, opt_value) {
  var value = opt_value != null ? "=" + goog.string.urlEncode(opt_value) : "";
  return goog.uri.utils.appendQueryDataToUri_(uri, key + value);
};
goog.uri.utils.findParam_ = function(uri, startIndex, keyEncoded, hashOrEndIndex) {
  for (var index = startIndex, keyLength = keyEncoded.length; (index = uri.indexOf(keyEncoded, index)) >= 0 && index < hashOrEndIndex;) {
    var precedingChar = uri.charCodeAt(index - 1);
    if (precedingChar == goog.uri.utils.CharCode_.AMPERSAND || precedingChar == goog.uri.utils.CharCode_.QUESTION) {
      var followingChar = uri.charCodeAt(index + keyLength);
      if (!followingChar || followingChar == goog.uri.utils.CharCode_.EQUAL || followingChar == goog.uri.utils.CharCode_.AMPERSAND || followingChar == goog.uri.utils.CharCode_.HASH) {
        return index;
      }
    }
    index += keyLength + 1;
  }
  return -1;
};
goog.uri.utils.hashOrEndRe_ = /#|$/;
goog.uri.utils.hasParam = function(uri, keyEncoded) {
  return goog.uri.utils.findParam_(uri, 0, keyEncoded, uri.search(goog.uri.utils.hashOrEndRe_)) >= 0;
};
goog.uri.utils.getParamValue = function(uri, keyEncoded) {
  var hashOrEndIndex = uri.search(goog.uri.utils.hashOrEndRe_), foundIndex = goog.uri.utils.findParam_(uri, 0, keyEncoded, hashOrEndIndex);
  if (foundIndex < 0) {
    return null;
  }
  var endPosition = uri.indexOf("&", foundIndex);
  if (endPosition < 0 || endPosition > hashOrEndIndex) {
    endPosition = hashOrEndIndex;
  }
  foundIndex += keyEncoded.length + 1;
  return goog.string.urlDecode(uri.slice(foundIndex, endPosition !== -1 ? endPosition : 0));
};
goog.uri.utils.getParamValues = function(uri, keyEncoded) {
  for (var hashOrEndIndex = uri.search(goog.uri.utils.hashOrEndRe_), position = 0, foundIndex, result = []; (foundIndex = goog.uri.utils.findParam_(uri, position, keyEncoded, hashOrEndIndex)) >= 0;) {
    position = uri.indexOf("&", foundIndex);
    if (position < 0 || position > hashOrEndIndex) {
      position = hashOrEndIndex;
    }
    foundIndex += keyEncoded.length + 1;
    result.push(goog.string.urlDecode(uri.slice(foundIndex, Math.max(position, 0))));
  }
  return result;
};
goog.uri.utils.trailingQueryPunctuationRe_ = /[?&]($|#)/;
goog.uri.utils.removeParam = function(uri, keyEncoded) {
  for (var hashOrEndIndex = uri.search(goog.uri.utils.hashOrEndRe_), position = 0, foundIndex, buffer = []; (foundIndex = goog.uri.utils.findParam_(uri, position, keyEncoded, hashOrEndIndex)) >= 0;) {
    buffer.push(uri.substring(position, foundIndex)), position = Math.min(uri.indexOf("&", foundIndex) + 1 || hashOrEndIndex, hashOrEndIndex);
  }
  buffer.push(uri.slice(position));
  return buffer.join("").replace(goog.uri.utils.trailingQueryPunctuationRe_, "$1");
};
goog.uri.utils.setParam = function(uri, keyEncoded, value) {
  return goog.uri.utils.appendParam(goog.uri.utils.removeParam(uri, keyEncoded), keyEncoded, value);
};
goog.uri.utils.setParamsFromMap = function(uri, params) {
  var parts = goog.uri.utils.splitQueryData_(uri), queryData = parts[1], buffer = [];
  queryData && queryData.split("&").forEach(function(pair) {
    var indexOfEquals = pair.indexOf("="), name = indexOfEquals >= 0 ? pair.slice(0, indexOfEquals) : pair;
    params.hasOwnProperty(name) || buffer.push(pair);
  });
  parts[1] = goog.uri.utils.appendQueryData_(buffer.join("&"), goog.uri.utils.buildQueryDataFromMap(params));
  return goog.uri.utils.joinQueryData_(parts);
};
goog.uri.utils.appendPath = function(baseUri, path) {
  goog.uri.utils.assertNoFragmentsOrQueries_(baseUri);
  goog.string.endsWith(baseUri, "/") && (baseUri = baseUri.slice(0, -1));
  goog.string.startsWith(path, "/") && (path = path.slice(1));
  return "" + baseUri + "/" + path;
};
goog.uri.utils.setPath = function(uri, path) {
  goog.string.startsWith(path, "/") || (path = "/" + path);
  var parts = goog.uri.utils.split(uri);
  return goog.uri.utils.buildFromEncodedParts(parts[goog.uri.utils.ComponentIndex.SCHEME], parts[goog.uri.utils.ComponentIndex.USER_INFO], parts[goog.uri.utils.ComponentIndex.DOMAIN], parts[goog.uri.utils.ComponentIndex.PORT], path, parts[goog.uri.utils.ComponentIndex.QUERY_DATA], parts[goog.uri.utils.ComponentIndex.FRAGMENT]);
};
goog.uri.utils.StandardQueryParam = {RANDOM:"zx"};
goog.uri.utils.makeUnique = function(uri) {
  return goog.uri.utils.setParam(uri, goog.uri.utils.StandardQueryParam.RANDOM, goog.string.getRandomString());
};
goog.net.XhrIo = function(opt_xmlHttpFactory) {
  goog.events.EventTarget.call(this);
  this.headers = new Map();
  this.xmlHttpFactory_ = opt_xmlHttpFactory || null;
  this.active_ = !1;
  this.xhr_ = null;
  this.lastMethod_ = this.lastUri_ = "";
  this.lastErrorCode_ = goog.net.ErrorCode.NO_ERROR;
  this.lastError_ = "";
  this.inAbort_ = this.inOpen_ = this.inSend_ = this.errorDispatched_ = !1;
  this.timeoutInterval_ = 0;
  this.timeoutId_ = null;
  this.responseType_ = goog.net.XhrIo.ResponseType.DEFAULT;
  this.progressEventsEnabled_ = this.withCredentials_ = !1;
  this.attributionReportingOptions_ = this.trustToken_ = null;
};
goog.inherits(goog.net.XhrIo, goog.events.EventTarget);
goog.net.XhrIo.ResponseType = {DEFAULT:"", TEXT:"text", DOCUMENT:"document", BLOB:"blob", ARRAY_BUFFER:"arraybuffer"};
goog.net.XhrIo.prototype.logger_ = goog.log.getLogger("goog.net.XhrIo");
goog.net.XhrIo.CONTENT_TYPE_HEADER = "Content-Type";
goog.net.XhrIo.CONTENT_TRANSFER_ENCODING = "Content-Transfer-Encoding";
goog.net.XhrIo.HTTP_SCHEME_PATTERN = /^https?$/i;
goog.net.XhrIo.METHODS_WITH_FORM_DATA = ["POST", "PUT"];
goog.net.XhrIo.FORM_CONTENT_TYPE = "application/x-www-form-urlencoded;charset=utf-8";
goog.net.XhrIo.sendInstances_ = [];
goog.net.XhrIo.send = function(url, opt_callback, opt_method, opt_content, opt_headers, opt_timeoutInterval, opt_withCredentials) {
  var x = new goog.net.XhrIo();
  goog.net.XhrIo.sendInstances_.push(x);
  opt_callback && x.listen(goog.net.EventType.COMPLETE, opt_callback);
  x.listenOnce(goog.net.EventType.READY, x.cleanupSend_);
  opt_timeoutInterval && x.setTimeoutInterval(opt_timeoutInterval);
  opt_withCredentials && x.setWithCredentials(opt_withCredentials);
  x.send(url, opt_method, opt_content, opt_headers);
  return x;
};
goog.net.XhrIo.cleanup = function() {
  for (var instances = goog.net.XhrIo.sendInstances_; instances.length;) {
    instances.pop().dispose();
  }
};
goog.net.XhrIo.protectEntryPoints = function(errorHandler) {
  goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_ = errorHandler.protectEntryPoint(goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_);
};
goog.net.XhrIo.prototype.cleanupSend_ = function() {
  this.dispose();
  module$contents$goog$array_remove(goog.net.XhrIo.sendInstances_, this);
};
goog.net.XhrIo.prototype.setTimeoutInterval = function(ms) {
  this.timeoutInterval_ = Math.max(0, ms);
};
goog.net.XhrIo.prototype.setResponseType = function(type) {
  this.responseType_ = type;
};
goog.net.XhrIo.prototype.setWithCredentials = function(withCredentials) {
  this.withCredentials_ = withCredentials;
};
goog.net.XhrIo.prototype.setTrustToken = function(trustToken) {
  this.trustToken_ = trustToken;
};
goog.net.XhrIo.prototype.setAttributionReporting = function(attributionReportingOptions) {
  this.attributionReportingOptions_ = attributionReportingOptions;
};
goog.net.XhrIo.prototype.send = function(url, opt_method, opt_content, opt_headers) {
  if (this.xhr_) {
    throw Error("[goog.net.XhrIo] Object is active with another request=" + this.lastUri_ + "; newUri=" + url);
  }
  var method = opt_method ? opt_method.toUpperCase() : "GET";
  this.lastUri_ = url;
  this.lastError_ = "";
  this.lastErrorCode_ = goog.net.ErrorCode.NO_ERROR;
  this.lastMethod_ = method;
  this.errorDispatched_ = !1;
  this.active_ = !0;
  this.xhr_ = this.createXhr();
  this.xhr_.onreadystatechange = (0,module$exports$google3$javascript$common$async$context$propagate.propagateAsyncContext)(goog.bind(this.onReadyStateChange_, this));
  this.progressEventsEnabled_ && "onprogress" in this.xhr_ && (this.xhr_.onprogress = (0,module$exports$google3$javascript$common$async$context$propagate.propagateAsyncContext)(goog.bind(function(e) {
    this.onProgressHandler_(e, !0);
  }, this)), this.xhr_.upload && (this.xhr_.upload.onprogress = (0,module$exports$google3$javascript$common$async$context$propagate.propagateAsyncContext)(goog.bind(this.onProgressHandler_, this))));
  try {
    goog.log.fine(this.logger_, this.formatMsg_("Opening Xhr")), this.inOpen_ = !0, this.xhr_.open(method, String(url), !0), this.inOpen_ = !1;
  } catch (err) {
    goog.log.fine(this.logger_, this.formatMsg_("Error opening Xhr: " + err.message));
    this.error_(goog.net.ErrorCode.EXCEPTION, err);
    return;
  }
  var content = opt_content || "", headers = new Map(this.headers);
  if (opt_headers) {
    if (Object.getPrototypeOf(opt_headers) === Object.prototype) {
      for (var key in opt_headers) {
        headers.set(key, opt_headers[key]);
      }
    } else if (typeof opt_headers.keys === "function" && typeof opt_headers.get === "function") {
      for (var $jscomp$iter$104 = (0,$jscomp.makeIterator)(opt_headers.keys()), $jscomp$key$m71669834$54$key = $jscomp$iter$104.next(); !$jscomp$key$m71669834$54$key.done; $jscomp$key$m71669834$54$key = $jscomp$iter$104.next()) {
        var key$jscomp$0 = $jscomp$key$m71669834$54$key.value;
        headers.set(key$jscomp$0, opt_headers.get(key$jscomp$0));
      }
    } else {
      throw Error("Unknown input type for opt_headers: " + String(opt_headers));
    }
  }
  var contentTypeKey = Array.from(headers.keys()).find(function(header) {
    return goog.string.caseInsensitiveEquals(goog.net.XhrIo.CONTENT_TYPE_HEADER, header);
  }), contentIsFormData = goog.global.FormData && content instanceof goog.global.FormData;
  !module$contents$goog$array_contains(goog.net.XhrIo.METHODS_WITH_FORM_DATA, method) || contentTypeKey || contentIsFormData || headers.set(goog.net.XhrIo.CONTENT_TYPE_HEADER, goog.net.XhrIo.FORM_CONTENT_TYPE);
  for (var $jscomp$iter$105 = (0,$jscomp.makeIterator)(headers), $jscomp$key$m71669834$55$ = $jscomp$iter$105.next(); !$jscomp$key$m71669834$55$.done; $jscomp$key$m71669834$55$ = $jscomp$iter$105.next()) {
    var $jscomp$destructuring$var53 = (0,$jscomp.makeIterator)($jscomp$key$m71669834$55$.value), key$jscomp$1 = $jscomp$destructuring$var53.next().value, value = $jscomp$destructuring$var53.next().value;
    this.xhr_.setRequestHeader(key$jscomp$1, value);
  }
  this.responseType_ && (this.xhr_.responseType = this.responseType_);
  "withCredentials" in this.xhr_ && this.xhr_.withCredentials !== this.withCredentials_ && (this.xhr_.withCredentials = this.withCredentials_);
  if ("setTrustToken" in this.xhr_ && this.trustToken_) {
    try {
      this.xhr_.setTrustToken(this.trustToken_);
    } catch (err) {
      goog.log.fine(this.logger_, this.formatMsg_("Error SetTrustToken: " + err.message));
    }
  }
  if ("setAttributionReporting" in this.xhr_ && this.attributionReportingOptions_) {
    try {
      this.xhr_.setAttributionReporting(this.attributionReportingOptions_);
    } catch (err) {
      goog.log.fine(this.logger_, this.formatMsg_("Error SetAttributionReporting: " + err.message));
    }
  }
  try {
    this.cleanUpTimeoutTimer_(), this.timeoutInterval_ > 0 && (goog.log.fine(this.logger_, this.formatMsg_("Will abort after " + this.timeoutInterval_ + "ms if incomplete")), this.timeoutId_ = setTimeout(this.timeout_.bind(this), this.timeoutInterval_)), goog.log.fine(this.logger_, this.formatMsg_("Sending request")), this.inSend_ = !0, this.xhr_.send(content), this.inSend_ = !1;
  } catch (err) {
    goog.log.fine(this.logger_, this.formatMsg_("Send error: " + err.message)), this.error_(goog.net.ErrorCode.EXCEPTION, err);
  }
};
goog.net.XhrIo.prototype.createXhr = function() {
  return this.xmlHttpFactory_ ? this.xmlHttpFactory_.createInstance() : goog.net.XmlHttp();
};
goog.net.XhrIo.prototype.timeout_ = function() {
  typeof goog != "undefined" && this.xhr_ && (this.lastError_ = "Timed out after " + this.timeoutInterval_ + "ms, aborting", this.lastErrorCode_ = goog.net.ErrorCode.TIMEOUT, goog.log.fine(this.logger_, this.formatMsg_(this.lastError_)), this.dispatchEvent(goog.net.EventType.TIMEOUT), this.abort(goog.net.ErrorCode.TIMEOUT));
};
goog.net.XhrIo.prototype.error_ = function(errorCode, err) {
  this.active_ = !1;
  this.xhr_ && (this.inAbort_ = !0, this.xhr_.abort(), this.inAbort_ = !1);
  this.lastError_ = err;
  this.lastErrorCode_ = errorCode;
  this.dispatchErrors_();
  this.cleanUpXhr_();
};
goog.net.XhrIo.prototype.dispatchErrors_ = function() {
  this.errorDispatched_ || (this.errorDispatched_ = !0, this.dispatchEvent(goog.net.EventType.COMPLETE), this.dispatchEvent(goog.net.EventType.ERROR));
};
goog.net.XhrIo.prototype.abort = function(opt_failureCode) {
  this.xhr_ && this.active_ && (goog.log.fine(this.logger_, this.formatMsg_("Aborting")), this.active_ = !1, this.inAbort_ = !0, this.xhr_.abort(), this.inAbort_ = !1, this.lastErrorCode_ = opt_failureCode || goog.net.ErrorCode.ABORT, this.dispatchEvent(goog.net.EventType.COMPLETE), this.dispatchEvent(goog.net.EventType.ABORT), this.cleanUpXhr_());
};
goog.net.XhrIo.prototype.disposeInternal = function() {
  this.xhr_ && (this.active_ && (this.active_ = !1, this.inAbort_ = !0, this.xhr_.abort(), this.inAbort_ = !1), this.cleanUpXhr_(!0));
  goog.net.XhrIo.superClass_.disposeInternal.call(this);
};
goog.net.XhrIo.prototype.onReadyStateChange_ = function() {
  if (!this.isDisposed()) {
    if (this.inOpen_ || this.inSend_ || this.inAbort_) {
      this.onReadyStateChangeHelper_();
    } else {
      this.onReadyStateChangeEntryPoint_();
    }
  }
};
goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_ = function() {
  this.onReadyStateChangeHelper_();
};
goog.net.XhrIo.prototype.onReadyStateChangeHelper_ = function() {
  if (this.active_ && typeof goog != "undefined") {
    if (this.inSend_ && this.getReadyState() == goog.net.XmlHttp.ReadyState.COMPLETE) {
      setTimeout(this.onReadyStateChange_.bind(this), 0);
    } else {
      if (this.dispatchEvent(goog.net.EventType.READY_STATE_CHANGE), this.isComplete()) {
        goog.log.fine(this.logger_, this.formatMsg_("Request complete"));
        this.active_ = !1;
        try {
          this.isSuccess() ? (this.dispatchEvent(goog.net.EventType.COMPLETE), this.dispatchEvent(goog.net.EventType.SUCCESS)) : (this.lastErrorCode_ = goog.net.ErrorCode.HTTP_ERROR, this.lastError_ = this.getStatusText() + " [" + this.getStatus() + "]", this.dispatchErrors_());
        } finally {
          this.cleanUpXhr_();
        }
      }
    }
  }
};
goog.net.XhrIo.prototype.onProgressHandler_ = function(e, opt_isDownload) {
  goog.asserts.assert(e.type === goog.net.EventType.PROGRESS, "goog.net.EventType.PROGRESS is of the same type as raw XHR progress.");
  this.dispatchEvent(goog.net.XhrIo.buildProgressEvent_(e, goog.net.EventType.PROGRESS));
  this.dispatchEvent(goog.net.XhrIo.buildProgressEvent_(e, opt_isDownload ? goog.net.EventType.DOWNLOAD_PROGRESS : goog.net.EventType.UPLOAD_PROGRESS));
};
goog.net.XhrIo.buildProgressEvent_ = function(e, eventType) {
  return {type:eventType, lengthComputable:e.lengthComputable, loaded:e.loaded, total:e.total};
};
goog.net.XhrIo.prototype.cleanUpXhr_ = function(opt_fromDispose) {
  if (this.xhr_) {
    this.cleanUpTimeoutTimer_();
    var xhr = this.xhr_;
    this.xhr_ = null;
    opt_fromDispose || this.dispatchEvent(goog.net.EventType.READY);
    try {
      xhr.onreadystatechange = null;
    } catch (e) {
      goog.log.error(this.logger_, "Problem encountered resetting onreadystatechange: " + e.message);
    }
  }
};
goog.net.XhrIo.prototype.cleanUpTimeoutTimer_ = function() {
  this.timeoutId_ && (clearTimeout(this.timeoutId_), this.timeoutId_ = null);
};
goog.net.XhrIo.prototype.isActive = function() {
  return !!this.xhr_;
};
goog.net.XhrIo.prototype.isComplete = function() {
  return this.getReadyState() == goog.net.XmlHttp.ReadyState.COMPLETE;
};
goog.net.XhrIo.prototype.isSuccess = function() {
  var status = this.getStatus();
  return goog.net.HttpStatus.isSuccess(status) || status === 0 && !this.isLastUriEffectiveSchemeHttp_();
};
goog.net.XhrIo.prototype.isLastUriEffectiveSchemeHttp_ = function() {
  var scheme = goog.uri.utils.getEffectiveScheme(String(this.lastUri_));
  return goog.net.XhrIo.HTTP_SCHEME_PATTERN.test(scheme);
};
goog.net.XhrIo.prototype.getReadyState = function() {
  return this.xhr_ ? this.xhr_.readyState : goog.net.XmlHttp.ReadyState.UNINITIALIZED;
};
goog.net.XhrIo.prototype.getStatus = function() {
  try {
    return this.getReadyState() > goog.net.XmlHttp.ReadyState.LOADED ? this.xhr_.status : -1;
  } catch (e) {
    return -1;
  }
};
goog.net.XhrIo.prototype.getStatusText = function() {
  try {
    return this.getReadyState() > goog.net.XmlHttp.ReadyState.LOADED ? this.xhr_.statusText : "";
  } catch (e) {
    return goog.log.fine(this.logger_, "Can not get status: " + e.message), "";
  }
};
goog.net.XhrIo.prototype.getLastUri = function() {
  return String(this.lastUri_);
};
goog.net.XhrIo.prototype.getResponseText = function() {
  try {
    return this.xhr_ ? this.xhr_.responseText : "";
  } catch (e) {
    return goog.log.fine(this.logger_, "Can not get responseText: " + e.message), "";
  }
};
goog.net.XhrIo.prototype.getResponseJson = function(opt_xssiPrefix) {
  if (this.xhr_) {
    var responseText = this.xhr_.responseText;
    opt_xssiPrefix && responseText.indexOf(opt_xssiPrefix) == 0 && (responseText = responseText.substring(opt_xssiPrefix.length));
    return goog.json.hybrid.parse(responseText);
  }
};
goog.net.XhrIo.prototype.getResponse = function() {
  try {
    if (!this.xhr_) {
      return null;
    }
    if ("response" in this.xhr_) {
      return this.xhr_.response;
    }
    switch(this.responseType_) {
      case goog.net.XhrIo.ResponseType.DEFAULT:
      case goog.net.XhrIo.ResponseType.TEXT:
        return this.xhr_.responseText;
      case goog.net.XhrIo.ResponseType.ARRAY_BUFFER:
        if ("mozResponseArrayBuffer" in this.xhr_) {
          return this.xhr_.mozResponseArrayBuffer;
        }
    }
    goog.log.error(this.logger_, "Response type " + this.responseType_ + " is not supported on this browser");
    return null;
  } catch (e) {
    return goog.log.fine(this.logger_, "Can not get response: " + e.message), null;
  }
};
goog.net.XhrIo.prototype.getResponseHeader = function(key) {
  if (this.xhr_ && this.isComplete()) {
    var value = this.xhr_.getResponseHeader(key);
    return value === null ? void 0 : value;
  }
};
goog.net.XhrIo.prototype.getAllResponseHeaders = function() {
  return this.xhr_ && this.getReadyState() >= goog.net.XmlHttp.ReadyState.LOADED ? this.xhr_.getAllResponseHeaders() || "" : "";
};
goog.net.XhrIo.prototype.getResponseHeaders = function() {
  for (var headersObject = {}, headersArray = this.getAllResponseHeaders().split("\r\n"), i = 0; i < headersArray.length; i++) {
    if (!goog.string.isEmptyOrWhitespace(headersArray[i])) {
      var keyValue = goog.string.splitLimit(headersArray[i], ":", 1), key = keyValue[0], value = keyValue[1];
      if (typeof value === "string") {
        value = value.trim();
        var values = headersObject[key] || [];
        headersObject[key] = values;
        values.push(value);
      }
    }
  }
  return module$contents$goog$object_map(headersObject, function(values) {
    return values.join(", ");
  });
};
goog.net.XhrIo.prototype.getStreamingResponseHeader = function(key) {
  return this.xhr_ ? this.xhr_.getResponseHeader(key) : null;
};
goog.net.XhrIo.prototype.getLastError = function() {
  return typeof this.lastError_ === "string" ? this.lastError_ : String(this.lastError_);
};
goog.net.XhrIo.prototype.formatMsg_ = function(msg) {
  return msg + " [" + this.lastMethod_ + " " + this.lastUri_ + " " + this.getStatus() + "]";
};
goog.debug.entryPointRegistry.register(function(transformer) {
  goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_ = transformer(goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_);
});
var module$exports$google3$wireless$android$play$playlog$js$clearcut_network = {Network:function() {
}};
module$exports$google3$wireless$android$play$playlog$js$clearcut_network.Network.prototype.send = function(params, successCallback, failureCallback) {
  successCallback = successCallback === void 0 ? function() {
  } : successCallback;
  failureCallback = failureCallback === void 0 ? function() {
  } : failureCallback;
  goog.net.XhrIo.send(params.url, function(e) {
    var xhr = e.target;
    xhr.isSuccess() ? successCallback(xhr.getResponseText()) : failureCallback(xhr.getStatus());
  }, params.requestType, params.body, params.requestHeaders, params.timeoutMillis, params.withCredentials);
};
module$exports$google3$wireless$android$play$playlog$js$clearcut_network.Network.prototype.getTransmissionType = function() {
  return jspb$e.wireless_android_play_playlog$JsClientInfo$FlushInfo$TransmissionType.XHR_POST;
};
var module$exports$google3$ccc$abuse$botguard$client$javascript$streamz = {}, module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode = {GLOBAL_OBJECT_UNDEFINED:1, LIBRARY_INITIALIZER_UNDEFINED:2, NO_ERROR:3, INITIALIZATION_FAILED:4};
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode[module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode.GLOBAL_OBJECT_UNDEFINED] = "GLOBAL_OBJECT_UNDEFINED";
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode[module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode.LIBRARY_INITIALIZER_UNDEFINED] = "LIBRARY_INITIALIZER_UNDEFINED";
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode[module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode.NO_ERROR] = "NO_ERROR";
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode[module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode.INITIALIZATION_FAILED] = "INITIALIZATION_FAILED";
var module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage = {UNKNOWN:0, SETUP:1, SNAPSHOT:2, EVENT_HANDLER:3};
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage[module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage.UNKNOWN] = "UNKNOWN";
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage[module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage.SETUP] = "SETUP";
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage[module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage.SNAPSHOT] = "SNAPSHOT";
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage[module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage.EVENT_HANDLER] = "EVENT_HANDLER";
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent = {SETUP:"t", SNAPSHOT:"n", SETUP_CHUNK:"h", SNAPSHOT_CHUNK:"u", EVENT_HANDLER_CHUNK:"k", WEB_PO_BOTGUARD:"b", WEB_PO_GET_MINTER:"i", WEB_PO_READY:"r", WEB_PO_CALLBACK:"C", WEB_PO_MINT_REGULAR:"m", WEB_PO_MINT_ERROR:"e", WEB_PO_MINT_FALLBACK:"f", WEB_PO_MINT_FALLBACK_WEBSAFE:"w", WEB_PO_MINT_COLD_START:"S", WEB_PO_ENCODE_REGULAR:"x", WEB_PO_ENCODE_ERROR:"y", WEB_PO_ENCODE_FALLBACK:"z", WEB_PO_ENCODE_COLD_START:"q", 
WEB_PO_ENCODE_CONTENT_BINDING:"c", WEB_PO_ENCODE_CACHED:"a", WEB_PO_CACHE_WRITE:"W", WEB_PO_CACHE_READ:"R", WEB_PO_DECODE_FALLBACK:"d"};
function module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_isChunkEvent(event) {
  return event === module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SETUP_CHUNK || event === module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SNAPSHOT_CHUNK || event === module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.EVENT_HANDLER_CHUNK;
}
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.WaaRpcMethodName = {CREATE:"c", GENERATE:"g"};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.CachedPoTokenAvailabilityType = {AVAILABLE:"a", NOT_AVAILABLE_CACHE_MISS:"m", NOT_AVAILABLE_DECRYPTION_FAILURE:"d", NOT_AVAILABLE_CORRUPTED:"c", NOT_AVAILABLE_EXPIRED:"e", NOT_AVAILABLE_SESSIONSTORAGE_UNAVAILABLE:"u"};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.WebPoCacheWriteResult = {SUCCESS:"s", INDEX_WRITE_NOT_SUCCESSFUL:"i", TOKEN_WRITE_NOT_SUCCESSFUL:"t", WRITE_FAILED_SESSIONSTORAGE_UNAVAILABLE:"u"};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.EventLatencyLogger = function(logger, event) {
  this.logger = logger;
  this.event = event;
  this.startTime = module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_getTime();
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.EventLatencyLogger.prototype.done = function() {
  this.logger.logRawEventLatency(this.event, module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_getTime() - this.startTime);
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.Logger = function() {
  module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers.SharedDisposable.apply(this, arguments);
  this.TEST_ONLY = {getExperimentIds:function() {
    return [];
  }};
};
$jscomp.inherits(module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.Logger, module$exports$google3$ccc$abuse$botguard$client$javascript$internal_helpers.SharedDisposable);
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.NoopLogger = function() {
  module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.Logger.apply(this, arguments);
};
$jscomp.inherits(module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.NoopLogger, module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.Logger);
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.NoopLogger.prototype.logSnapshotResponseSize = function() {
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.NoopLogger.prototype.logEventStart = function() {
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.NoopLogger.prototype.logRawEventLatency = function() {
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.NoopLogger.prototype.logError = function() {
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.NoopLogger.prototype.requestFlush = function() {
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.NoopLogger.prototype.updateInternalClearExperimentIds = function() {
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.ProxyLogger = function(logger) {
  module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.Logger.call(this);
  var $jscomp$this$m229405102$30 = this;
  this.logger = logger;
  this.TEST_ONLY = {getCurrentLogger:function() {
    return $jscomp$this$m229405102$30.logger;
  }, getExperimentIds:function() {
    return $jscomp$this$m229405102$30.logger.TEST_ONLY.getExperimentIds();
  }};
  this.addOnDisposeCallback(function() {
    return void $jscomp$this$m229405102$30.logger.dispose();
  });
};
$jscomp.inherits(module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.ProxyLogger, module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.Logger);
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.ProxyLogger.prototype.update = function(logger) {
  this.logger.dispose();
  this.logger = logger;
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.ProxyLogger.prototype.logEventStart = function(event) {
  this.logger.logEventStart(event);
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.ProxyLogger.prototype.logRawEventLatency = function(event, latency) {
  this.logger.logRawEventLatency(event, latency);
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.ProxyLogger.prototype.logError = function(errorCode) {
  this.logger.logError(errorCode);
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.ProxyLogger.prototype.requestFlush = function() {
  this.logger.requestFlush();
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.ProxyLogger.prototype.updateInternalClearExperimentIds = function(internalClearExperimentIds) {
  this.logger.updateInternalClearExperimentIds(internalClearExperimentIds);
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.ProxyLogger.prototype.logSnapshotResponseSize = function(responseSize) {
  this.logger.logSnapshotResponseSize(responseSize);
};
function module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_createBgMetrics(service) {
  return {legacyInitializationCount:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeInitializationCount(service), legacyInitializationLatency:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeInitializationLatency(service), legacyInitializationErrorCount:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeInitializationErrorCount(service), 
  legacySnapshotCount:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeSnapshotCount(service), legacySnapshotLatency:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeSnapshotLatency(service), legacyChunkCountStreamz:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeChunkCount(service), 
  legacyChunkDurationStreamz:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeChunkDuration(service), snapshotResponseSize:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.FacadeResponseSize(service), errorCount:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.ErrorCount(service), 
  eventCount:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.EventCount(service), eventLatency:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.EventLatency(service), waaRpcLatency:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.WaaRpcLatency(service), webPoColdStart:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.WebPoColdStartCount(service), 
  cachedPoTokenAvailability:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.CachedPoTokenAvailability(service), webPoCacheWriteSuccess:new module$exports$google3$configs$frameworks$logging$clearcut$clients$botguard$client_streamz_specs$client_side_metrics_gen.WebPoCacheWriteSuccessCount(service)};
}
function module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_createBgStreamzService(buildLabel, experimentIds, onFlushError, destinationUrl) {
  var logSource = module$exports$google3$ccc$abuse$botguard$client$javascript$constants.CLEARCUT_LOG_SOURCE, transportBuilder = (new module$exports$google3$javascript$frameworks$client$analytics$transport$clearcut_builder.ClearcutBuilder(logSource, "0")).setBuildLabel(buildLabel).setNetworkImpl(new module$exports$google3$wireless$android$play$playlog$js$clearcut_network.Network());
  experimentIds.length && transportBuilder.setClearExperimentIds((new jspb$experiments$heterodyne$MutableDeviceExperimentIds()).setAlwaysList(experimentIds));
  destinationUrl !== void 0 && transportBuilder.setDestinationUrl(destinationUrl);
  var clearcutLogger = new module$exports$google3$javascript$frameworks$client$analytics$streamz$clearcut_streamz_logger.ClearcutStreamzLogger(logSource, "", "", !1, "", transportBuilder.build());
  clearcutLogger.registerDisposable(transportBuilder);
  var service = new module$exports$google3$javascript$frameworks$client$analytics$streamz$streamz_service.StreamzService({flush:function(metrics) {
    try {
      clearcutLogger.flush(metrics);
    } catch (error) {
      onFlushError(error);
    }
  }});
  service.addOnDisposeCallback(function() {
    setTimeout(function() {
      try {
        service.snapshotAndFlush();
      } finally {
        clearcutLogger.dispose();
      }
    });
  });
  service.setFlushCount(1E5);
  service.setFlushInterval(3E4);
  return service;
}
var module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_Debouncer = function(callback, minimumIntervalMs) {
  goog.Disposable.call(this);
  var $jscomp$this$m229405102$47 = this;
  this.callback = callback;
  this.minimumIntervalMs = minimumIntervalMs;
  this.lastInvocationTime = -minimumIntervalMs;
  this.addOnDisposeCallback(function() {
    return void clearTimeout($jscomp$this$m229405102$47.timer);
  });
};
$jscomp.inherits(module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_Debouncer, goog.Disposable);
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_Debouncer.prototype.requestInvocation = function() {
  var $jscomp$this$m229405102$48 = this;
  if (this.timer === void 0) {
    var delay = Math.max(0, this.lastInvocationTime + this.minimumIntervalMs - module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_getTime());
    this.timer = setTimeout(function() {
      try {
        $jscomp$this$m229405102$48.callback();
      } finally {
        $jscomp$this$m229405102$48.lastInvocationTime = module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_getTime(), $jscomp$this$m229405102$48.timer = void 0;
      }
    }, delay);
  }
};
var module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BgClearcutLogger = function(metrics, metricsKey, waaRequestKey, enableMetricsMigration) {
  module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.Logger.call(this);
  this.metrics = metrics;
  this.metricsKey = metricsKey;
  this.waaRequestKey = waaRequestKey;
  this.enableMetricsMigration = enableMetricsMigration;
  this.chunkEventToStage = new Map();
  this.legacyBgErrorCodeMap = new Map();
  this.logToMergedEventMetrics = enableMetricsMigration && this.decideWhetherToLogToMergedEventMetrics();
  this.chunkEventToStage.set(module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SETUP_CHUNK, module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage.SETUP);
  this.chunkEventToStage.set(module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SNAPSHOT_CHUNK, module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage.SNAPSHOT);
  this.chunkEventToStage.set(module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.EVENT_HANDLER_CHUNK, module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage.EVENT_HANDLER);
  this.legacyBgErrorCodeMap.set(jspb$e.botguard$client_side$BgErrorCode.BG_GLOBAL_OBJECT_UNDEFINED, module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode.GLOBAL_OBJECT_UNDEFINED);
  this.legacyBgErrorCodeMap.set(jspb$e.botguard$client_side$BgErrorCode.BG_LIBRARY_INITIALIZER_UNDEFINED, module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode.LIBRARY_INITIALIZER_UNDEFINED);
  this.legacyBgErrorCodeMap.set(jspb$e.botguard$client_side$BgErrorCode.BG_NO_ERROR, module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode.NO_ERROR);
  this.legacyBgErrorCodeMap.set(jspb$e.botguard$client_side$BgErrorCode.BG_FACADE_INITIALIZATION_FAILED, module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode.INITIALIZATION_FAILED);
};
$jscomp.inherits(module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BgClearcutLogger, module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.Logger);
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BgClearcutLogger.prototype.decideWhetherToLogToMergedEventMetrics = function() {
  return Math.random() < .5;
};
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BgClearcutLogger.prototype.logSnapshotResponseSize = function(size) {
  this.metrics.snapshotResponseSize.record(size, this.metricsKey);
};
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BgClearcutLogger.prototype.logEventStart = function(event) {
  if (this.logToMergedEventMetrics) {
    this.metrics.eventCount.increment(event, this.metricsKey);
  } else if (event === module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SETUP) {
    this.metrics.legacyInitializationCount.increment(this.metricsKey);
  } else if (event === module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SNAPSHOT) {
    this.metrics.legacySnapshotCount.increment(this.metricsKey);
  } else if (module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_isChunkEvent(event)) {
    var stage = this.chunkEventToStage.get(event);
    stage && this.metrics.legacyChunkCountStreamz.increment(stage, this.metricsKey);
  }
};
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BgClearcutLogger.prototype.logRawEventLatency = function(event, latency) {
  if (this.logToMergedEventMetrics) {
    this.metrics.eventLatency.record(latency, event, this.waaRequestKey, this.metricsKey);
  } else if (event === module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SETUP) {
    this.metrics.legacyInitializationLatency.record(latency, this.metricsKey);
  } else if (event === module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SNAPSHOT) {
    this.metrics.legacySnapshotLatency.record(latency, this.metricsKey);
  } else if (module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_isChunkEvent(event)) {
    var stage = this.chunkEventToStage.get(event);
    stage && this.metrics.legacyChunkDurationStreamz.record(latency, stage, this.metricsKey);
  } else {
    this.metrics.eventLatency.record(latency, event, this.waaRequestKey, this.metricsKey);
  }
};
module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BgClearcutLogger.prototype.logError = function(errorCode) {
  var legacyErrorCode = this.legacyBgErrorCodeMap.get(errorCode);
  legacyErrorCode ? (this.metrics.legacyInitializationErrorCount.increment(this.metricsKey, legacyErrorCode), this.enableMetricsMigration && this.metrics.errorCount.increment(errorCode, this.waaRequestKey, this.metricsKey)) : this.metrics.errorCount.increment(errorCode, this.waaRequestKey, this.metricsKey);
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.StreamzLogger = function(optionOverrides, internalClearExperimentIds) {
  internalClearExperimentIds = internalClearExperimentIds === void 0 ? [] : internalClearExperimentIds;
  var options = {metricsKey:optionOverrides.metricsKey || module$exports$google3$ccc$abuse$botguard$client$javascript$constants.DEFAULT_METRICS_KEY, waaRequestKey:optionOverrides.waaRequestKey || "", externalClearExperimentIds:optionOverrides.externalClearExperimentIds || [], logFlushDebounceMs:optionOverrides.logFlushDebounceMs | 0, destinationUrl:optionOverrides.destinationUrl, onFlushError:optionOverrides.onFlushError || function() {
  }, streamzServiceProvider:optionOverrides.streamzServiceProvider || function(buildLabel, experimentIds) {
    return module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_createBgStreamzService(buildLabel, experimentIds, options.onFlushError, options.destinationUrl);
  }, enableMetricsMigration:!!optionOverrides.enableMetricsMigration}, service = options.streamzServiceProvider(String(module$exports$google3$ccc$abuse$botguard$client$javascript$constants.VERSION), options.externalClearExperimentIds.concat(internalClearExperimentIds));
  module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BgClearcutLogger.call(this, module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_createBgMetrics(service), options.metricsKey, options.waaRequestKey, options.enableMetricsMigration);
  var $jscomp$this$m229405102$61 = this;
  this.internalClearExperimentIds = internalClearExperimentIds;
  this.TEST_ONLY = {getExperimentIds:function() {
    return $jscomp$this$m229405102$61.options.externalClearExperimentIds.concat($jscomp$this$m229405102$61.internalClearExperimentIds).sort(function(a, b) {
      return a - b;
    });
  }};
  this.options = options;
  this.service = service;
  this.disposeService = !optionOverrides.streamzServiceProvider;
  this.flushDebouncer = new module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_Debouncer(function() {
    return void $jscomp$this$m229405102$61.service.snapshotAndFlush();
  }, options.logFlushDebounceMs);
  this.addOnDisposeCallback(function() {
    $jscomp$this$m229405102$61.flushDebouncer.dispose();
    $jscomp$this$m229405102$61.disposeService && $jscomp$this$m229405102$61.service.dispose();
  });
};
$jscomp.inherits(module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.StreamzLogger, module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BgClearcutLogger);
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.StreamzLogger.prototype.updateInternalClearExperimentIds = function(internalClearExperimentIds) {
  var $jscomp$this$m229405102$62 = this;
  this.flushDebouncer.dispose();
  this.disposeService && this.service.dispose();
  this.service = this.options.streamzServiceProvider(String(module$exports$google3$ccc$abuse$botguard$client$javascript$constants.VERSION), this.options.externalClearExperimentIds.concat(internalClearExperimentIds));
  this.flushDebouncer = new module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_Debouncer(function() {
    return void $jscomp$this$m229405102$62.service.snapshotAndFlush();
  }, this.options.logFlushDebounceMs);
  this.metrics = module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_createBgMetrics(this.service);
  this.internalClearExperimentIds = internalClearExperimentIds;
};
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.StreamzLogger.prototype.requestFlush = function() {
  this.flushDebouncer.requestInvocation();
};
function module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_getTime() {
  var $jscomp$optchain$tmpm229405102$0, $jscomp$optchain$tmpm229405102$2, $jscomp$nullish$tmp47;
  return ($jscomp$nullish$tmp47 = ($jscomp$optchain$tmpm229405102$0 = globalThis.performance) == null ? void 0 : ($jscomp$optchain$tmpm229405102$2 = $jscomp$optchain$tmpm229405102$0.now) == null ? void 0 : $jscomp$optchain$tmpm229405102$2.call($jscomp$optchain$tmpm229405102$0)) != null ? $jscomp$nullish$tmp47 : Date.now();
}
module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.TEST_ONLY = {BotGuardChunkingStage:module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_BotGuardChunkingStage, LegacyBgErrorCode:module$contents$google3$ccc$abuse$botguard$client$javascript$streamz_LegacyBgErrorCode};
var jspb$webutil$html$types$MutableSafeScriptProto = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$webutil$html$types$MutableSafeScriptProto, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$webutil$html$types$MutableSafeScriptProto.prototype.getPrivateDoNotAccessOrElseSafeScriptWrappedValue_legacyNullable = function() {
  return jspb_internal_adapters.getStringFieldNullable(this, 6);
};
jspb$webutil$html$types$MutableSafeScriptProto.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$webutil$html$types$MutableSafeScriptProto);
jspb$webutil$html$types$MutableSafeScriptProto.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$webutil$html$types$MutableSafeScriptProto);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$webutil$html$types$MutableSafeScriptProto.internalDoNotUse_debugOnlyProtoTypeName = "webutil.html.types.SafeScriptProto");
var jspb$webutil$html$types$MutableTrustedResourceUrlProto = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$webutil$html$types$MutableTrustedResourceUrlProto, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$webutil$html$types$MutableTrustedResourceUrlProto.prototype.getPrivateDoNotAccessOrElseTrustedResourceUrlWrappedValue_legacyNullable = function() {
  return jspb_internal_adapters.getStringFieldNullable(this, 4);
};
jspb$webutil$html$types$MutableTrustedResourceUrlProto.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$webutil$html$types$MutableTrustedResourceUrlProto);
jspb$webutil$html$types$MutableTrustedResourceUrlProto.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$webutil$html$types$MutableTrustedResourceUrlProto);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$webutil$html$types$MutableTrustedResourceUrlProto.internalDoNotUse_debugOnlyProtoTypeName = "webutil.html.types.TrustedResourceUrlProto");
var jspb$botguard$client_side$MutableBgChallenge = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data, 0, jspb$botguard$client_side$MutableBgChallenge.messageId);
};
$jscomp.inherits(jspb$botguard$client_side$MutableBgChallenge, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$botguard$client_side$MutableBgChallenge.prototype.getInterpreterJavascript = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$webutil$html$types$MutableSafeScriptProto, 1);
};
jspb$botguard$client_side$MutableBgChallenge.prototype.getInterpreterUrl = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$webutil$html$types$MutableTrustedResourceUrlProto, 2);
};
jspb$botguard$client_side$MutableBgChallenge.prototype.getInterpreterHash = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 3);
};
jspb$botguard$client_side$MutableBgChallenge.prototype.setInterpreterHash = function(value) {
  return jspb_internal_adapters.setProto3StringField(this, 3, value);
};
jspb$botguard$client_side$MutableBgChallenge.prototype.getProgram = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 4);
};
jspb$botguard$client_side$MutableBgChallenge.prototype.getGlobalName = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 5);
};
jspb$botguard$client_side$MutableBgChallenge.prototype.getClientExperimentsStateBlob = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 7);
};
jspb$botguard$client_side$MutableBgChallenge.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$botguard$client_side$MutableBgChallenge);
jspb$botguard$client_side$MutableBgChallenge.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$botguard$client_side$MutableBgChallenge);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$botguard$client_side$MutableBgChallenge.internalDoNotUse_debugOnlyProtoTypeName = "botguard.client_side.BgChallenge");
jspb$botguard$client_side$MutableBgChallenge.messageId = "bfkj";
var jspb$b$webutil$html$types$SafeScriptProto = {};
jspb$b$webutil$html$types$SafeScriptProto.fields = [0, 5, jspb_internal_binary.RWString];
jspb$webutil$html$types$MutableSafeScriptProto.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$webutil$html$types$SafeScriptProto.fields);
var jspb$b$webutil$html$types$TrustedResourceUrlProto = {};
jspb$b$webutil$html$types$TrustedResourceUrlProto.fields = [0, 3, jspb_internal_binary.RWString];
jspb$webutil$html$types$MutableTrustedResourceUrlProto.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$webutil$html$types$TrustedResourceUrlProto.fields);
var jspb$b$botguard$client_side$BgChallenge = {};
jspb$b$botguard$client_side$BgChallenge.fields = ["bfkj", jspb$b$webutil$html$types$SafeScriptProto.fields, jspb$b$webutil$html$types$TrustedResourceUrlProto.fields, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString, -2, 1, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString];
jspb$botguard$client_side$MutableBgChallenge.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$botguard$client_side$BgChallenge.fields);
var jspb$botguard$client_side$ImmutableBgChallenge = function() {
};
jspb$botguard$client_side$ImmutableBgChallenge.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$botguard$client_side$MutableBgChallenge);
jspb$botguard$client_side$ImmutableBgChallenge.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$botguard$client_side$MutableBgChallenge);
jspb$botguard$client_side$ImmutableBgChallenge.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$botguard$client_side$MutableBgChallenge);
var jspb$o$webutil$html$types$SafeScriptProto = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {privateDoNotAccessOrElseSafeScriptWrappedValue:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 6))};
  }
}};
jspb$webutil$html$types$MutableSafeScriptProto.prototype.toObject = function() {
  return jspb$o$webutil$html$types$SafeScriptProto.internal_toObject(this);
};
jspb$o$webutil$html$types$SafeScriptProto.fromObject = function(obj) {
  var msg = new jspb$webutil$html$types$MutableSafeScriptProto();
  jspb_internal_adapters.setStringField(msg, 6, obj.privateDoNotAccessOrElseSafeScriptWrappedValue);
  return msg;
};
var jspb$o$webutil$html$types$TrustedResourceUrlProto = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {privateDoNotAccessOrElseTrustedResourceUrlWrappedValue:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 4))};
  }
}};
jspb$webutil$html$types$MutableTrustedResourceUrlProto.prototype.toObject = function() {
  return jspb$o$webutil$html$types$TrustedResourceUrlProto.internal_toObject(this);
};
jspb$o$webutil$html$types$TrustedResourceUrlProto.fromObject = function(obj) {
  var msg = new jspb$webutil$html$types$MutableTrustedResourceUrlProto();
  jspb_internal_adapters.setStringField(msg, 4, obj.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue);
  return msg;
};
var jspb$o$botguard$client_side$BgChallenge = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {interpreterJavascript:jspb$o$webutil$html$types$SafeScriptProto.internal_toObject(msg.getInterpreterJavascript()), interpreterUrl:jspb$o$webutil$html$types$TrustedResourceUrlProto.internal_toObject(msg.getInterpreterUrl()), interpreterHash:jspb_internal_adapters.getStringFieldWithDefault(msg, 3), program:jspb_internal_adapters.getStringFieldWithDefault(msg, 4), globalName:jspb_internal_adapters.getStringFieldWithDefault(msg, 
    5), clientExperimentsStateBlob:jspb_internal_adapters.getStringFieldWithDefault(msg, 7)};
  }
}};
jspb$botguard$client_side$MutableBgChallenge.prototype.toObject = function() {
  return jspb$o$botguard$client_side$BgChallenge.internal_toObject(this);
};
jspb$o$botguard$client_side$BgChallenge.fromObject = function(obj) {
  var msg = new jspb$botguard$client_side$MutableBgChallenge();
  jspb_internal_adapters.setWrapperField(msg, jspb$webutil$html$types$MutableSafeScriptProto, 1, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.interpreterJavascript, jspb$o$webutil$html$types$SafeScriptProto.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$webutil$html$types$MutableTrustedResourceUrlProto, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.interpreterUrl, jspb$o$webutil$html$types$TrustedResourceUrlProto.fromObject));
  jspb_internal_adapters.setProto3StringField(msg, 3, obj.interpreterHash);
  jspb_internal_adapters.setProto3StringField(msg, 4, obj.program);
  jspb_internal_adapters.setProto3StringField(msg, 5, obj.globalName);
  jspb_internal_adapters.setProto3StringField(msg, 7, obj.clientExperimentsStateBlob);
  return msg;
};
proto.botguard.client_side.ReadonlyBgChallenge = {};
proto.botguard.client_side.BgChallenge = jspb$botguard$client_side$MutableBgChallenge;
jspb$botguard$client_side$MutableBgChallenge.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$botguard$client_side$MutableBgChallenge, jspb$b$botguard$client_side$BgChallenge.fields);
jspb$botguard$client_side$MutableBgChallenge.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$botguard$client_side$BgChallenge.fields);
jspb$botguard$client_side$MutableBgChallenge.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$botguard$client_side$BgChallenge.fields);
jspb$botguard$client_side$MutableBgChallenge.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$botguard$client_side$MutableBgChallenge, jspb$b$botguard$client_side$BgChallenge.fields);
jspb$botguard$client_side$MutableBgChallenge.fromObject = jspb$o$botguard$client_side$BgChallenge.fromObject;
proto.botguard.client_side.MutableBgChallenge = jspb$botguard$client_side$MutableBgChallenge;
jspb$botguard$client_side$ImmutableBgChallenge.serializeBinary = jspb$botguard$client_side$MutableBgChallenge.serializeBinary;
jspb$botguard$client_side$ImmutableBgChallenge.serializeBinaryToByteString = jspb$botguard$client_side$MutableBgChallenge.serializeBinaryToByteString;
jspb$botguard$client_side$ImmutableBgChallenge.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$botguard$client_side$MutableBgChallenge.deserializeBinary);
jspb$botguard$client_side$ImmutableBgChallenge.makeCrossSerializerComparisonsCompatible = jspb$botguard$client_side$MutableBgChallenge.makeCrossSerializerComparisonsCompatible;
proto.botguard.client_side.ImmutableBgChallenge = jspb$botguard$client_side$ImmutableBgChallenge;
var jspb$botguard$client_side$MutableClientExperimentInfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$botguard$client_side$MutableClientExperimentInfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$botguard$client_side$MutableClientExperimentInfo.prototype.getExperimentId = function() {
  return jspb_internal_adapters.getInt32FieldWithDefault(this, 1);
};
jspb$botguard$client_side$MutableClientExperimentInfo.prototype.getSdkVersion = function() {
  return jspb_internal_adapters.getInt32FieldWithDefault(this, 2);
};
jspb$botguard$client_side$MutableClientExperimentInfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$botguard$client_side$MutableClientExperimentInfo);
jspb$botguard$client_side$MutableClientExperimentInfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$botguard$client_side$MutableClientExperimentInfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$botguard$client_side$MutableClientExperimentInfo.internalDoNotUse_debugOnlyProtoTypeName = "botguard.client_side.ClientExperimentInfo");
var jspb$b$botguard$client_side$ClientExperimentInfo = {};
jspb$b$botguard$client_side$ClientExperimentInfo.fields = [0, jspb_internal_binary.RWInt32, -1];
jspb$botguard$client_side$MutableClientExperimentInfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$botguard$client_side$ClientExperimentInfo.fields);
var jspb$botguard$client_side$MutableClientExperimentsState = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$botguard$client_side$MutableClientExperimentsState, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$botguard$client_side$MutableClientExperimentsState.prototype.getExperimentsList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$botguard$client_side$MutableClientExperimentInfo, 1, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$botguard$client_side$MutableClientExperimentsState.prototype.getEnableExperimentsWithSdkVersion = function() {
  return jspb_internal_adapters.getBooleanFieldWithDefault(this, 4);
};
jspb$botguard$client_side$MutableClientExperimentsState.prototype.getVmFlagsJsonDump = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 5);
};
jspb$botguard$client_side$MutableClientExperimentsState.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$botguard$client_side$MutableClientExperimentsState);
jspb$botguard$client_side$MutableClientExperimentsState.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$botguard$client_side$MutableClientExperimentsState);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$botguard$client_side$MutableClientExperimentsState.internalDoNotUse_debugOnlyProtoTypeName = "botguard.client_side.ClientExperimentsState");
var jspb$b$botguard$client_side$ClientExperimentsState = {};
jspb$b$botguard$client_side$ClientExperimentsState.fields = [0, jspb_internal_binary.RWRepeatedMessage, jspb$b$botguard$client_side$ClientExperimentInfo.fields, jspb_internal_binary.RWBool, -2, jspb_internal_binary.RStringRequireUtf8WString];
jspb$botguard$client_side$MutableClientExperimentsState.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$botguard$client_side$ClientExperimentsState.fields);
var jspb$botguard$client_side$ImmutableClientExperimentsState = function() {
};
jspb$botguard$client_side$ImmutableClientExperimentsState.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$botguard$client_side$MutableClientExperimentsState);
jspb$botguard$client_side$ImmutableClientExperimentsState.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$botguard$client_side$MutableClientExperimentsState);
jspb$botguard$client_side$ImmutableClientExperimentsState.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$botguard$client_side$MutableClientExperimentsState);
var jspb$o$botguard$client_side$ClientExperimentInfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {experimentId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 1)), sdkVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 2))};
  }
}};
jspb$botguard$client_side$MutableClientExperimentInfo.prototype.toObject = function() {
  return jspb$o$botguard$client_side$ClientExperimentInfo.internal_toObject(this);
};
jspb$o$botguard$client_side$ClientExperimentInfo.fromObject = function(obj) {
  var msg = new jspb$botguard$client_side$MutableClientExperimentInfo();
  jspb_internal_adapters.setInt32Field(msg, 1, obj.experimentId);
  jspb_internal_adapters.setInt32Field(msg, 2, obj.sdkVersion);
  return msg;
};
var jspb$o$botguard$client_side$ClientExperimentsState = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {experimentsList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getExperimentsList(), jspb$o$botguard$client_side$ClientExperimentInfo.internal_toObject), enableTestFlagA:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 2)), enableTestFlagB:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 
    3)), enableExperimentsWithSdkVersion:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getBooleanFieldNullable(msg, 4)), vmFlagsJsonDump:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5))};
  }
}};
jspb$botguard$client_side$MutableClientExperimentsState.prototype.toObject = function() {
  return jspb$o$botguard$client_side$ClientExperimentsState.internal_toObject(this);
};
jspb$o$botguard$client_side$ClientExperimentsState.fromObject = function(obj) {
  var msg = new jspb$botguard$client_side$MutableClientExperimentsState();
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$botguard$client_side$MutableClientExperimentInfo, 1, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.experimentsList, jspb$o$botguard$client_side$ClientExperimentInfo.fromObject));
  jspb_internal_adapters.setBooleanField(msg, 2, obj.enableTestFlagA);
  jspb_internal_adapters.setBooleanField(msg, 3, obj.enableTestFlagB);
  jspb_internal_adapters.setBooleanField(msg, 4, obj.enableExperimentsWithSdkVersion);
  jspb_internal_adapters.setStringField(msg, 5, obj.vmFlagsJsonDump);
  return msg;
};
proto.botguard.client_side.ReadonlyClientExperimentsState = {};
proto.botguard.client_side.ClientExperimentsState = jspb$botguard$client_side$MutableClientExperimentsState;
jspb$botguard$client_side$MutableClientExperimentsState.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$botguard$client_side$MutableClientExperimentsState, jspb$b$botguard$client_side$ClientExperimentsState.fields);
jspb$botguard$client_side$MutableClientExperimentsState.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$botguard$client_side$ClientExperimentsState.fields);
jspb$botguard$client_side$MutableClientExperimentsState.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$botguard$client_side$ClientExperimentsState.fields);
jspb$botguard$client_side$MutableClientExperimentsState.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$botguard$client_side$MutableClientExperimentsState, jspb$b$botguard$client_side$ClientExperimentsState.fields);
jspb$botguard$client_side$MutableClientExperimentsState.fromObject = jspb$o$botguard$client_side$ClientExperimentsState.fromObject;
proto.botguard.client_side.MutableClientExperimentsState = jspb$botguard$client_side$MutableClientExperimentsState;
jspb$botguard$client_side$ImmutableClientExperimentsState.serializeBinary = jspb$botguard$client_side$MutableClientExperimentsState.serializeBinary;
jspb$botguard$client_side$ImmutableClientExperimentsState.serializeBinaryToByteString = jspb$botguard$client_side$MutableClientExperimentsState.serializeBinaryToByteString;
jspb$botguard$client_side$ImmutableClientExperimentsState.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$botguard$client_side$MutableClientExperimentsState.deserializeBinary);
jspb$botguard$client_side$ImmutableClientExperimentsState.makeCrossSerializerComparisonsCompatible = jspb$botguard$client_side$MutableClientExperimentsState.makeCrossSerializerComparisonsCompatible;
proto.botguard.client_side.ImmutableClientExperimentsState = jspb$botguard$client_side$ImmutableClientExperimentsState;
var module$exports$goog$promise$NativeResolver = function() {
  var $jscomp$this$565646129$2 = this;
  this.promise = new Promise(function(resolve, reject) {
    $jscomp$this$565646129$2.resolve = resolve;
    $jscomp$this$565646129$2.reject = reject;
  });
};
var module$exports$google3$ccc$abuse$botguard$client$javascript$facade = {GlobalName:{STANDARD:"botguard", LITE:"thintinel", STEALTHY:"mauvestrom", STANDARD_GROUP_A:"pagetribe", STANDARD_GROUP_B:"trayride", STANDARD_GROUP_C:"watchbell", STANDARD_GROUP_D:"ridgeslice", STANDARD_GROUP_E:"stafflace", STANDARD_ADSPAM:"botguard", SEARCHGUARD:"knitsail"}, BotGuardVm:function() {
}, BotGuardVmSynchronous:function() {
}, MetricsOptions:function() {
}, SnapshotOptions:function() {
}};
function module$contents$google3$ccc$abuse$botguard$client$javascript$facade_startBotGuardVm(setupOptions) {
  return new module$contents$google3$ccc$abuse$botguard$client$javascript$facade_BotGuardVmImpl(setupOptions);
}
module$exports$google3$ccc$abuse$botguard$client$javascript$facade.startBotGuardVm = module$contents$google3$ccc$abuse$botguard$client$javascript$facade_startBotGuardVm;
function module$contents$google3$ccc$abuse$botguard$client$javascript$facade_createLogger(metricsOptions, experimentsState, customLogger) {
  if (metricsOptions.disable) {
    return new module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.NoopLogger();
  }
  var internalClearExperimentIds = (experimentsState == null ? 0 : experimentsState.getEnableExperimentsWithSdkVersion()) ? module$contents$google3$ccc$abuse$botguard$client$javascript$experiments_getIdsOfCompatibleExperiments(experimentsState) : [];
  return customLogger ? (customLogger.updateInternalClearExperimentIds(internalClearExperimentIds), customLogger.share()) : new module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.StreamzLogger({metricsKey:metricsOptions.metricsKey, waaRequestKey:metricsOptions.waaRequestKey, externalClearExperimentIds:metricsOptions.externalExperimentIds, logFlushDebounceMs:metricsOptions.minimumFlushIntervalMs, destinationUrl:metricsOptions.destinationUrl, onFlushError:metricsOptions.onFlushError, 
  streamzServiceProvider:metricsOptions.streamzServiceProvider, enableMetricsMigration:!0}, internalClearExperimentIds);
}
module$exports$google3$ccc$abuse$botguard$client$javascript$facade.createLogger = module$contents$google3$ccc$abuse$botguard$client$javascript$facade_createLogger;
var module$contents$google3$ccc$abuse$botguard$client$javascript$facade_BotGuardVmImpl = function(setupOptions) {
  goog.Disposable.call(this);
  var $jscomp$this$m494537618$80 = this;
  this.eventHandlerChunkToIgnoreUnifMaxValue = 200;
  this.eventHandlerChunksToIgnoreBeforeNextRecord = Math.floor(Math.random() * this.eventHandlerChunkToIgnoreUnifMaxValue);
  this.experimentsState = new jspb$botguard$client_side$MutableClientExperimentsState();
  if ("challenge" in setupOptions && jspb$botguard$client_side$MutableBgChallenge.hasInstance(setupOptions.challenge)) {
    var program = setupOptions.challenge.getProgram();
    var globalName = setupOptions.challenge.getGlobalName();
    setupOptions.challenge.getClientExperimentsStateBlob() && (this.experimentsState = jspb$botguard$client_side$MutableClientExperimentsState.deserialize(setupOptions.challenge.getClientExperimentsStateBlob()));
  } else {
    program = setupOptions.program, globalName = setupOptions.globalName;
  }
  this.addOnDisposeCallback(function() {
    var $jscomp$destructuring$var55, shutdownFunction, $jscomp$optchain$tmpm494537618$1;
    return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m494537618$92) {
      if ($jscomp$generator$context$m494537618$92.nextAddress == 1) {
        return $jscomp$generator$context$m494537618$92.yield($jscomp$this$m494537618$80.vmFunctionsPromise, 2);
      }
      $jscomp$destructuring$var55 = $jscomp$generator$context$m494537618$92.yieldResult;
      shutdownFunction = $jscomp$destructuring$var55.shutdownFunction;
      ($jscomp$optchain$tmpm494537618$1 = shutdownFunction) == null || $jscomp$optchain$tmpm494537618$1();
      $jscomp$generator$context$m494537618$92.jumpToEnd();
    });
  });
  this.logger = module$contents$google3$ccc$abuse$botguard$client$javascript$facade_createLogger(setupOptions.metricsOptions || {}, this.experimentsState, setupOptions.clientSideMetrics);
  this.registerDisposable(this.logger);
  var vmFunctionsResolver = new module$exports$goog$promise$NativeResolver();
  this.vmFunctionsPromise = vmFunctionsResolver.promise;
  this.logger.logEventStart(module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SETUP);
  var setupLogger = this.logger.share(), setupEvent = new module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.EventLatencyLogger(setupLogger, module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SETUP), chunkEndCallback = function(chunkLengthMs, chunkHasSetupTask, chunkHasSnapshotTask, maxChunkDurationMs) {
    if (!$jscomp$this$m494537618$80.logger.isDisposed()) {
      var event = module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.EVENT_HANDLER_CHUNK;
      chunkHasSetupTask ? event = module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SETUP_CHUNK : chunkHasSnapshotTask && (event = module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SNAPSHOT_CHUNK);
      event !== module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.EVENT_HANDLER_CHUNK ? maxChunkDurationMs !== 0 && ($jscomp$this$m494537618$80.logger.logEventStart(event), $jscomp$this$m494537618$80.logger.logRawEventLatency(event, chunkLengthMs)) : $jscomp$this$m494537618$80.eventHandlerChunksToIgnoreBeforeNextRecord <= 0 ? ($jscomp$this$m494537618$80.logger.logEventStart(event), $jscomp$this$m494537618$80.logger.logRawEventLatency(event, chunkLengthMs), $jscomp$this$m494537618$80.eventHandlerChunksToIgnoreBeforeNextRecord = 
      Math.floor(Math.random() * $jscomp$this$m494537618$80.eventHandlerChunkToIgnoreUnifMaxValue)) : $jscomp$this$m494537618$80.eventHandlerChunksToIgnoreBeforeNextRecord--;
    }
  }, whenSetupDone = function(asyncSnapshotFunction, shutdownFunction, passEventFunction, checkCameraFunction) {
    Promise.resolve().then(function() {
      setupEvent.done();
      setupLogger.requestFlush();
      setupLogger.dispose();
      vmFunctionsResolver.resolve({asyncSnapshotFunction:asyncSnapshotFunction, shutdownFunction:shutdownFunction, passEventFunction:passEventFunction, checkCameraFunction:checkCameraFunction});
    });
  };
  if (!goog.global[globalName]) {
    throw this.logger.logError(jspb$e.botguard$client_side$BgErrorCode.BG_GLOBAL_OBJECT_UNDEFINED), Error("EGOU");
  }
  if (!goog.global[globalName].a) {
    throw this.logger.logError(jspb$e.botguard$client_side$BgErrorCode.BG_LIBRARY_INITIALIZER_UNDEFINED), Error("ELIU");
  }
  try {
    var libraryInitializer = goog.global[globalName].a, clientExperimentIds = [], clientExperimentStatuses = [];
    if (this.experimentsState.getEnableExperimentsWithSdkVersion()) {
      for (var enabledExperimentIds = module$contents$google3$ccc$abuse$botguard$client$javascript$experiments_getIdsOfCompatibleExperiments(this.experimentsState), i = 0; i < enabledExperimentIds.length; i++) {
        clientExperimentIds.push(enabledExperimentIds[i]), clientExperimentStatuses.push(1);
      }
      for (var ignoredExperimentIds = module$contents$google3$ccc$abuse$botguard$client$javascript$experiments_getIdsOfIncompatibleExperiments(this.experimentsState), i$jscomp$0 = 0; i$jscomp$0 < ignoredExperimentIds.length; i$jscomp$0++) {
        clientExperimentIds.push(ignoredExperimentIds[i$jscomp$0]), clientExperimentStatuses.push(2);
      }
    }
    (0,$jscomp.makeIterator)(libraryInitializer(program, whenSetupDone, !0, setupOptions.userInteractionElement, chunkEndCallback, [clientExperimentIds, clientExperimentStatuses], this.experimentsState.getVmFlagsJsonDump())).next();
    this.setupDonePromise = vmFunctionsResolver.promise.then(function() {
    });
  } catch (error) {
    throw this.logger.logError(jspb$e.botguard$client_side$BgErrorCode.BG_FACADE_INITIALIZATION_FAILED), error;
  }
};
$jscomp.inherits(module$contents$google3$ccc$abuse$botguard$client$javascript$facade_BotGuardVmImpl, goog.Disposable);
module$contents$google3$ccc$abuse$botguard$client$javascript$facade_BotGuardVmImpl.prototype.snapshot = function(options) {
  if (this.isDisposed()) {
    throw Error("Already disposed");
  }
  this.logger.logEventStart(module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SNAPSHOT);
  var snapshotLogger = this.logger.share();
  return this.vmFunctionsPromise.then(function($jscomp$destructuring$var57) {
    var asyncSnapshotFunction = $jscomp$destructuring$var57.asyncSnapshotFunction;
    return new Promise(function(resolve) {
      var snapshotEvent = new module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.EventLatencyLogger(snapshotLogger, module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.BotGuardEvent.SNAPSHOT);
      asyncSnapshotFunction(function(bgResponse) {
        snapshotEvent.done();
        snapshotLogger.logSnapshotResponseSize(bgResponse.length);
        snapshotLogger.requestFlush();
        snapshotLogger.dispose();
        resolve(bgResponse);
      }, [options.contentBinding, options.signedTimestamp, options.webPoSignalOutput, options.skipPrivacyBuffer]);
    });
  });
};
module$contents$google3$ccc$abuse$botguard$client$javascript$facade_BotGuardVmImpl.prototype.shareLogger = function() {
  return this.logger.share();
};
module$exports$google3$ccc$abuse$botguard$client$javascript$facade.BgError = function(code, prefix, error) {
  var $jscomp$tmp$error$m494537618$91 = Error.call(this);
  this.message = $jscomp$tmp$error$m494537618$91.message;
  "stack" in $jscomp$tmp$error$m494537618$91 && (this.stack = $jscomp$tmp$error$m494537618$91.stack);
  this.code = code;
  prefix += ":";
  error != null || (error = Error());
  if (error instanceof Error) {
    this.message = prefix + error.message;
    var $jscomp$nullish$tmp49;
    this.stack = ($jscomp$nullish$tmp49 = error.stack) != null ? $jscomp$nullish$tmp49 : "";
  } else {
    this.message = prefix + String(error), this.stack = "";
  }
  Object.setPrototypeOf(this, this.constructor.prototype);
};
$jscomp.inherits(module$exports$google3$ccc$abuse$botguard$client$javascript$facade.BgError, Error);
var jspb$webutil$html$types$MutableSafeHtmlProto = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$webutil$html$types$MutableSafeHtmlProto, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$webutil$html$types$MutableSafeHtmlProto.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$webutil$html$types$MutableSafeHtmlProto);
jspb$webutil$html$types$MutableSafeHtmlProto.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$webutil$html$types$MutableSafeHtmlProto);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$webutil$html$types$MutableSafeHtmlProto.internalDoNotUse_debugOnlyProtoTypeName = "webutil.html.types.SafeHtmlProto");
var jspb$b$webutil$html$types$SafeHtmlProto = {};
jspb$b$webutil$html$types$SafeHtmlProto.fields = [0, 1, jspb_internal_binary.RWString];
jspb$webutil$html$types$MutableSafeHtmlProto.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$webutil$html$types$SafeHtmlProto.fields);
var jspb$webutil$html$types$ImmutableSafeHtmlProto = function() {
};
jspb$webutil$html$types$ImmutableSafeHtmlProto.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$webutil$html$types$MutableSafeHtmlProto);
jspb$webutil$html$types$ImmutableSafeHtmlProto.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$webutil$html$types$MutableSafeHtmlProto);
jspb$webutil$html$types$ImmutableSafeHtmlProto.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$webutil$html$types$MutableSafeHtmlProto);
var jspb$o$webutil$html$types$SafeHtmlProto = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {privateDoNotAccessOrElseSafeHtmlWrappedValue:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2))};
  }
}};
jspb$webutil$html$types$MutableSafeHtmlProto.prototype.toObject = function() {
  return jspb$o$webutil$html$types$SafeHtmlProto.internal_toObject(this);
};
jspb$o$webutil$html$types$SafeHtmlProto.fromObject = function(obj) {
  var msg = new jspb$webutil$html$types$MutableSafeHtmlProto();
  jspb_internal_adapters.setStringField(msg, 2, obj.privateDoNotAccessOrElseSafeHtmlWrappedValue);
  return msg;
};
proto.html = {};
proto.html.ReadonlySafeHtmlProto = {};
proto.html.SafeHtmlProto = jspb$webutil$html$types$MutableSafeHtmlProto;
jspb$webutil$html$types$MutableSafeHtmlProto.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$webutil$html$types$MutableSafeHtmlProto, jspb$b$webutil$html$types$SafeHtmlProto.fields);
jspb$webutil$html$types$MutableSafeHtmlProto.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$webutil$html$types$SafeHtmlProto.fields);
jspb$webutil$html$types$MutableSafeHtmlProto.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$webutil$html$types$SafeHtmlProto.fields);
jspb$webutil$html$types$MutableSafeHtmlProto.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$webutil$html$types$MutableSafeHtmlProto, jspb$b$webutil$html$types$SafeHtmlProto.fields);
jspb$webutil$html$types$MutableSafeHtmlProto.fromObject = jspb$o$webutil$html$types$SafeHtmlProto.fromObject;
proto.html.MutableSafeHtmlProto = jspb$webutil$html$types$MutableSafeHtmlProto;
jspb$webutil$html$types$ImmutableSafeHtmlProto.serializeBinary = jspb$webutil$html$types$MutableSafeHtmlProto.serializeBinary;
jspb$webutil$html$types$ImmutableSafeHtmlProto.serializeBinaryToByteString = jspb$webutil$html$types$MutableSafeHtmlProto.serializeBinaryToByteString;
jspb$webutil$html$types$ImmutableSafeHtmlProto.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$webutil$html$types$MutableSafeHtmlProto.deserializeBinary);
jspb$webutil$html$types$ImmutableSafeHtmlProto.makeCrossSerializerComparisonsCompatible = jspb$webutil$html$types$MutableSafeHtmlProto.makeCrossSerializerComparisonsCompatible;
proto.html.ImmutableSafeHtmlProto = jspb$webutil$html$types$ImmutableSafeHtmlProto;
var jspb$webutil$html$types$ImmutableSafeScriptProto = function() {
};
jspb$webutil$html$types$ImmutableSafeScriptProto.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$webutil$html$types$MutableSafeScriptProto);
jspb$webutil$html$types$ImmutableSafeScriptProto.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$webutil$html$types$MutableSafeScriptProto);
jspb$webutil$html$types$ImmutableSafeScriptProto.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$webutil$html$types$MutableSafeScriptProto);
proto.html.ReadonlySafeScriptProto = {};
proto.html.SafeScriptProto = jspb$webutil$html$types$MutableSafeScriptProto;
jspb$webutil$html$types$MutableSafeScriptProto.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$webutil$html$types$MutableSafeScriptProto, jspb$b$webutil$html$types$SafeScriptProto.fields);
jspb$webutil$html$types$MutableSafeScriptProto.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$webutil$html$types$SafeScriptProto.fields);
jspb$webutil$html$types$MutableSafeScriptProto.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$webutil$html$types$SafeScriptProto.fields);
jspb$webutil$html$types$MutableSafeScriptProto.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$webutil$html$types$MutableSafeScriptProto, jspb$b$webutil$html$types$SafeScriptProto.fields);
jspb$webutil$html$types$MutableSafeScriptProto.fromObject = jspb$o$webutil$html$types$SafeScriptProto.fromObject;
proto.html.MutableSafeScriptProto = jspb$webutil$html$types$MutableSafeScriptProto;
jspb$webutil$html$types$ImmutableSafeScriptProto.serializeBinary = jspb$webutil$html$types$MutableSafeScriptProto.serializeBinary;
jspb$webutil$html$types$ImmutableSafeScriptProto.serializeBinaryToByteString = jspb$webutil$html$types$MutableSafeScriptProto.serializeBinaryToByteString;
jspb$webutil$html$types$ImmutableSafeScriptProto.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$webutil$html$types$MutableSafeScriptProto.deserializeBinary);
jspb$webutil$html$types$ImmutableSafeScriptProto.makeCrossSerializerComparisonsCompatible = jspb$webutil$html$types$MutableSafeScriptProto.makeCrossSerializerComparisonsCompatible;
proto.html.ImmutableSafeScriptProto = jspb$webutil$html$types$ImmutableSafeScriptProto;
var jspb$webutil$html$types$MutableSafeStyleProto = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$webutil$html$types$MutableSafeStyleProto, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$webutil$html$types$MutableSafeStyleProto.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$webutil$html$types$MutableSafeStyleProto);
jspb$webutil$html$types$MutableSafeStyleProto.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$webutil$html$types$MutableSafeStyleProto);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$webutil$html$types$MutableSafeStyleProto.internalDoNotUse_debugOnlyProtoTypeName = "webutil.html.types.SafeStyleProto");
var jspb$b$webutil$html$types$SafeStyleProto = {};
jspb$b$webutil$html$types$SafeStyleProto.fields = [0, 4, jspb_internal_binary.RWString];
jspb$webutil$html$types$MutableSafeStyleProto.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$webutil$html$types$SafeStyleProto.fields);
var jspb$webutil$html$types$ImmutableSafeStyleProto = function() {
};
jspb$webutil$html$types$ImmutableSafeStyleProto.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$webutil$html$types$MutableSafeStyleProto);
jspb$webutil$html$types$ImmutableSafeStyleProto.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$webutil$html$types$MutableSafeStyleProto);
jspb$webutil$html$types$ImmutableSafeStyleProto.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$webutil$html$types$MutableSafeStyleProto);
var jspb$o$webutil$html$types$SafeStyleProto = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {privateDoNotAccessOrElseSafeStyleWrappedValue:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5))};
  }
}};
jspb$webutil$html$types$MutableSafeStyleProto.prototype.toObject = function() {
  return jspb$o$webutil$html$types$SafeStyleProto.internal_toObject(this);
};
jspb$o$webutil$html$types$SafeStyleProto.fromObject = function(obj) {
  var msg = new jspb$webutil$html$types$MutableSafeStyleProto();
  jspb_internal_adapters.setStringField(msg, 5, obj.privateDoNotAccessOrElseSafeStyleWrappedValue);
  return msg;
};
proto.html.ReadonlySafeStyleProto = {};
proto.html.SafeStyleProto = jspb$webutil$html$types$MutableSafeStyleProto;
jspb$webutil$html$types$MutableSafeStyleProto.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$webutil$html$types$MutableSafeStyleProto, jspb$b$webutil$html$types$SafeStyleProto.fields);
jspb$webutil$html$types$MutableSafeStyleProto.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$webutil$html$types$SafeStyleProto.fields);
jspb$webutil$html$types$MutableSafeStyleProto.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$webutil$html$types$SafeStyleProto.fields);
jspb$webutil$html$types$MutableSafeStyleProto.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$webutil$html$types$MutableSafeStyleProto, jspb$b$webutil$html$types$SafeStyleProto.fields);
jspb$webutil$html$types$MutableSafeStyleProto.fromObject = jspb$o$webutil$html$types$SafeStyleProto.fromObject;
proto.html.MutableSafeStyleProto = jspb$webutil$html$types$MutableSafeStyleProto;
jspb$webutil$html$types$ImmutableSafeStyleProto.serializeBinary = jspb$webutil$html$types$MutableSafeStyleProto.serializeBinary;
jspb$webutil$html$types$ImmutableSafeStyleProto.serializeBinaryToByteString = jspb$webutil$html$types$MutableSafeStyleProto.serializeBinaryToByteString;
jspb$webutil$html$types$ImmutableSafeStyleProto.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$webutil$html$types$MutableSafeStyleProto.deserializeBinary);
jspb$webutil$html$types$ImmutableSafeStyleProto.makeCrossSerializerComparisonsCompatible = jspb$webutil$html$types$MutableSafeStyleProto.makeCrossSerializerComparisonsCompatible;
proto.html.ImmutableSafeStyleProto = jspb$webutil$html$types$ImmutableSafeStyleProto;
var jspb$webutil$html$types$MutableSafeStyleSheetProto = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$webutil$html$types$MutableSafeStyleSheetProto, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$webutil$html$types$MutableSafeStyleSheetProto.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$webutil$html$types$MutableSafeStyleSheetProto);
jspb$webutil$html$types$MutableSafeStyleSheetProto.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$webutil$html$types$MutableSafeStyleSheetProto);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$webutil$html$types$MutableSafeStyleSheetProto.internalDoNotUse_debugOnlyProtoTypeName = "webutil.html.types.SafeStyleSheetProto");
var jspb$b$webutil$html$types$SafeStyleSheetProto = {};
jspb$b$webutil$html$types$SafeStyleSheetProto.fields = [0, 6, jspb_internal_binary.RWString];
jspb$webutil$html$types$MutableSafeStyleSheetProto.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$webutil$html$types$SafeStyleSheetProto.fields);
var jspb$webutil$html$types$ImmutableSafeStyleSheetProto = function() {
};
jspb$webutil$html$types$ImmutableSafeStyleSheetProto.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$webutil$html$types$MutableSafeStyleSheetProto);
jspb$webutil$html$types$ImmutableSafeStyleSheetProto.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$webutil$html$types$MutableSafeStyleSheetProto);
jspb$webutil$html$types$ImmutableSafeStyleSheetProto.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$webutil$html$types$MutableSafeStyleSheetProto);
var jspb$o$webutil$html$types$SafeStyleSheetProto = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {privateDoNotAccessOrElseSafeStyleSheetWrappedValue:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 7))};
  }
}};
jspb$webutil$html$types$MutableSafeStyleSheetProto.prototype.toObject = function() {
  return jspb$o$webutil$html$types$SafeStyleSheetProto.internal_toObject(this);
};
jspb$o$webutil$html$types$SafeStyleSheetProto.fromObject = function(obj) {
  var msg = new jspb$webutil$html$types$MutableSafeStyleSheetProto();
  jspb_internal_adapters.setStringField(msg, 7, obj.privateDoNotAccessOrElseSafeStyleSheetWrappedValue);
  return msg;
};
proto.html.ReadonlySafeStyleSheetProto = {};
proto.html.SafeStyleSheetProto = jspb$webutil$html$types$MutableSafeStyleSheetProto;
jspb$webutil$html$types$MutableSafeStyleSheetProto.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$webutil$html$types$MutableSafeStyleSheetProto, jspb$b$webutil$html$types$SafeStyleSheetProto.fields);
jspb$webutil$html$types$MutableSafeStyleSheetProto.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$webutil$html$types$SafeStyleSheetProto.fields);
jspb$webutil$html$types$MutableSafeStyleSheetProto.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$webutil$html$types$SafeStyleSheetProto.fields);
jspb$webutil$html$types$MutableSafeStyleSheetProto.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$webutil$html$types$MutableSafeStyleSheetProto, jspb$b$webutil$html$types$SafeStyleSheetProto.fields);
jspb$webutil$html$types$MutableSafeStyleSheetProto.fromObject = jspb$o$webutil$html$types$SafeStyleSheetProto.fromObject;
proto.html.MutableSafeStyleSheetProto = jspb$webutil$html$types$MutableSafeStyleSheetProto;
jspb$webutil$html$types$ImmutableSafeStyleSheetProto.serializeBinary = jspb$webutil$html$types$MutableSafeStyleSheetProto.serializeBinary;
jspb$webutil$html$types$ImmutableSafeStyleSheetProto.serializeBinaryToByteString = jspb$webutil$html$types$MutableSafeStyleSheetProto.serializeBinaryToByteString;
jspb$webutil$html$types$ImmutableSafeStyleSheetProto.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$webutil$html$types$MutableSafeStyleSheetProto.deserializeBinary);
jspb$webutil$html$types$ImmutableSafeStyleSheetProto.makeCrossSerializerComparisonsCompatible = jspb$webutil$html$types$MutableSafeStyleSheetProto.makeCrossSerializerComparisonsCompatible;
proto.html.ImmutableSafeStyleSheetProto = jspb$webutil$html$types$ImmutableSafeStyleSheetProto;
var jspb$webutil$html$types$MutableSafeUrlProto = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$webutil$html$types$MutableSafeUrlProto, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$webutil$html$types$MutableSafeUrlProto.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$webutil$html$types$MutableSafeUrlProto);
jspb$webutil$html$types$MutableSafeUrlProto.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$webutil$html$types$MutableSafeUrlProto);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$webutil$html$types$MutableSafeUrlProto.internalDoNotUse_debugOnlyProtoTypeName = "webutil.html.types.SafeUrlProto");
var jspb$b$webutil$html$types$SafeUrlProto = {};
jspb$b$webutil$html$types$SafeUrlProto.fields = [0, 2, jspb_internal_binary.RWString];
jspb$webutil$html$types$MutableSafeUrlProto.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$webutil$html$types$SafeUrlProto.fields);
var jspb$webutil$html$types$ImmutableSafeUrlProto = function() {
};
jspb$webutil$html$types$ImmutableSafeUrlProto.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$webutil$html$types$MutableSafeUrlProto);
jspb$webutil$html$types$ImmutableSafeUrlProto.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$webutil$html$types$MutableSafeUrlProto);
jspb$webutil$html$types$ImmutableSafeUrlProto.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$webutil$html$types$MutableSafeUrlProto);
var jspb$o$webutil$html$types$SafeUrlProto = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {privateDoNotAccessOrElseSafeUrlWrappedValue:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3))};
  }
}};
jspb$webutil$html$types$MutableSafeUrlProto.prototype.toObject = function() {
  return jspb$o$webutil$html$types$SafeUrlProto.internal_toObject(this);
};
jspb$o$webutil$html$types$SafeUrlProto.fromObject = function(obj) {
  var msg = new jspb$webutil$html$types$MutableSafeUrlProto();
  jspb_internal_adapters.setStringField(msg, 3, obj.privateDoNotAccessOrElseSafeUrlWrappedValue);
  return msg;
};
proto.html.ReadonlySafeUrlProto = {};
proto.html.SafeUrlProto = jspb$webutil$html$types$MutableSafeUrlProto;
jspb$webutil$html$types$MutableSafeUrlProto.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$webutil$html$types$MutableSafeUrlProto, jspb$b$webutil$html$types$SafeUrlProto.fields);
jspb$webutil$html$types$MutableSafeUrlProto.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$webutil$html$types$SafeUrlProto.fields);
jspb$webutil$html$types$MutableSafeUrlProto.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$webutil$html$types$SafeUrlProto.fields);
jspb$webutil$html$types$MutableSafeUrlProto.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$webutil$html$types$MutableSafeUrlProto, jspb$b$webutil$html$types$SafeUrlProto.fields);
jspb$webutil$html$types$MutableSafeUrlProto.fromObject = jspb$o$webutil$html$types$SafeUrlProto.fromObject;
proto.html.MutableSafeUrlProto = jspb$webutil$html$types$MutableSafeUrlProto;
jspb$webutil$html$types$ImmutableSafeUrlProto.serializeBinary = jspb$webutil$html$types$MutableSafeUrlProto.serializeBinary;
jspb$webutil$html$types$ImmutableSafeUrlProto.serializeBinaryToByteString = jspb$webutil$html$types$MutableSafeUrlProto.serializeBinaryToByteString;
jspb$webutil$html$types$ImmutableSafeUrlProto.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$webutil$html$types$MutableSafeUrlProto.deserializeBinary);
jspb$webutil$html$types$ImmutableSafeUrlProto.makeCrossSerializerComparisonsCompatible = jspb$webutil$html$types$MutableSafeUrlProto.makeCrossSerializerComparisonsCompatible;
proto.html.ImmutableSafeUrlProto = jspb$webutil$html$types$ImmutableSafeUrlProto;
var jspb$webutil$html$types$ImmutableTrustedResourceUrlProto = function() {
};
jspb$webutil$html$types$ImmutableTrustedResourceUrlProto.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$webutil$html$types$MutableTrustedResourceUrlProto);
jspb$webutil$html$types$ImmutableTrustedResourceUrlProto.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$webutil$html$types$MutableTrustedResourceUrlProto);
jspb$webutil$html$types$ImmutableTrustedResourceUrlProto.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$webutil$html$types$MutableTrustedResourceUrlProto);
proto.html.ReadonlyTrustedResourceUrlProto = {};
proto.html.TrustedResourceUrlProto = jspb$webutil$html$types$MutableTrustedResourceUrlProto;
jspb$webutil$html$types$MutableTrustedResourceUrlProto.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$webutil$html$types$MutableTrustedResourceUrlProto, jspb$b$webutil$html$types$TrustedResourceUrlProto.fields);
jspb$webutil$html$types$MutableTrustedResourceUrlProto.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$webutil$html$types$TrustedResourceUrlProto.fields);
jspb$webutil$html$types$MutableTrustedResourceUrlProto.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$webutil$html$types$TrustedResourceUrlProto.fields);
jspb$webutil$html$types$MutableTrustedResourceUrlProto.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$webutil$html$types$MutableTrustedResourceUrlProto, jspb$b$webutil$html$types$TrustedResourceUrlProto.fields);
jspb$webutil$html$types$MutableTrustedResourceUrlProto.fromObject = jspb$o$webutil$html$types$TrustedResourceUrlProto.fromObject;
proto.html.MutableTrustedResourceUrlProto = jspb$webutil$html$types$MutableTrustedResourceUrlProto;
jspb$webutil$html$types$ImmutableTrustedResourceUrlProto.serializeBinary = jspb$webutil$html$types$MutableTrustedResourceUrlProto.serializeBinary;
jspb$webutil$html$types$ImmutableTrustedResourceUrlProto.serializeBinaryToByteString = jspb$webutil$html$types$MutableTrustedResourceUrlProto.serializeBinaryToByteString;
jspb$webutil$html$types$ImmutableTrustedResourceUrlProto.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$webutil$html$types$MutableTrustedResourceUrlProto.deserializeBinary);
jspb$webutil$html$types$ImmutableTrustedResourceUrlProto.makeCrossSerializerComparisonsCompatible = jspb$webutil$html$types$MutableTrustedResourceUrlProto.makeCrossSerializerComparisonsCompatible;
proto.html.ImmutableTrustedResourceUrlProto = jspb$webutil$html$types$ImmutableTrustedResourceUrlProto;
function module$contents$google3$third_party$javascript$safevalues$conversions$jspb$index_protoToResourceUrl(protobuf) {
  if (!protobuf) {
    return null;
  }
  var value = protobuf.getPrivateDoNotAccessOrElseTrustedResourceUrlWrappedValue_legacyNullable();
  return value === null || value === void 0 ? null : module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_resourceUrlSafeByReview(value, {justification:"Conversion from JSPB Proto"});
}
;var module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader = {StatefulScriptLoader:function() {
  this.promises = {};
  this.latestInterpreterHash = null;
}};
module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.StatefulScriptLoader.getInstance = function() {
  module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.StatefulScriptLoader.instance || (module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.StatefulScriptLoader.instance = new module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.StatefulScriptLoader());
  return module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.StatefulScriptLoader.instance;
};
module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.StatefulScriptLoader.prototype.loadFromChallenge = function(challenge) {
  return this.loadFromParameters(challenge.getInterpreterJavascript(), challenge.getInterpreterUrl(), challenge.getInterpreterHash());
};
module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.StatefulScriptLoader.prototype.loadFromParameters = function(javascript, url, hash) {
  var $jscomp$this$m1139656283$5 = this;
  if (!javascript && !url) {
    return Promise.resolve();
  }
  if (!hash) {
    return module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_loadScript(javascript, url);
  }
  var $jscomp$logical$assign$tmpm1139656283$0;
  ($jscomp$logical$assign$tmpm1139656283$0 = this.promises)[hash] || ($jscomp$logical$assign$tmpm1139656283$0[hash] = new Promise(function(resolve, reject) {
    module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_loadScript(javascript, url).then(function() {
      $jscomp$this$m1139656283$5.latestInterpreterHash = hash;
      resolve();
    }, function(error) {
      delete $jscomp$this$m1139656283$5.promises[hash];
      reject(error);
    });
  }));
  return this.promises[hash];
};
module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.StatefulScriptLoader.TEST_ONLY = {resetInstanceForTesting:function() {
  delete module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.StatefulScriptLoader.instance;
}};
module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.loadScriptFromChallenge = function(challenge) {
  return module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_loadScript(challenge.getInterpreterJavascript(), challenge.getInterpreterUrl());
};
function module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_loadScript(javascript, url) {
  return url ? module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_loadScriptFromUrl(url) : javascript ? module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_loadScriptUsingSource(javascript) : Promise.resolve();
}
module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.loadScript = module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_loadScript;
function module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_loadScriptFromUrl(urlProto) {
  return new Promise(function(resolve, reject) {
    var scriptElement = goog.dom.createElement(goog.dom.TagName.SCRIPT), url = module$contents$google3$third_party$javascript$safevalues$conversions$jspb$index_protoToResourceUrl(urlProto);
    (0,module$exports$google3$third_party$javascript$safevalues$dom$index.setScriptSrc)(scriptElement, url);
    scriptElement.onload = function() {
      goog.dom.removeNode(scriptElement);
      resolve();
    };
    scriptElement.onerror = function() {
      goog.dom.removeNode(scriptElement);
      reject(Error("EWLS"));
    };
    module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_appendScriptElementToDom(scriptElement);
  });
}
module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.loadScriptFromUrl = module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_loadScriptFromUrl;
function module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_loadScriptUsingSource(scriptProto) {
  return new Promise(function(resolve) {
    var scriptElement = goog.dom.createElement(goog.dom.TagName.SCRIPT), JSCompiler_temp_const = module$exports$google3$third_party$javascript$safevalues$dom$index.setScriptTextContent;
    if (scriptProto) {
      var value = scriptProto.getPrivateDoNotAccessOrElseSafeScriptWrappedValue_legacyNullable();
      var JSCompiler_inline_result = value === null || value === void 0 ? null : module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_scriptSafeByReview(value, {justification:"Conversion from JSPB Proto"});
    } else {
      JSCompiler_inline_result = null;
    }
    JSCompiler_temp_const(scriptElement, JSCompiler_inline_result);
    module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_appendScriptElementToDom(scriptElement);
    goog.dom.removeNode(scriptElement);
    resolve();
  });
}
module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.loadScriptUsingSource = module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_loadScriptUsingSource;
function module$contents$google3$ccc$abuse$botguard$client$javascript$script_loader_appendScriptElementToDom(scriptElement) {
  (goog.dom.getElementsByTagName(goog.dom.TagName.HEAD)[0] || document.documentElement).appendChild(scriptElement);
}
;var module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing = {ChallengeFetcherInterface:function() {
}, RefreshingOptions:function() {
}, RefreshingBotGuardVm:function(options) {
  goog.Disposable.call(this);
  var $jscomp$this$m1053255487$95 = this;
  this.options = options;
  this.setupDone = new module$exports$goog$promise$NativeResolver();
  this.setupDonePromise = this.setupDone.promise;
  this.firstPayload = new module$exports$goog$promise$NativeResolver();
  this.nextRefresh = new module$exports$goog$promise$NativeResolver();
  this.preDisposePromises = [];
  this.logger = new module$exports$google3$ccc$abuse$botguard$client$javascript$streamz.ProxyLogger(module$contents$google3$ccc$abuse$botguard$client$javascript$facade_createLogger(options.metricsOptions || {}));
  this.mainLoop(options.fetcher, options.initialChallenge, options.scriptLoader, options.setupDelayPromise, Object.assign({}, module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.DEFAULT_TIMING_OPTIONS, options.timingOptions || {}));
  this.addOnDisposeCallback(function() {
    return void $jscomp$this$m1053255487$95.onDispose();
  });
}};
$jscomp.inherits(module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshingBotGuardVm, goog.Disposable);
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshingBotGuardVm.prototype.snapshot = function(options) {
  var $jscomp$async$this$m1053255487$27 = this;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1053255487$123) {
    switch($jscomp$generator$context$m1053255487$123.nextAddress) {
      case 1:
        if ($jscomp$async$this$m1053255487$27.isDisposed()) {
          throw Error("Already disposed");
        }
        if ($jscomp$async$this$m1053255487$27.latestVm || $jscomp$async$this$m1053255487$27.latestError) {
          $jscomp$generator$context$m1053255487$123.jumpTo(2);
          break;
        }
        return $jscomp$generator$context$m1053255487$123.yield($jscomp$async$this$m1053255487$27.firstPayload.promise, 2);
      case 2:
        if (!$jscomp$async$this$m1053255487$27.latestVm) {
          $jscomp$generator$context$m1053255487$123.jumpTo(4);
          break;
        }
        return $jscomp$generator$context$m1053255487$123.yield($jscomp$async$this$m1053255487$27.latestVm.snapshot(options), 5);
      case 5:
        return $jscomp$generator$context$m1053255487$123.return($jscomp$generator$context$m1053255487$123.yieldResult);
      case 4:
        throw $jscomp$async$this$m1053255487$27.latestError;
    }
  });
};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshingBotGuardVm.prototype.onDispose = function() {
  var $jscomp$this$m1053255487$102 = this;
  this.latestError = Error("Cancelled by dispose");
  this.firstPayload.resolve();
  module$contents$google3$ccc$abuse$botguard$client$javascript$internal_helpers_suppressUnhandledRejection(this.setupDone.promise);
  this.setupDone.reject(Error("Cancelled by dispose"));
  this.logger.dispose();
  Promise.all(this.preDisposePromises).then(function() {
    var $jscomp$optchain$tmpm1053255487$1;
    return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1053255487$126) {
      ($jscomp$optchain$tmpm1053255487$1 = $jscomp$this$m1053255487$102.latestVm) == null || $jscomp$optchain$tmpm1053255487$1.dispose();
      $jscomp$this$m1053255487$102.latestVm = void 0;
      $jscomp$generator$context$m1053255487$126.jumpToEnd();
    });
  });
  this.preDisposePromises = [];
  var $jscomp$optchain$tmpm1053255487$2;
  ($jscomp$optchain$tmpm1053255487$2 = this.sleeper) == null || $jscomp$optchain$tmpm1053255487$2.forceStop();
  module$contents$google3$ccc$abuse$botguard$client$javascript$internal_helpers_suppressUnhandledRejection(this.nextRefresh.promise);
  this.nextRefresh.reject(Error("Cancelled by dispose"));
};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshingBotGuardVm.prototype.handleRefresh = function(vm) {
  this.isDisposed() || (this.latestVm = vm, this.logger.update(vm.shareLogger()), this.firstPayload.resolve(), this.setupDone.resolve(void 0));
};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshingBotGuardVm.prototype.handleError = function(error) {
  if (!this.isDisposed()) {
    this.latestError = error;
    this.firstPayload.resolve();
    var $jscomp$optchain$tmpm1053255487$9, $jscomp$optchain$tmpm1053255487$10;
    ($jscomp$optchain$tmpm1053255487$10 = ($jscomp$optchain$tmpm1053255487$9 = this.options).onErrorCallback) == null || $jscomp$optchain$tmpm1053255487$10.call($jscomp$optchain$tmpm1053255487$9, error);
  }
};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshingBotGuardVm.prototype.handleDisposal = function(previousVm) {
  previousVm && (Promise.all(this.preDisposePromises).then(function() {
    return void previousVm.dispose();
  }), this.preDisposePromises = []);
};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshingBotGuardVm.prototype.setStatus = function(status) {
  var $jscomp$optchain$tmpm1053255487$11, $jscomp$optchain$tmpm1053255487$12;
  ($jscomp$optchain$tmpm1053255487$12 = ($jscomp$optchain$tmpm1053255487$11 = this.options).onStatusCallback) == null || $jscomp$optchain$tmpm1053255487$12.call($jscomp$optchain$tmpm1053255487$11, status);
};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshingBotGuardVm.prototype.wakeUpPendingRefreshCalls = function() {
  this.isDisposed() || (this.nextRefresh.resolve(), this.nextRefresh = new module$exports$goog$promise$NativeResolver());
};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshingBotGuardVm.prototype.mainLoop = function(fetcher, initialChallenge, scriptLoader, setupDelayPromise, timingOptions) {
  scriptLoader = scriptLoader === void 0 ? module$exports$google3$ccc$abuse$botguard$client$javascript$script_loader.StatefulScriptLoader.getInstance() : scriptLoader;
  setupDelayPromise = setupDelayPromise === void 0 ? Promise.resolve(void 0) : setupDelayPromise;
  var $jscomp$async$this$m1053255487$59 = this, previousVm, continuation, newVm, initialMs, backoff, attempt, challenge, hash, vm, error, $jscomp$optchain$tmpm1053255487$13;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1053255487$127) {
    switch($jscomp$generator$context$m1053255487$127.nextAddress) {
      case 1:
        return $jscomp$generator$context$m1053255487$127.yield(0, 3);
      case 3:
        continuation = null;
        if (!previousVm) {
          $jscomp$generator$context$m1053255487$127.jumpTo(6);
          break;
        }
        $jscomp$async$this$m1053255487$59.setStatus(module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.CONTINUATION_SNAPSHOT);
        $jscomp$generator$context$m1053255487$127.setCatchFinallyBlocks(7);
        return $jscomp$generator$context$m1053255487$127.yield(module$contents$google3$ccc$abuse$botguard$client$javascript$refreshing_withTimeout(previousVm.snapshot({}), timingOptions.continuationSnapshotTimeoutMs, function() {
          return Promise.resolve("E:CTO");
        }), 9);
      case 9:
        continuation = $jscomp$generator$context$m1053255487$127.yieldResult;
        $jscomp$generator$context$m1053255487$127.leaveTryBlock(6);
        break;
      case 7:
        $jscomp$generator$context$m1053255487$127.enterCatchBlock(), continuation = "E:UCE";
      case 6:
        newVm = void 0, initialMs = previousVm ? timingOptions.errorBackoffInitialMsAfterSuccess : timingOptions.errorBackoffInitialMsBeforeFirstSuccess, backoff = new goog.math.ExponentialBackoff(initialMs, timingOptions.errorBackoffMaxMs, timingOptions.errorBackoffRandomFactor, timingOptions.errorBackoffBackoffFactor), attempt = 0;
      case 10:
        if (!(attempt < timingOptions.maxAttempts)) {
          $jscomp$generator$context$m1053255487$127.jumpTo(12);
          break;
        }
        if (attempt === 0) {
          $jscomp$generator$context$m1053255487$127.jumpTo(13);
          break;
        }
        $jscomp$async$this$m1053255487$59.setStatus(module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.BACKOFF);
        $jscomp$async$this$m1053255487$59.sleeper = new module$contents$google3$ccc$abuse$botguard$client$javascript$refreshing_Sleeper(backoff.getValue(), timingOptions.timeCheckIntervalMs, timingOptions.timerPrecisionMs);
        return $jscomp$generator$context$m1053255487$127.yield($jscomp$async$this$m1053255487$59.sleeper.promise, 14);
      case 14:
        $jscomp$async$this$m1053255487$59.sleeper = void 0, backoff.backoff();
      case 13:
        $jscomp$generator$context$m1053255487$127.setCatchFinallyBlocks(15);
        challenge = void 0;
        if (initialChallenge) {
          challenge = initialChallenge;
          $jscomp$generator$context$m1053255487$127.jumpTo(17);
          break;
        }
        $jscomp$async$this$m1053255487$59.setStatus(module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.FETCH_CHALLENGE);
        hash = scriptLoader.latestInterpreterHash;
        return $jscomp$generator$context$m1053255487$127.yield(module$contents$google3$ccc$abuse$botguard$client$javascript$refreshing_withTimeout(fetcher.fetchChallenge(hash, continuation), timingOptions.fetchChallengeTimeoutMs, function() {
          return Promise.reject(Error("RGF:Fetch timed out"));
        }), 18);
      case 18:
        challenge = $jscomp$generator$context$m1053255487$127.yieldResult;
      case 17:
        return $jscomp$async$this$m1053255487$59.setStatus(module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.LOAD_SCRIPT), $jscomp$generator$context$m1053255487$127.yield(module$contents$google3$ccc$abuse$botguard$client$javascript$refreshing_withTimeout(scriptLoader.loadFromChallenge(challenge), timingOptions.loadScriptTimeoutMs, function() {
          return Promise.reject(Error("DTZ:Script timed out"));
        }), 19);
      case 19:
        return $jscomp$async$this$m1053255487$59.setStatus(module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.SETUP), $jscomp$generator$context$m1053255487$127.yield(setupDelayPromise, 20);
      case 20:
        return vm = module$contents$google3$ccc$abuse$botguard$client$javascript$facade_startBotGuardVm({challenge:challenge, metricsOptions:$jscomp$async$this$m1053255487$59.options.metricsOptions, userInteractionElement:$jscomp$async$this$m1053255487$59.options.userInteractionElement}), $jscomp$generator$context$m1053255487$127.yield(module$contents$google3$ccc$abuse$botguard$client$javascript$refreshing_withTimeout(vm.setupDonePromise, timingOptions.setupTimeoutMs, function() {
          return Promise.reject(Error("QEG:Setup timed out"));
        }), 21);
      case 21:
        newVm = vm;
        $jscomp$generator$context$m1053255487$127.jumpTo(12);
        break;
      case 15:
        error = $jscomp$generator$context$m1053255487$127.enterCatchBlock(), $jscomp$async$this$m1053255487$59.handleError(error), $jscomp$async$this$m1053255487$59.wakeUpPendingRefreshCalls();
      case 11:
        attempt++;
        $jscomp$generator$context$m1053255487$127.jumpTo(10);
        break;
      case 12:
        if ($jscomp$async$this$m1053255487$59.isDisposed()) {
          $jscomp$generator$context$m1053255487$127.jumpTo(5);
          break;
        }
        newVm && (initialChallenge = void 0, $jscomp$async$this$m1053255487$59.handleDisposal(previousVm), previousVm = newVm, $jscomp$async$this$m1053255487$59.handleRefresh(newVm), $jscomp$async$this$m1053255487$59.wakeUpPendingRefreshCalls());
        $jscomp$async$this$m1053255487$59.setStatus(module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.IDLE);
        $jscomp$async$this$m1053255487$59.sleeper = new module$contents$google3$ccc$abuse$botguard$client$javascript$refreshing_Sleeper(timingOptions.refreshIntervalMs, timingOptions.timeCheckIntervalMs, timingOptions.timerPrecisionMs);
        return $jscomp$generator$context$m1053255487$127.yield($jscomp$async$this$m1053255487$59.sleeper.promise, 22);
      case 22:
        $jscomp$async$this$m1053255487$59.sleeper = void 0;
        if ($jscomp$async$this$m1053255487$59.isDisposed()) {
          $jscomp$generator$context$m1053255487$127.jumpTo(5);
          break;
        }
        $jscomp$generator$context$m1053255487$127.jumpTo(3);
        break;
      case 5:
        ($jscomp$optchain$tmpm1053255487$13 = previousVm) == null || $jscomp$optchain$tmpm1053255487$13.dispose(), $jscomp$generator$context$m1053255487$127.jumpToEnd();
    }
  });
};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshingBotGuardVm.prototype.shareLogger = function() {
  return this.logger.share();
};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshingBotGuardVm.prototype.acquire = function(release) {
  this.preDisposePromises.push(release);
};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.TimingOptions = function() {
};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.DEFAULT_TIMING_OPTIONS = {refreshIntervalMs:432E5, timeCheckIntervalMs:3E5, timerPrecisionMs:10, continuationSnapshotTimeoutMs:1E4, fetchChallengeTimeoutMs:3E4, loadScriptTimeoutMs:3E4, setupTimeoutMs:6E4, errorBackoffInitialMsBeforeFirstSuccess:1E3, errorBackoffInitialMsAfterSuccess:6E4, errorBackoffMaxMs:6E5, errorBackoffRandomFactor:.25, errorBackoffBackoffFactor:2, maxAttempts:10};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus = {IDLE:2, FETCH_CHALLENGE:5, LOAD_SCRIPT:3, SETUP:8, BACKOFF:0, CONTINUATION_SNAPSHOT:7, NOT_STARTED:1};
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus[module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.IDLE] = "IDLE";
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus[module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.FETCH_CHALLENGE] = "FETCH_CHALLENGE";
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus[module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.LOAD_SCRIPT] = "LOAD_SCRIPT";
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus[module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.SETUP] = "SETUP";
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus[module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.BACKOFF] = "BACKOFF";
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus[module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.CONTINUATION_SNAPSHOT] = "CONTINUATION_SNAPSHOT";
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus[module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshStatus.NOT_STARTED] = "NOT_STARTED";
function module$contents$google3$ccc$abuse$botguard$client$javascript$refreshing_withTimeout(promise, ms, timeoutFn) {
  var timerId, timer = new Promise(function(resolve) {
    timerId = setTimeout(resolve, ms);
  });
  return Promise.race([promise.finally(function() {
    return void clearTimeout(timerId);
  }), timer.then(timeoutFn)]);
}
module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.withTimeout = module$contents$google3$ccc$abuse$botguard$client$javascript$refreshing_withTimeout;
var module$contents$google3$ccc$abuse$botguard$client$javascript$refreshing_Sleeper = function(durationMs, timeCheckIntervalMs, precisionMs) {
  var $jscomp$this$m1053255487$119 = this;
  this.endTimeMs = Date.now() + durationMs;
  this.promise = new Promise(function(resolve) {
    $jscomp$this$m1053255487$119.resolver = resolve;
  });
  var tick = function() {
    var remainingMs = $jscomp$this$m1053255487$119.endTimeMs - Date.now();
    remainingMs <= precisionMs ? $jscomp$this$m1053255487$119.resolver() : setTimeout(tick, Math.min(remainingMs, timeCheckIntervalMs));
  };
  tick();
};
module$contents$google3$ccc$abuse$botguard$client$javascript$refreshing_Sleeper.prototype.forceStop = function() {
  this.endTimeMs = 0;
  this.resolver();
};
var module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api_base = {WEBANTIABUSE_URL_PROD:"https://waa-pa.clients6.google.com", WEBANTIABUSE_URL_TEST:"https://test-waa-pa.sandbox.googleapis.com", WEBANTIABUSE_COMMON_API_KEY_PROD:"AIzaSyBGb5fGAyC-pRcRU6MUHb__b_vKha71HRE", WEBANTIABUSE_COMMON_API_KEY_TEST:"AIzaSyC2Zf_OSAM888fK1QA3jAcNLe9ickI9Tr0", unscrambleChallenge:function(scrambled) {
  for (var unscrambled = new Uint8Array(scrambled.length), i = 0; i < scrambled.length; i++) {
    unscrambled[i] = scrambled[i] + 97;
  }
  var serialized = goog.global.TextDecoder ? (new TextDecoder()).decode(unscrambled) : (0,goog.crypt.byteArrayToString)(unscrambled);
  return jspb$botguard$client_side$MutableBgChallenge.deserialize(serialized);
}};
var jspb$google$internal$waa$v1$MutableCreationRequest = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$internal$waa$v1$MutableCreationRequest, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$internal$waa$v1$MutableCreationRequest.prototype.setRequestKey = function(value) {
  return jspb_internal_adapters.setProto3StringField(this, 1, value);
};
jspb$google$internal$waa$v1$MutableCreationRequest.prototype.getInterpreterHash = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 2);
};
jspb$google$internal$waa$v1$MutableCreationRequest.prototype.setInterpreterHash = function(value) {
  return jspb_internal_adapters.setProto3StringField(this, 2, value);
};
jspb$google$internal$waa$v1$MutableCreationRequest.prototype.setContinuation = function(value) {
  return jspb_internal_adapters.setProto3StringField(this, 3, value);
};
jspb$google$internal$waa$v1$MutableCreationRequest.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$internal$waa$v1$MutableCreationRequest);
jspb$google$internal$waa$v1$MutableCreationRequest.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$internal$waa$v1$MutableCreationRequest);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$internal$waa$v1$MutableCreationRequest.internalDoNotUse_debugOnlyProtoTypeName = "google.internal.waa.v1.CreationRequest");
var jspb$b$google$internal$waa$v1$CreationRequest = {};
jspb$b$google$internal$waa$v1$CreationRequest.fields = [0, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString, -2];
jspb$google$internal$waa$v1$MutableCreationRequest.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$CreationRequest.fields);
var jspb$google$internal$waa$v1$ImmutableCreationRequest = function() {
};
jspb$google$internal$waa$v1$ImmutableCreationRequest.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$google$internal$waa$v1$MutableCreationRequest);
jspb$google$internal$waa$v1$ImmutableCreationRequest.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$google$internal$waa$v1$MutableCreationRequest);
jspb$google$internal$waa$v1$ImmutableCreationRequest.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$google$internal$waa$v1$MutableCreationRequest);
var jspb$o$google$internal$waa$v1$CreationRequest = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {requestKey:jspb_internal_adapters.getStringFieldWithDefault(msg, 1), interpreterHash:jspb_internal_adapters.getStringFieldWithDefault(msg, 2), continuation:jspb_internal_adapters.getStringFieldWithDefault(msg, 3)};
  }
}};
jspb$google$internal$waa$v1$MutableCreationRequest.prototype.toObject = function() {
  return jspb$o$google$internal$waa$v1$CreationRequest.internal_toObject(this);
};
jspb$o$google$internal$waa$v1$CreationRequest.fromObject = function(obj) {
  var msg = new jspb$google$internal$waa$v1$MutableCreationRequest();
  jspb_internal_adapters.setProto3StringField(msg, 1, obj.requestKey);
  jspb_internal_adapters.setProto3StringField(msg, 2, obj.interpreterHash);
  jspb_internal_adapters.setProto3StringField(msg, 3, obj.continuation);
  return msg;
};
proto.google = {};
proto.google.internal = {};
proto.google.internal.waa = {};
proto.google.internal.waa.v1 = {};
proto.google.internal.waa.v1.ReadonlyCreationRequest = {};
proto.google.internal.waa.v1.CreationRequest = jspb$google$internal$waa$v1$MutableCreationRequest;
jspb$google$internal$waa$v1$MutableCreationRequest.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$google$internal$waa$v1$MutableCreationRequest, jspb$b$google$internal$waa$v1$CreationRequest.fields);
jspb$google$internal$waa$v1$MutableCreationRequest.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$CreationRequest.fields);
jspb$google$internal$waa$v1$MutableCreationRequest.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$google$internal$waa$v1$CreationRequest.fields);
jspb$google$internal$waa$v1$MutableCreationRequest.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$google$internal$waa$v1$MutableCreationRequest, jspb$b$google$internal$waa$v1$CreationRequest.fields);
jspb$google$internal$waa$v1$MutableCreationRequest.fromObject = jspb$o$google$internal$waa$v1$CreationRequest.fromObject;
proto.google.internal.waa.v1.MutableCreationRequest = jspb$google$internal$waa$v1$MutableCreationRequest;
jspb$google$internal$waa$v1$ImmutableCreationRequest.serializeBinary = jspb$google$internal$waa$v1$MutableCreationRequest.serializeBinary;
jspb$google$internal$waa$v1$ImmutableCreationRequest.serializeBinaryToByteString = jspb$google$internal$waa$v1$MutableCreationRequest.serializeBinaryToByteString;
jspb$google$internal$waa$v1$ImmutableCreationRequest.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$google$internal$waa$v1$MutableCreationRequest.deserializeBinary);
jspb$google$internal$waa$v1$ImmutableCreationRequest.makeCrossSerializerComparisonsCompatible = jspb$google$internal$waa$v1$MutableCreationRequest.makeCrossSerializerComparisonsCompatible;
proto.google.internal.waa.v1.ImmutableCreationRequest = jspb$google$internal$waa$v1$ImmutableCreationRequest;
var jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.prototype.setRequestKey = function(value) {
  return jspb_internal_adapters.setProto3StringField(this, 1, value);
};
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.prototype.setBotguardResponse = function(value) {
  return jspb_internal_adapters.setProto3StringField(this, 2, value);
};
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest);
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.internalDoNotUse_debugOnlyProtoTypeName = "google.internal.waa.v1.GenerateIntegrityTokenRequest");
var jspb$b$google$internal$waa$v1$GenerateIntegrityTokenRequest = {};
jspb$b$google$internal$waa$v1$GenerateIntegrityTokenRequest.fields = [0, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString, -1];
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$GenerateIntegrityTokenRequest.fields);
var jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenRequest = function() {
};
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenRequest.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest);
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenRequest.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest);
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenRequest.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest);
var jspb$o$google$internal$waa$v1$GenerateIntegrityTokenRequest = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {requestKey:jspb_internal_adapters.getStringFieldWithDefault(msg, 1), botguardResponse:jspb_internal_adapters.getStringFieldWithDefault(msg, 2)};
  }
}};
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.prototype.toObject = function() {
  return jspb$o$google$internal$waa$v1$GenerateIntegrityTokenRequest.internal_toObject(this);
};
jspb$o$google$internal$waa$v1$GenerateIntegrityTokenRequest.fromObject = function(obj) {
  var msg = new jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest();
  jspb_internal_adapters.setProto3StringField(msg, 1, obj.requestKey);
  jspb_internal_adapters.setProto3StringField(msg, 2, obj.botguardResponse);
  return msg;
};
proto.google.internal.waa.v1.ReadonlyGenerateIntegrityTokenRequest = {};
proto.google.internal.waa.v1.GenerateIntegrityTokenRequest = jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest;
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest, jspb$b$google$internal$waa$v1$GenerateIntegrityTokenRequest.fields);
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$GenerateIntegrityTokenRequest.fields);
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$google$internal$waa$v1$GenerateIntegrityTokenRequest.fields);
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest, jspb$b$google$internal$waa$v1$GenerateIntegrityTokenRequest.fields);
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.fromObject = jspb$o$google$internal$waa$v1$GenerateIntegrityTokenRequest.fromObject;
proto.google.internal.waa.v1.MutableGenerateIntegrityTokenRequest = jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest;
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenRequest.serializeBinary = jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.serializeBinary;
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenRequest.serializeBinaryToByteString = jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.serializeBinaryToByteString;
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenRequest.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.deserializeBinary);
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenRequest.makeCrossSerializerComparisonsCompatible = jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest.makeCrossSerializerComparisonsCompatible;
proto.google.internal.waa.v1.ImmutableGenerateIntegrityTokenRequest = jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenRequest;
var jspb$google$internal$waa$v1$MutablePingRequest = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$internal$waa$v1$MutablePingRequest, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$internal$waa$v1$MutablePingRequest.prototype.setRequestKey = function(value) {
  return jspb_internal_adapters.setStringField(this, 1, value);
};
jspb$google$internal$waa$v1$MutablePingRequest.prototype.setBotguardResponse = function(value) {
  return jspb_internal_adapters.setStringField(this, 2, value);
};
jspb$google$internal$waa$v1$MutablePingRequest.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$internal$waa$v1$MutablePingRequest);
jspb$google$internal$waa$v1$MutablePingRequest.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$internal$waa$v1$MutablePingRequest);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$internal$waa$v1$MutablePingRequest.internalDoNotUse_debugOnlyProtoTypeName = "google.internal.waa.v1.PingRequest");
var jspb$b$google$internal$waa$v1$PingRequest = {};
jspb$b$google$internal$waa$v1$PingRequest.fields = [0, jspb_internal_binary.RStringRequireUtf8WString, -1, jspb_internal_binary.RWInt32, jspb_internal_binary.RWFixed32];
jspb$google$internal$waa$v1$MutablePingRequest.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$PingRequest.fields);
var jspb$google$internal$waa$v1$ImmutablePingRequest = function() {
};
jspb$google$internal$waa$v1$ImmutablePingRequest.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$google$internal$waa$v1$MutablePingRequest);
jspb$google$internal$waa$v1$ImmutablePingRequest.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$google$internal$waa$v1$MutablePingRequest);
jspb$google$internal$waa$v1$ImmutablePingRequest.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$google$internal$waa$v1$MutablePingRequest);
var jspb$o$google$internal$waa$v1$PingRequest = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {requestKey:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 1)), botguardResponse:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2)), onegooglePropertyId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 3)), onegoogleTabId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getUint32FieldNullable(msg, 
    4))};
  }
}};
jspb$google$internal$waa$v1$MutablePingRequest.prototype.toObject = function() {
  return jspb$o$google$internal$waa$v1$PingRequest.internal_toObject(this);
};
jspb$o$google$internal$waa$v1$PingRequest.fromObject = function(obj) {
  var msg = new jspb$google$internal$waa$v1$MutablePingRequest();
  jspb_internal_adapters.setStringField(msg, 1, obj.requestKey);
  jspb_internal_adapters.setStringField(msg, 2, obj.botguardResponse);
  jspb_internal_adapters.setInt32Field(msg, 3, obj.onegooglePropertyId);
  jspb_internal_adapters.setUint32Field(msg, 4, obj.onegoogleTabId);
  return msg;
};
proto.google.internal.waa.v1.ReadonlyPingRequest = {};
proto.google.internal.waa.v1.PingRequest = jspb$google$internal$waa$v1$MutablePingRequest;
jspb$google$internal$waa$v1$MutablePingRequest.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$google$internal$waa$v1$MutablePingRequest, jspb$b$google$internal$waa$v1$PingRequest.fields);
jspb$google$internal$waa$v1$MutablePingRequest.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$PingRequest.fields);
jspb$google$internal$waa$v1$MutablePingRequest.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$google$internal$waa$v1$PingRequest.fields);
jspb$google$internal$waa$v1$MutablePingRequest.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$google$internal$waa$v1$MutablePingRequest, jspb$b$google$internal$waa$v1$PingRequest.fields);
jspb$google$internal$waa$v1$MutablePingRequest.fromObject = jspb$o$google$internal$waa$v1$PingRequest.fromObject;
proto.google.internal.waa.v1.MutablePingRequest = jspb$google$internal$waa$v1$MutablePingRequest;
jspb$google$internal$waa$v1$ImmutablePingRequest.serializeBinary = jspb$google$internal$waa$v1$MutablePingRequest.serializeBinary;
jspb$google$internal$waa$v1$ImmutablePingRequest.serializeBinaryToByteString = jspb$google$internal$waa$v1$MutablePingRequest.serializeBinaryToByteString;
jspb$google$internal$waa$v1$ImmutablePingRequest.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$google$internal$waa$v1$MutablePingRequest.deserializeBinary);
jspb$google$internal$waa$v1$ImmutablePingRequest.makeCrossSerializerComparisonsCompatible = jspb$google$internal$waa$v1$MutablePingRequest.makeCrossSerializerComparisonsCompatible;
proto.google.internal.waa.v1.ImmutablePingRequest = jspb$google$internal$waa$v1$ImmutablePingRequest;
var module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api = {};
module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api.WEBANTIABUSE_COMMON_API_KEY_PROD = module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api_base.WEBANTIABUSE_COMMON_API_KEY_PROD;
module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api.WEBANTIABUSE_COMMON_API_KEY_TEST = module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api_base.WEBANTIABUSE_COMMON_API_KEY_TEST;
module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api.WEBANTIABUSE_URL_PROD = module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api_base.WEBANTIABUSE_URL_PROD;
module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api.WEBANTIABUSE_URL_TEST = module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api_base.WEBANTIABUSE_URL_TEST;
module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api.fetchChallenge = function(client, requestKey, metadata) {
  return (new module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api.WaaApi(client, requestKey, function() {
    return metadata;
  })).fetchChallenge(null, null);
};
module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api.WaaApi = function(client, requestKey, metadataBuilder) {
  this.client = client;
  this.requestKey = requestKey;
  this.metadataBuilder = metadataBuilder;
};
module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api.WaaApi.prototype.fetchChallenge = function(interpreterHash, continuation) {
  var $jscomp$async$this$m1559502147$7 = this, request, metadata, response, scrambledChallenge, challenge;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1559502147$22) {
    if ($jscomp$generator$context$m1559502147$22.nextAddress == 1) {
      return request = (new jspb$google$internal$waa$v1$MutableCreationRequest()).setRequestKey($jscomp$async$this$m1559502147$7.requestKey), interpreterHash && request.setInterpreterHash(interpreterHash), continuation && request.setContinuation(continuation), metadata = $jscomp$async$this$m1559502147$7.metadataBuilder(), $jscomp$generator$context$m1559502147$22.yield($jscomp$async$this$m1559502147$7.client.create(request, metadata), 2);
    }
    response = $jscomp$generator$context$m1559502147$22.yieldResult;
    scrambledChallenge = response.getScrambledChallenge().asUint8Array();
    if (scrambledChallenge.length) {
      return $jscomp$generator$context$m1559502147$22.return((0,module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api_base.unscrambleChallenge)(scrambledChallenge));
    }
    challenge = response.getChallenge();
    if (!challenge) {
      throw Error("Missing field");
    }
    return $jscomp$generator$context$m1559502147$22.return(challenge);
  });
};
module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api.WaaApi.prototype.ping = function(botguardResponse, additionalPingFields) {
  var $jscomp$async$this$m1559502147$11 = this, metadata, request;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1559502147$24) {
    metadata = $jscomp$async$this$m1559502147$11.metadataBuilder();
    request = additionalPingFields || new jspb$google$internal$waa$v1$MutablePingRequest();
    request.setRequestKey($jscomp$async$this$m1559502147$11.requestKey).setBotguardResponse(botguardResponse);
    return $jscomp$generator$context$m1559502147$24.yield($jscomp$async$this$m1559502147$11.client.ping(request, metadata), 0);
  });
};
var jspb$google$internal$waa$v1$MutableCreationResponse = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$internal$waa$v1$MutableCreationResponse, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$internal$waa$v1$MutableCreationResponse.prototype.getChallenge = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$botguard$client_side$MutableBgChallenge, 1);
};
jspb$google$internal$waa$v1$MutableCreationResponse.prototype.getScrambledChallenge = function() {
  return jspb_internal_adapters.getBytesFieldWithDefault(this, 2);
};
jspb$google$internal$waa$v1$MutableCreationResponse.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$internal$waa$v1$MutableCreationResponse);
jspb$google$internal$waa$v1$MutableCreationResponse.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$internal$waa$v1$MutableCreationResponse);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$internal$waa$v1$MutableCreationResponse.internalDoNotUse_debugOnlyProtoTypeName = "google.internal.waa.v1.CreationResponse");
var jspb$b$google$internal$waa$v1$CreationResponse = {};
jspb$b$google$internal$waa$v1$CreationResponse.fields = [0, jspb$b$botguard$client_side$BgChallenge.fields, jspb_internal_binary.RBytesIgnoringDefaultWBytes];
jspb$google$internal$waa$v1$MutableCreationResponse.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$CreationResponse.fields);
var jspb$google$internal$waa$v1$ImmutableCreationResponse = function() {
};
jspb$google$internal$waa$v1$ImmutableCreationResponse.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$google$internal$waa$v1$MutableCreationResponse);
jspb$google$internal$waa$v1$ImmutableCreationResponse.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$google$internal$waa$v1$MutableCreationResponse);
jspb$google$internal$waa$v1$ImmutableCreationResponse.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$google$internal$waa$v1$MutableCreationResponse);
var jspb$o$google$internal$waa$v1$CreationResponse = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {challenge:jspb$o$botguard$client_side$BgChallenge.internal_toObject(msg.getChallenge()), scrambledChallenge:module$contents$jspb_internal_public_for_gencode_toObjectBytes(msg.getScrambledChallenge())};
  }
}};
jspb$google$internal$waa$v1$MutableCreationResponse.prototype.toObject = function() {
  return jspb$o$google$internal$waa$v1$CreationResponse.internal_toObject(this);
};
jspb$o$google$internal$waa$v1$CreationResponse.fromObject = function(obj) {
  var msg = new jspb$google$internal$waa$v1$MutableCreationResponse();
  jspb_internal_adapters.setWrapperField(msg, jspb$botguard$client_side$MutableBgChallenge, 1, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.challenge, jspb$o$botguard$client_side$BgChallenge.fromObject));
  jspb_internal_adapters.setProto3BytesField(msg, 2, obj.scrambledChallenge);
  return msg;
};
proto.google.internal.waa.v1.ReadonlyCreationResponse = {};
proto.google.internal.waa.v1.CreationResponse = jspb$google$internal$waa$v1$MutableCreationResponse;
jspb$google$internal$waa$v1$MutableCreationResponse.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$google$internal$waa$v1$MutableCreationResponse, jspb$b$google$internal$waa$v1$CreationResponse.fields);
jspb$google$internal$waa$v1$MutableCreationResponse.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$CreationResponse.fields);
jspb$google$internal$waa$v1$MutableCreationResponse.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$google$internal$waa$v1$CreationResponse.fields);
jspb$google$internal$waa$v1$MutableCreationResponse.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$google$internal$waa$v1$MutableCreationResponse, jspb$b$google$internal$waa$v1$CreationResponse.fields);
jspb$google$internal$waa$v1$MutableCreationResponse.fromObject = jspb$o$google$internal$waa$v1$CreationResponse.fromObject;
proto.google.internal.waa.v1.MutableCreationResponse = jspb$google$internal$waa$v1$MutableCreationResponse;
jspb$google$internal$waa$v1$ImmutableCreationResponse.serializeBinary = jspb$google$internal$waa$v1$MutableCreationResponse.serializeBinary;
jspb$google$internal$waa$v1$ImmutableCreationResponse.serializeBinaryToByteString = jspb$google$internal$waa$v1$MutableCreationResponse.serializeBinaryToByteString;
jspb$google$internal$waa$v1$ImmutableCreationResponse.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$google$internal$waa$v1$MutableCreationResponse.deserializeBinary);
jspb$google$internal$waa$v1$ImmutableCreationResponse.makeCrossSerializerComparisonsCompatible = jspb$google$internal$waa$v1$MutableCreationResponse.makeCrossSerializerComparisonsCompatible;
proto.google.internal.waa.v1.ImmutableCreationResponse = jspb$google$internal$waa$v1$ImmutableCreationResponse;
var module$exports$google3$javascript$net$grpc$web$requestinternal = {RequestInternal:function(requestMessage, methodDescriptor, metadata) {
  this.requestMessage = requestMessage;
  this.methodDescriptor = methodDescriptor;
  this.metadata = metadata;
}};
module$exports$google3$javascript$net$grpc$web$requestinternal.RequestInternal.prototype.getMetadata = function() {
  return this.metadata;
};
var module$exports$google3$javascript$net$grpc$web$unaryresponseinternal = {UnaryResponseInternal:function(responseMessage, metadata, status) {
  metadata = metadata === void 0 ? {} : metadata;
  this.responseMessage = responseMessage;
  this.metadata = metadata;
  this.status = status === void 0 ? null : status;
}};
module$exports$google3$javascript$net$grpc$web$unaryresponseinternal.UnaryResponseInternal.prototype.getMetadata = function() {
  return this.metadata;
};
module$exports$google3$javascript$net$grpc$web$unaryresponseinternal.UnaryResponseInternal.prototype.getStatus = function() {
  return this.status;
};
var module$exports$google3$javascript$net$grpc$web$methoddescriptor = {MethodDescriptor:function(name, methodType, requestType, responseType, requestSerializeFn, responseDeserializeFn) {
  this.name = name;
  this.requestType = requestType;
  this.responseType = responseType;
  this.requestSerializeFn = requestSerializeFn;
  this.responseDeserializeFn = responseDeserializeFn;
}};
module$exports$google3$javascript$net$grpc$web$methoddescriptor.MethodDescriptor.prototype.createRequest = function(requestMessage, metadata) {
  metadata = metadata === void 0 ? {} : metadata;
  return new module$exports$google3$javascript$net$grpc$web$requestinternal.RequestInternal(requestMessage, this, metadata);
};
module$exports$google3$javascript$net$grpc$web$methoddescriptor.MethodDescriptor.prototype.createUnaryResponse = function(responseMessage, metadata, status) {
  metadata = metadata === void 0 ? {} : metadata;
  return new module$exports$google3$javascript$net$grpc$web$unaryresponseinternal.UnaryResponseInternal(responseMessage, metadata, status === void 0 ? null : status);
};
module$exports$google3$javascript$net$grpc$web$methoddescriptor.MethodDescriptor.prototype.getName = function() {
  return this.name;
};
var grpc = {web:{}};
grpc.web.MethodDescriptor = module$exports$google3$javascript$net$grpc$web$methoddescriptor.MethodDescriptor;
var module$exports$google3$javascript$net$grpc$web$methodtype = {MethodType:{UNARY:"unary", SERVER_STREAMING:"server_streaming", BIDI_STREAMING:"bidi_streaming"}};
grpc.web.MethodType = module$exports$google3$javascript$net$grpc$web$methodtype.MethodType;
proto.google.internal.waa.v1.waa = {};
proto.google.internal.waa.v1.waa.CreateMethodDescriptor = new module$exports$google3$javascript$net$grpc$web$methoddescriptor.MethodDescriptor("/google.internal.waa.v1.Waa/Create", module$exports$google3$javascript$net$grpc$web$methodtype.MethodType.UNARY, jspb$google$internal$waa$v1$MutableCreationRequest, jspb$google$internal$waa$v1$MutableCreationResponse, function(v) {
  return v.serialize();
}, jspb$google$internal$waa$v1$MutableCreationResponse.deserialize);
var jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.prototype.getIntegrityToken = function() {
  return jspb_internal_adapters.getBytesFieldWithDefault(this, 1);
};
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse);
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.internalDoNotUse_debugOnlyProtoTypeName = "google.internal.waa.v1.GenerateIntegrityTokenResponse");
var jspb$b$google$internal$waa$v1$GenerateIntegrityTokenResponse = {};
jspb$b$google$internal$waa$v1$GenerateIntegrityTokenResponse.fields = [0, jspb_internal_binary.RBytesIgnoringDefaultWBytes, jspb_internal_binary.RUint32IgnoringDefaultWUint32, -1, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString];
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$GenerateIntegrityTokenResponse.fields);
var jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenResponse = function() {
};
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenResponse.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse);
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenResponse.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse);
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenResponse.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse);
var jspb$o$google$internal$waa$v1$GenerateIntegrityTokenResponse = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {integrityToken:module$contents$jspb_internal_public_for_gencode_toObjectBytes(msg.getIntegrityToken()), estimatedTtlSecs:jspb_internal_adapters.getUint32FieldWithDefault(msg, 2), mintRefreshThreshold:jspb_internal_adapters.getUint32FieldWithDefault(msg, 3), websafeFallbackToken:jspb_internal_adapters.getStringFieldWithDefault(msg, 4)};
  }
}};
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.prototype.toObject = function() {
  return jspb$o$google$internal$waa$v1$GenerateIntegrityTokenResponse.internal_toObject(this);
};
jspb$o$google$internal$waa$v1$GenerateIntegrityTokenResponse.fromObject = function(obj) {
  var msg = new jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse();
  jspb_internal_adapters.setProto3BytesField(msg, 1, obj.integrityToken);
  jspb_internal_adapters.setProto3Uint32Field(msg, 2, obj.estimatedTtlSecs);
  jspb_internal_adapters.setProto3Uint32Field(msg, 3, obj.mintRefreshThreshold);
  jspb_internal_adapters.setProto3StringField(msg, 4, obj.websafeFallbackToken);
  return msg;
};
proto.google.internal.waa.v1.ReadonlyGenerateIntegrityTokenResponse = {};
proto.google.internal.waa.v1.GenerateIntegrityTokenResponse = jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse;
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse, jspb$b$google$internal$waa$v1$GenerateIntegrityTokenResponse.fields);
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$GenerateIntegrityTokenResponse.fields);
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$google$internal$waa$v1$GenerateIntegrityTokenResponse.fields);
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse, jspb$b$google$internal$waa$v1$GenerateIntegrityTokenResponse.fields);
jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.fromObject = jspb$o$google$internal$waa$v1$GenerateIntegrityTokenResponse.fromObject;
proto.google.internal.waa.v1.MutableGenerateIntegrityTokenResponse = jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse;
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenResponse.serializeBinary = jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.serializeBinary;
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenResponse.serializeBinaryToByteString = jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.serializeBinaryToByteString;
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenResponse.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.deserializeBinary);
jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenResponse.makeCrossSerializerComparisonsCompatible = jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.makeCrossSerializerComparisonsCompatible;
proto.google.internal.waa.v1.ImmutableGenerateIntegrityTokenResponse = jspb$google$internal$waa$v1$ImmutableGenerateIntegrityTokenResponse;
proto.google.internal.waa.v1.waa.GenerateITMethodDescriptor = new module$exports$google3$javascript$net$grpc$web$methoddescriptor.MethodDescriptor("/google.internal.waa.v1.Waa/GenerateIT", module$exports$google3$javascript$net$grpc$web$methodtype.MethodType.UNARY, jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenRequest, jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse, function(v) {
  return v.serialize();
}, jspb$google$internal$waa$v1$MutableGenerateIntegrityTokenResponse.deserialize);
var jspb$google$internal$waa$v1$MutableTimestampRequest = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$internal$waa$v1$MutableTimestampRequest, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$internal$waa$v1$MutableTimestampRequest.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$internal$waa$v1$MutableTimestampRequest);
jspb$google$internal$waa$v1$MutableTimestampRequest.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$internal$waa$v1$MutableTimestampRequest);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$internal$waa$v1$MutableTimestampRequest.internalDoNotUse_debugOnlyProtoTypeName = "google.internal.waa.v1.TimestampRequest");
var jspb$b$google$internal$waa$v1$TimestampRequest = {fields:[0]};
jspb$google$internal$waa$v1$MutableTimestampRequest.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$TimestampRequest.fields);
var jspb$google$internal$waa$v1$ImmutableTimestampRequest = function() {
};
jspb$google$internal$waa$v1$ImmutableTimestampRequest.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$google$internal$waa$v1$MutableTimestampRequest);
jspb$google$internal$waa$v1$ImmutableTimestampRequest.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$google$internal$waa$v1$MutableTimestampRequest);
jspb$google$internal$waa$v1$ImmutableTimestampRequest.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$google$internal$waa$v1$MutableTimestampRequest);
var jspb$o$google$internal$waa$v1$TimestampRequest = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {};
  }
}};
jspb$google$internal$waa$v1$MutableTimestampRequest.prototype.toObject = function() {
  return jspb$o$google$internal$waa$v1$TimestampRequest.internal_toObject(this);
};
jspb$o$google$internal$waa$v1$TimestampRequest.fromObject = function() {
  return new jspb$google$internal$waa$v1$MutableTimestampRequest();
};
proto.google.internal.waa.v1.ReadonlyTimestampRequest = {};
proto.google.internal.waa.v1.TimestampRequest = jspb$google$internal$waa$v1$MutableTimestampRequest;
jspb$google$internal$waa$v1$MutableTimestampRequest.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$google$internal$waa$v1$MutableTimestampRequest, jspb$b$google$internal$waa$v1$TimestampRequest.fields);
jspb$google$internal$waa$v1$MutableTimestampRequest.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$TimestampRequest.fields);
jspb$google$internal$waa$v1$MutableTimestampRequest.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$google$internal$waa$v1$TimestampRequest.fields);
jspb$google$internal$waa$v1$MutableTimestampRequest.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$google$internal$waa$v1$MutableTimestampRequest, jspb$b$google$internal$waa$v1$TimestampRequest.fields);
jspb$google$internal$waa$v1$MutableTimestampRequest.fromObject = jspb$o$google$internal$waa$v1$TimestampRequest.fromObject;
proto.google.internal.waa.v1.MutableTimestampRequest = jspb$google$internal$waa$v1$MutableTimestampRequest;
jspb$google$internal$waa$v1$ImmutableTimestampRequest.serializeBinary = jspb$google$internal$waa$v1$MutableTimestampRequest.serializeBinary;
jspb$google$internal$waa$v1$ImmutableTimestampRequest.serializeBinaryToByteString = jspb$google$internal$waa$v1$MutableTimestampRequest.serializeBinaryToByteString;
jspb$google$internal$waa$v1$ImmutableTimestampRequest.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$google$internal$waa$v1$MutableTimestampRequest.deserializeBinary);
jspb$google$internal$waa$v1$ImmutableTimestampRequest.makeCrossSerializerComparisonsCompatible = jspb$google$internal$waa$v1$MutableTimestampRequest.makeCrossSerializerComparisonsCompatible;
proto.google.internal.waa.v1.ImmutableTimestampRequest = jspb$google$internal$waa$v1$ImmutableTimestampRequest;
var jspb$google$internal$waa$v1$MutableTimestampResponse = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$internal$waa$v1$MutableTimestampResponse, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$internal$waa$v1$MutableTimestampResponse.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$internal$waa$v1$MutableTimestampResponse);
jspb$google$internal$waa$v1$MutableTimestampResponse.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$internal$waa$v1$MutableTimestampResponse);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$internal$waa$v1$MutableTimestampResponse.internalDoNotUse_debugOnlyProtoTypeName = "google.internal.waa.v1.TimestampResponse");
var jspb$b$google$internal$waa$v1$TimestampResponse = {};
jspb$b$google$internal$waa$v1$TimestampResponse.fields = [0, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString];
jspb$google$internal$waa$v1$MutableTimestampResponse.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$TimestampResponse.fields);
var jspb$google$internal$waa$v1$ImmutableTimestampResponse = function() {
};
jspb$google$internal$waa$v1$ImmutableTimestampResponse.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$google$internal$waa$v1$MutableTimestampResponse);
jspb$google$internal$waa$v1$ImmutableTimestampResponse.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$google$internal$waa$v1$MutableTimestampResponse);
jspb$google$internal$waa$v1$ImmutableTimestampResponse.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$google$internal$waa$v1$MutableTimestampResponse);
var jspb$o$google$internal$waa$v1$TimestampResponse = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {serializedSignedTimestamp:jspb_internal_adapters.getStringFieldWithDefault(msg, 1)};
  }
}};
jspb$google$internal$waa$v1$MutableTimestampResponse.prototype.toObject = function() {
  return jspb$o$google$internal$waa$v1$TimestampResponse.internal_toObject(this);
};
jspb$o$google$internal$waa$v1$TimestampResponse.fromObject = function(obj) {
  var msg = new jspb$google$internal$waa$v1$MutableTimestampResponse();
  jspb_internal_adapters.setProto3StringField(msg, 1, obj.serializedSignedTimestamp);
  return msg;
};
proto.google.internal.waa.v1.ReadonlyTimestampResponse = {};
proto.google.internal.waa.v1.TimestampResponse = jspb$google$internal$waa$v1$MutableTimestampResponse;
jspb$google$internal$waa$v1$MutableTimestampResponse.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$google$internal$waa$v1$MutableTimestampResponse, jspb$b$google$internal$waa$v1$TimestampResponse.fields);
jspb$google$internal$waa$v1$MutableTimestampResponse.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$google$internal$waa$v1$TimestampResponse.fields);
jspb$google$internal$waa$v1$MutableTimestampResponse.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$google$internal$waa$v1$TimestampResponse.fields);
jspb$google$internal$waa$v1$MutableTimestampResponse.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$google$internal$waa$v1$MutableTimestampResponse, jspb$b$google$internal$waa$v1$TimestampResponse.fields);
jspb$google$internal$waa$v1$MutableTimestampResponse.fromObject = jspb$o$google$internal$waa$v1$TimestampResponse.fromObject;
proto.google.internal.waa.v1.MutableTimestampResponse = jspb$google$internal$waa$v1$MutableTimestampResponse;
jspb$google$internal$waa$v1$ImmutableTimestampResponse.serializeBinary = jspb$google$internal$waa$v1$MutableTimestampResponse.serializeBinary;
jspb$google$internal$waa$v1$ImmutableTimestampResponse.serializeBinaryToByteString = jspb$google$internal$waa$v1$MutableTimestampResponse.serializeBinaryToByteString;
jspb$google$internal$waa$v1$ImmutableTimestampResponse.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$google$internal$waa$v1$MutableTimestampResponse.deserializeBinary);
jspb$google$internal$waa$v1$ImmutableTimestampResponse.makeCrossSerializerComparisonsCompatible = jspb$google$internal$waa$v1$MutableTimestampResponse.makeCrossSerializerComparisonsCompatible;
proto.google.internal.waa.v1.ImmutableTimestampResponse = jspb$google$internal$waa$v1$ImmutableTimestampResponse;
proto.google.internal.waa.v1.waa.GenerateTSMethodDescriptor = new module$exports$google3$javascript$net$grpc$web$methoddescriptor.MethodDescriptor("/google.internal.waa.v1.Waa/GenerateTS", module$exports$google3$javascript$net$grpc$web$methodtype.MethodType.UNARY, jspb$google$internal$waa$v1$MutableTimestampRequest, jspb$google$internal$waa$v1$MutableTimestampResponse, function(v) {
  return v.serialize();
}, jspb$google$internal$waa$v1$MutableTimestampResponse.deserialize);
var jspb$google$protobuf$MutableEmpty = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$protobuf$MutableEmpty, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$protobuf$MutableEmpty.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$protobuf$MutableEmpty);
jspb$google$protobuf$MutableEmpty.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$protobuf$MutableEmpty);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$protobuf$MutableEmpty.internalDoNotUse_debugOnlyProtoTypeName = "google.protobuf.Empty");
var jspb$b$google$protobuf$Empty = {fields:[0]};
jspb$google$protobuf$MutableEmpty.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$protobuf$Empty.fields);
var jspb$google$protobuf$ImmutableEmpty = function() {
};
jspb$google$protobuf$ImmutableEmpty.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$google$protobuf$MutableEmpty);
jspb$google$protobuf$ImmutableEmpty.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$google$protobuf$MutableEmpty);
jspb$google$protobuf$ImmutableEmpty.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$google$protobuf$MutableEmpty);
var jspb$o$google$protobuf$Empty = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {};
  }
}};
jspb$google$protobuf$MutableEmpty.prototype.toObject = function() {
  return jspb$o$google$protobuf$Empty.internal_toObject(this);
};
jspb$o$google$protobuf$Empty.fromObject = function() {
  return new jspb$google$protobuf$MutableEmpty();
};
proto.google.protobuf = {};
proto.google.protobuf.ReadonlyEmpty = {};
proto.google.protobuf.Empty = jspb$google$protobuf$MutableEmpty;
jspb$google$protobuf$MutableEmpty.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$google$protobuf$MutableEmpty, jspb$b$google$protobuf$Empty.fields);
jspb$google$protobuf$MutableEmpty.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$google$protobuf$Empty.fields);
jspb$google$protobuf$MutableEmpty.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$google$protobuf$Empty.fields);
jspb$google$protobuf$MutableEmpty.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$google$protobuf$MutableEmpty, jspb$b$google$protobuf$Empty.fields);
jspb$google$protobuf$MutableEmpty.fromObject = jspb$o$google$protobuf$Empty.fromObject;
proto.google.protobuf.MutableEmpty = jspb$google$protobuf$MutableEmpty;
jspb$google$protobuf$ImmutableEmpty.serializeBinary = jspb$google$protobuf$MutableEmpty.serializeBinary;
jspb$google$protobuf$ImmutableEmpty.serializeBinaryToByteString = jspb$google$protobuf$MutableEmpty.serializeBinaryToByteString;
jspb$google$protobuf$ImmutableEmpty.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$google$protobuf$MutableEmpty.deserializeBinary);
jspb$google$protobuf$ImmutableEmpty.makeCrossSerializerComparisonsCompatible = jspb$google$protobuf$MutableEmpty.makeCrossSerializerComparisonsCompatible;
proto.google.protobuf.ImmutableEmpty = jspb$google$protobuf$ImmutableEmpty;
proto.google.internal.waa.v1.waa.PingMethodDescriptor = new module$exports$google3$javascript$net$grpc$web$methoddescriptor.MethodDescriptor("/google.internal.waa.v1.Waa/Ping", module$exports$google3$javascript$net$grpc$web$methodtype.MethodType.UNARY, jspb$google$internal$waa$v1$MutablePingRequest, jspb$google$protobuf$MutableEmpty, function(v) {
  return v.serialize();
}, jspb$google$protobuf$MutableEmpty.deserialize);
var module$contents$google3$javascript$net$grpc$web$authutil_FIRST_PARTY_AUTH_SCHEMES = new Set(["SAPISIDHASH", "APISIDHASH"]);
grpc.web.ClientReadableStream = function() {
};
var module$exports$google3$javascript$net$grpc$web$clientunarycallimpl = {ClientUnaryCallImpl:function(stream) {
  this.stream = stream;
}};
module$exports$google3$javascript$net$grpc$web$clientunarycallimpl.ClientUnaryCallImpl.prototype.on = function(eventType, callback) {
  return eventType === "data" || eventType === "error" ? this : this.stream.on(eventType, callback);
};
module$exports$google3$javascript$net$grpc$web$clientunarycallimpl.ClientUnaryCallImpl.prototype.removeListener = function(eventType, callback) {
  return this.stream.removeListener(eventType, callback);
};
module$exports$google3$javascript$net$grpc$web$clientunarycallimpl.ClientUnaryCallImpl.prototype.cancel = function() {
  this.stream.cancel();
};
grpc.web.ClientUnaryCallImpl = module$exports$google3$javascript$net$grpc$web$clientunarycallimpl.ClientUnaryCallImpl;
grpc.web.Interceptor = {};
grpc.web.Interceptor.UnaryInterceptor = function() {
};
grpc.web.Interceptor.StreamInterceptor = function() {
};
var module$exports$grpc$web$promise = {};
module$exports$grpc$web$promise.GrpcWebPromise = Promise;
grpc.web.Request = function() {
};
var jspb$google$protobuf$MutableAny = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$protobuf$MutableAny, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$protobuf$MutableAny.prototype.getTypeName = function() {
  return (0,jspb_internal_adapters.getStringFieldWithDefault)(this, 1).split("/").pop();
};
jspb$google$protobuf$MutableAny.prototype.getValue = function() {
  var value = (0,jspb_internal_adapters.getFieldNullable)(this, 2);
  if (Array.isArray(value) || value instanceof module$exports$jspb.Message) {
    throw Error("Cannot access the Any.value field on Any protos encoded using the jspb format, call unpackJspb instead");
  }
  return (0,jspb_internal_adapters.getBytesFieldWithDefault)(this, 2);
};
jspb$google$protobuf$MutableAny.prototype.jspbInternalDoNotUseAnyMarker = function() {
  return module$exports$jspb$internal.ANY_PROTOTYPE_MARKER_VALUE;
};
jspb$google$protobuf$MutableAny.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$protobuf$MutableAny);
jspb$google$protobuf$MutableAny.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$protobuf$MutableAny);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$protobuf$MutableAny.internalDoNotUse_debugOnlyProtoTypeName = "google.protobuf.Any");
var jspb$b$google$protobuf$Any = {};
jspb$b$google$protobuf$Any.fields = [0, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString, jspb_internal_binary.RBytesIgnoringDefaultWAnyValueBytes];
jspb$google$protobuf$MutableAny.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$protobuf$Any.fields);
var jspb$google$rpc$MutableStatus = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$google$rpc$MutableStatus, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$google$rpc$MutableStatus.prototype.getCode = function() {
  return jspb_internal_adapters.getInt32FieldWithDefault(this, 1);
};
jspb$google$rpc$MutableStatus.prototype.setCode = function(value) {
  return jspb_internal_adapters.setProto3Int32Field(this, 1, value);
};
jspb$google$rpc$MutableStatus.prototype.getMessage = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 2);
};
jspb$google$rpc$MutableStatus.prototype.clearMessage = function() {
  return jspb_internal_adapters.clearField(this, 2);
};
jspb$google$rpc$MutableStatus.prototype.getDetailsList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$google$protobuf$MutableAny, 3, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$google$rpc$MutableStatus.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$google$rpc$MutableStatus);
jspb$google$rpc$MutableStatus.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$google$rpc$MutableStatus);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$google$rpc$MutableStatus.internalDoNotUse_debugOnlyProtoTypeName = "google.rpc.Status");
var jspb$b$google$rpc$Status = {};
jspb$b$google$rpc$Status.fields = [0, jspb_internal_binary.RInt32IgnoringDefaultWInt32, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString, jspb_internal_binary.RWRepeatedMessage, jspb$b$google$protobuf$Any.fields];
jspb$google$rpc$MutableStatus.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$google$rpc$Status.fields);
var jspb$google$rpc$ImmutableStatus = function() {
};
jspb$google$rpc$ImmutableStatus.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$google$rpc$MutableStatus);
jspb$google$rpc$ImmutableStatus.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$google$rpc$MutableStatus);
jspb$google$rpc$ImmutableStatus.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$google$rpc$MutableStatus);
var jspb$o$google$protobuf$Any = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {typeUrl:jspb_internal_adapters.getStringFieldWithDefault(msg, 1), value:module$contents$jspb$internal_dump_toObjectAnyValue(msg)};
  }
}};
jspb$google$protobuf$MutableAny.prototype.toObject = function() {
  return jspb$o$google$protobuf$Any.internal_toObject(this);
};
jspb$o$google$protobuf$Any.fromObject = function(obj) {
  var msg = new jspb$google$protobuf$MutableAny();
  jspb_internal_adapters.setProto3StringField(msg, 1, obj.typeUrl);
  var value = obj.value;
  (0,goog.asserts.assert)(msg && module$contents$jspb$internal_isMessage(msg));
  if (value != null) {
    if (Array.isArray(value)) {
      (0,jspb_internal_adapters.setField)(msg, 2, module$contents$jspb$internal_copy_cloneToJsonFormat(value));
    } else {
      if (typeof value === "string" || value instanceof module$exports$jspb$bytestring.ByteString || module$contents$jspb$internal_bytes_isU8(value)) {
        (0,jspb_internal_adapters.setProto3BytesField)(msg, 2, value);
      } else {
        throw Error("invalid value in Any.value field: " + value + " expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");
      }
    }
  }
  return msg;
};
var jspb$o$google$rpc$Status = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {code:jspb_internal_adapters.getInt32FieldWithDefault(msg, 1), message:jspb_internal_adapters.getStringFieldWithDefault(msg, 2), detailsList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getDetailsList(), jspb$o$google$protobuf$Any.internal_toObject)};
  }
}};
jspb$google$rpc$MutableStatus.prototype.toObject = function() {
  return jspb$o$google$rpc$Status.internal_toObject(this);
};
jspb$o$google$rpc$Status.fromObject = function(obj) {
  var msg = new jspb$google$rpc$MutableStatus();
  jspb_internal_adapters.setProto3Int32Field(msg, 1, obj.code);
  jspb_internal_adapters.setProto3StringField(msg, 2, obj.message);
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$google$protobuf$MutableAny, 3, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.detailsList, jspb$o$google$protobuf$Any.fromObject));
  return msg;
};
proto.google.rpc = {};
proto.google.rpc.ReadonlyStatus = {};
proto.google.rpc.Status = jspb$google$rpc$MutableStatus;
jspb$google$rpc$MutableStatus.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$google$rpc$MutableStatus, jspb$b$google$rpc$Status.fields);
jspb$google$rpc$MutableStatus.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$google$rpc$Status.fields);
jspb$google$rpc$MutableStatus.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$google$rpc$Status.fields);
jspb$google$rpc$MutableStatus.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$google$rpc$MutableStatus, jspb$b$google$rpc$Status.fields);
jspb$google$rpc$MutableStatus.fromObject = jspb$o$google$rpc$Status.fromObject;
proto.google.rpc.MutableStatus = jspb$google$rpc$MutableStatus;
jspb$google$rpc$ImmutableStatus.serializeBinary = jspb$google$rpc$MutableStatus.serializeBinary;
jspb$google$rpc$ImmutableStatus.serializeBinaryToByteString = jspb$google$rpc$MutableStatus.serializeBinaryToByteString;
jspb$google$rpc$ImmutableStatus.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$google$rpc$MutableStatus.deserializeBinary);
jspb$google$rpc$ImmutableStatus.makeCrossSerializerComparisonsCompatible = jspb$google$rpc$MutableStatus.makeCrossSerializerComparisonsCompatible;
proto.google.rpc.ImmutableStatus = jspb$google$rpc$ImmutableStatus;
goog.net.streams = {};
goog.net.streams.NodeReadableStream = function() {
};
goog.net.streams.NodeReadableStream.EventType = {READABLE:"readable", DATA:"data", END:"end", CLOSE:"close", ERROR:"error"};
grpc.web.GenericTransportInterface = {};
grpc.web.Status = {};
grpc.web.Status.Status = function() {
};
var module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream = function(genericTransportInterface, responseDeserializeFn, isBinary) {
  this.isBinary_ = isBinary;
  this.xhrNodeReadableStream_ = genericTransportInterface.nodeReadableStream;
  this.grpcResponseDeserializeFn_ = responseDeserializeFn;
  this.xhr_ = genericTransportInterface.xhr;
  this.onDataCallbacks_ = [];
  this.onMetadataCallbacks_ = [];
  this.onStatusCallbacks_ = [];
  this.onEndCallbacks_ = [];
  this.onErrorCallbacks_ = [];
  this.xhrNodeReadableStream_ && this.setStreamCallback_();
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.setUnaryCallback = function(base64Encoded) {
  var $jscomp$this$2015175714$2 = this;
  goog.events.listen(this.xhr_, goog.net.EventType.COMPLETE, function() {
    if ($jscomp$this$2015175714$2.xhr_.isSuccess()) {
      var response = $jscomp$this$2015175714$2.isBinary_ ? $jscomp$this$2015175714$2.decodeBinaryResponse_(base64Encoded) : $jscomp$this$2015175714$2.decodeJspbResponse_(base64Encoded);
      try {
        var responseMessage = $jscomp$this$2015175714$2.grpcResponseDeserializeFn_(response);
      } catch (e) {
        $jscomp$this$2015175714$2.sendErrorCallbacks_(new module$exports$google3$javascript$net$grpc$web$rpcerror.RpcError(module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.INTERNAL, "Error when deserializing response data; error: " + e + (", response: " + response)));
        return;
      }
      var grpcStatus = module$contents$google3$javascript$net$grpc$web$statuscode_fromHttpStatus($jscomp$this$2015175714$2.xhr_.getStatus());
      $jscomp$this$2015175714$2.sendMetadataCallbacks_($jscomp$this$2015175714$2.readHeaders_());
      grpcStatus == module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.OK ? $jscomp$this$2015175714$2.sendDataCallbacks_(responseMessage) : $jscomp$this$2015175714$2.sendErrorCallbacks_(new module$exports$google3$javascript$net$grpc$web$rpcerror.RpcError(grpcStatus, "Xhr succeeded but the status code is not 200"));
    } else {
      var rawResponse;
      if ($jscomp$this$2015175714$2.isBinary_) {
        var xhrResponse = $jscomp$this$2015175714$2.xhr_.getResponse();
        xhrResponse && (rawResponse = new Uint8Array(xhrResponse));
      } else {
        rawResponse = $jscomp$this$2015175714$2.xhr_.getResponseText();
      }
      var responseHeaders = $jscomp$this$2015175714$2.readHeaders_();
      if (rawResponse) {
        var status = $jscomp$this$2015175714$2.parseRpcStatus_(rawResponse);
        var code = status.code;
        var message = status.details;
        var metadata = status.metadata;
      } else {
        code = module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNKNOWN, message = "Rpc failed due to xhr error. uri: " + $jscomp$this$2015175714$2.xhr_.getLastUri() + ", error code: " + $jscomp$this$2015175714$2.xhr_.lastErrorCode_ + ", error: " + $jscomp$this$2015175714$2.xhr_.getLastError(), metadata = responseHeaders;
      }
      $jscomp$this$2015175714$2.sendMetadataCallbacks_(responseHeaders);
      $jscomp$this$2015175714$2.sendErrorCallbacks_(new module$exports$google3$javascript$net$grpc$web$rpcerror.RpcError(code, message, metadata));
    }
  });
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.setStreamCallback_ = function() {
  var $jscomp$this$2015175714$3 = this;
  this.xhrNodeReadableStream_.on("data", function(data) {
    if ("1" in data) {
      var messageBody = data["1"];
      try {
        var response = $jscomp$this$2015175714$3.grpcResponseDeserializeFn_(messageBody);
      } catch (e) {
        $jscomp$this$2015175714$3.sendErrorCallbacks_(new module$exports$google3$javascript$net$grpc$web$rpcerror.RpcError(module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.INTERNAL, "Error when deserializing response data; error: " + e + (", response: " + messageBody)));
      }
      response && $jscomp$this$2015175714$3.sendDataCallbacks_(response);
    }
    if ("2" in data) {
      var status = $jscomp$this$2015175714$3.parseRpcStatus_(data["2"]);
      $jscomp$this$2015175714$3.sendStatusCallbacks_(status);
    }
  });
  this.xhrNodeReadableStream_.on("end", function() {
    $jscomp$this$2015175714$3.sendMetadataCallbacks_($jscomp$this$2015175714$3.readHeaders_());
    $jscomp$this$2015175714$3.sendEndCallbacks_();
  });
  this.xhrNodeReadableStream_.on("error", function() {
    if ($jscomp$this$2015175714$3.onErrorCallbacks_.length != 0) {
      var lastErrorCode = $jscomp$this$2015175714$3.xhr_.lastErrorCode_;
      lastErrorCode !== goog.net.ErrorCode.NO_ERROR || $jscomp$this$2015175714$3.xhr_.isSuccess() || (lastErrorCode = goog.net.ErrorCode.HTTP_ERROR);
      var xhrStatusCode = -1;
      switch(lastErrorCode) {
        case goog.net.ErrorCode.NO_ERROR:
          var grpcStatusCode = module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNKNOWN;
          break;
        case goog.net.ErrorCode.ABORT:
          grpcStatusCode = module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.ABORTED;
          break;
        case goog.net.ErrorCode.TIMEOUT:
          grpcStatusCode = module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.DEADLINE_EXCEEDED;
          break;
        case goog.net.ErrorCode.HTTP_ERROR:
          xhrStatusCode = $jscomp$this$2015175714$3.xhr_.getStatus();
          grpcStatusCode = module$contents$google3$javascript$net$grpc$web$statuscode_fromHttpStatus(xhrStatusCode);
          break;
        default:
          grpcStatusCode = module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNAVAILABLE;
      }
      $jscomp$this$2015175714$3.sendMetadataCallbacks_($jscomp$this$2015175714$3.readHeaders_());
      var errorMessage = goog.net.ErrorCode.getDebugMessage(lastErrorCode) + ", error: " + $jscomp$this$2015175714$3.xhr_.getLastError();
      xhrStatusCode != -1 && (errorMessage += ", http status code: " + xhrStatusCode);
      $jscomp$this$2015175714$3.sendErrorCallbacks_(new module$exports$google3$javascript$net$grpc$web$rpcerror.RpcError(grpcStatusCode, errorMessage));
    }
  });
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.decodeJspbResponse_ = function(base64Encoded) {
  var responseText = this.xhr_.getResponseText();
  if (base64Encoded && this.xhr_.getResponseHeader(goog.net.XhrIo.CONTENT_TYPE_HEADER) === "text/plain") {
    if (!atob) {
      throw Error("Cannot decode Base64 response");
    }
    responseText = atob(responseText);
  }
  return responseText;
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.decodeBinaryResponse_ = function(base64Encoded) {
  if (base64Encoded && this.xhr_.getResponseHeader("X-Goog-Safety-Encoding") == "base64") {
    for (var bytes = new Uint8Array(this.xhr_.getResponse()), byteSource = "", i = 0; i < bytes.length; i++) {
      byteSource += String.fromCharCode(bytes[i]);
    }
    return byteSource;
  }
  return this.xhr_.getResponse();
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.readHeaders_ = function() {
  var initialMetadata = {}, responseHeaders = this.xhr_.getResponseHeaders();
  Object.keys(responseHeaders).forEach(function(header) {
    initialMetadata[header] = responseHeaders[header];
  });
  return initialMetadata;
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.parseRpcStatus_ = function(data) {
  var code = module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNKNOWN, metadata = {};
  try {
    if (this.isBinary_) {
      var rpcStatus = jspb$google$rpc$MutableStatus.deserializeBinary(data);
    } else {
      goog.asserts.assertString(data, "RPC status must be string in gRPC-Web jspb mode."), rpcStatus = jspb$google$rpc$MutableStatus.deserialize(data);
    }
    code = rpcStatus.getCode();
    var message = rpcStatus.getMessage();
    rpcStatus.getDetailsList().length && (metadata["grpc-web-status-details-bin"] = data);
  } catch (e) {
    this.xhr_ && this.xhr_.getStatus() === 404 ? (code = module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.NOT_FOUND, message = "Not Found: " + this.xhr_.getLastUri()) : (code = module$exports$google3$javascript$net$grpc$web$statuscode.StatusCode.UNAVAILABLE, message = "Unable to parse RpcStatus: " + e);
  }
  return {code:code, details:message, metadata:metadata};
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.on = function(eventType, callback) {
  eventType == "data" ? this.onDataCallbacks_.push(callback) : eventType == "metadata" ? this.onMetadataCallbacks_.push(callback) : eventType == "status" ? this.onStatusCallbacks_.push(callback) : eventType == "end" ? this.onEndCallbacks_.push(callback) : eventType == "error" && this.onErrorCallbacks_.push(callback);
  return this;
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.removeListenerFromCallbacks_ = function(callbacks, callback) {
  var index = callbacks.indexOf(callback);
  index > -1 && callbacks.splice(index, 1);
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.removeListener = function(eventType, callback) {
  eventType == "data" ? this.removeListenerFromCallbacks_(this.onDataCallbacks_, callback) : eventType == "metadata" ? this.removeListenerFromCallbacks_(this.onMetadataCallbacks_, callback) : eventType == "status" ? this.removeListenerFromCallbacks_(this.onStatusCallbacks_, callback) : eventType == "end" ? this.removeListenerFromCallbacks_(this.onEndCallbacks_, callback) : eventType == "error" && this.removeListenerFromCallbacks_(this.onErrorCallbacks_, callback);
  return this;
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.cancel = function() {
  this.xhr_.abort();
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.sendDataCallbacks_ = function(data) {
  for (var i = 0; i < this.onDataCallbacks_.length; i++) {
    this.onDataCallbacks_[i](data);
  }
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.sendMetadataCallbacks_ = function(metadata) {
  for (var i = 0; i < this.onMetadataCallbacks_.length; i++) {
    this.onMetadataCallbacks_[i](metadata);
  }
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.sendStatusCallbacks_ = function(status) {
  for (var i = 0; i < this.onStatusCallbacks_.length; i++) {
    this.onStatusCallbacks_[i](status);
  }
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.sendErrorCallbacks_ = function(error) {
  for (var i = 0; i < this.onErrorCallbacks_.length; i++) {
    this.onErrorCallbacks_[i](error);
  }
};
module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.sendEndCallbacks_ = function() {
  for (var i = 0; i < this.onEndCallbacks_.length; i++) {
    this.onEndCallbacks_[i]();
  }
};
goog.exportProperty(module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype, "cancel", module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.cancel);
goog.exportProperty(module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype, "removeListener", module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.removeListener);
goog.exportProperty(module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype, "on", module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream.prototype.on);
grpc.web.StreamBodyClientReadableStream = module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream;
goog.net.FetchXmlHttpFactoryOptions = function() {
};
goog.net.FetchXmlHttpFactory = function(opts) {
  this.worker_ = opts.worker || null;
  this.streamBinaryChunks_ = opts.streamBinaryChunks || !1;
  this.cacheMode_ = this.credentialsMode_ = void 0;
};
goog.inherits(goog.net.FetchXmlHttpFactory, goog.net.XmlHttpFactory);
goog.net.FetchXmlHttpFactory.prototype.createInstance = function() {
  var instance = new goog.net.FetchXmlHttp(this.worker_, this.streamBinaryChunks_);
  this.credentialsMode_ && instance.setCredentialsMode(this.credentialsMode_);
  this.cacheMode_ && instance.setCacheMode(this.cacheMode_);
  return instance;
};
goog.net.FetchXmlHttpFactory.prototype.setCredentialsMode = function(credentialsMode) {
  this.credentialsMode_ = credentialsMode;
};
goog.net.FetchXmlHttpFactory.prototype.setCacheMode = function(cacheMode) {
  this.cacheMode_ = cacheMode;
};
goog.net.FetchXmlHttp = function(worker, streamBinaryChunks) {
  goog.events.EventTarget.call(this);
  this.worker_ = worker;
  this.streamBinaryChunks_ = streamBinaryChunks;
  this.cacheMode_ = this.credentialsMode_ = void 0;
  this.readyState = goog.net.FetchXmlHttp.RequestState.UNSENT;
  this.status = 0;
  this.responseType = this.responseText = this.response = this.statusText = "";
  this.onreadystatechange = this.responseXML = null;
  this.requestHeaders_ = new Headers();
  this.responseHeaders_ = null;
  this.method_ = "GET";
  this.url_ = "";
  this.inProgress_ = !1;
  this.logger_ = goog.log.getLogger("goog.net.FetchXmlHttp");
  this.textDecoder_ = this.currentReader_ = this.fetchResponse_ = null;
};
goog.inherits(goog.net.FetchXmlHttp, goog.events.EventTarget);
goog.net.FetchXmlHttp.RequestState = {UNSENT:0, OPENED:1, HEADER_RECEIVED:2, LOADING:3, DONE:4};
goog.net.FetchXmlHttp.prototype.open = function(method, url, opt_async) {
  goog.asserts.assert(!!opt_async, "Only async requests are supported.");
  if (this.readyState != goog.net.FetchXmlHttp.RequestState.UNSENT) {
    throw this.abort(), Error("Error reopening a connection");
  }
  this.method_ = method;
  this.url_ = url;
  this.readyState = goog.net.FetchXmlHttp.RequestState.OPENED;
  this.dispatchCallback_();
};
goog.net.FetchXmlHttp.prototype.send = function(opt_data) {
  if (this.readyState != goog.net.FetchXmlHttp.RequestState.OPENED) {
    throw this.abort(), Error("need to call open() first. ");
  }
  this.inProgress_ = !0;
  var requestInit = {headers:this.requestHeaders_, method:this.method_, credentials:this.credentialsMode_, cache:this.cacheMode_};
  opt_data && (requestInit.body = opt_data);
  (this.worker_ || goog.global).fetch(new Request(this.url_, requestInit)).then(this.handleResponse_.bind(this), this.handleSendFailure_.bind(this));
};
goog.net.FetchXmlHttp.prototype.abort = function() {
  var $jscomp$this$2086942265$9 = this;
  this.response = this.responseText = "";
  this.requestHeaders_ = new Headers();
  this.status = 0;
  this.currentReader_ && this.currentReader_.cancel("Request was aborted.").catch(function(e) {
    return goog.log.warning($jscomp$this$2086942265$9.logger_, "Fetch reader cancellation error.", e);
  });
  this.readyState >= goog.net.FetchXmlHttp.RequestState.OPENED && this.inProgress_ && this.readyState != goog.net.FetchXmlHttp.RequestState.DONE && (this.inProgress_ = !1, this.requestDone_());
  this.readyState = goog.net.FetchXmlHttp.RequestState.UNSENT;
};
goog.net.FetchXmlHttp.prototype.handleResponse_ = function(response) {
  if (this.inProgress_ && (this.fetchResponse_ = response, this.responseHeaders_ || (this.status = this.fetchResponse_.status, this.statusText = this.fetchResponse_.statusText, this.responseHeaders_ = response.headers, this.readyState = goog.net.FetchXmlHttp.RequestState.HEADER_RECEIVED, this.dispatchCallback_()), this.inProgress_ && (this.readyState = goog.net.FetchXmlHttp.RequestState.LOADING, this.dispatchCallback_(), this.inProgress_))) {
    if (this.responseType === "arraybuffer") {
      response.arrayBuffer().then(this.handleResponseArrayBuffer_.bind(this), this.handleSendFailure_.bind(this));
    } else if (typeof goog.global.ReadableStream !== "undefined" && "body" in response) {
      this.currentReader_ = response.body.getReader();
      if (this.streamBinaryChunks_) {
        if (this.responseType) {
          throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');
        }
        this.response = [];
      } else {
        this.response = this.responseText = "", this.textDecoder_ = new TextDecoder();
      }
      this.readInputFromFetch_();
    } else {
      response.text().then(this.handleResponseText_.bind(this), this.handleSendFailure_.bind(this));
    }
  }
};
goog.net.FetchXmlHttp.prototype.readInputFromFetch_ = function() {
  this.currentReader_.read().then(this.handleDataFromStream_.bind(this)).catch(this.handleSendFailure_.bind(this));
};
goog.net.FetchXmlHttp.prototype.handleDataFromStream_ = function(result) {
  if (this.inProgress_) {
    if (this.streamBinaryChunks_ && result.value) {
      this.response.push(result.value);
    } else if (!this.streamBinaryChunks_) {
      var dataPacket = result.value ? result.value : new Uint8Array(0), newText = this.textDecoder_.decode(dataPacket, {stream:!result.done});
      newText && (this.response = this.responseText += newText);
    }
    result.done ? this.requestDone_() : this.dispatchCallback_();
    this.readyState == goog.net.FetchXmlHttp.RequestState.LOADING && this.readInputFromFetch_();
  }
};
goog.net.FetchXmlHttp.prototype.handleResponseText_ = function(responseText) {
  this.inProgress_ && (this.response = this.responseText = responseText, this.requestDone_());
};
goog.net.FetchXmlHttp.prototype.handleResponseArrayBuffer_ = function(responseArrayBuffer) {
  this.inProgress_ && (this.response = responseArrayBuffer, this.requestDone_());
};
goog.net.FetchXmlHttp.prototype.handleSendFailure_ = function(error) {
  goog.log.warning(this.logger_, "Failed to fetch url " + this.url_, error instanceof Error ? error : Error(error));
  this.inProgress_ && this.requestDone_();
};
goog.net.FetchXmlHttp.prototype.requestDone_ = function() {
  this.readyState = goog.net.FetchXmlHttp.RequestState.DONE;
  this.textDecoder_ = this.currentReader_ = this.fetchResponse_ = null;
  this.dispatchCallback_();
};
goog.net.FetchXmlHttp.prototype.setRequestHeader = function(header, value) {
  this.requestHeaders_.append(header, value);
};
goog.net.FetchXmlHttp.prototype.getResponseHeader = function(header) {
  return this.responseHeaders_ ? this.responseHeaders_.get(header.toLowerCase()) || "" : (goog.log.warning(this.logger_, "Attempting to get response header but no headers have been received for url: " + this.url_), "");
};
goog.net.FetchXmlHttp.prototype.getAllResponseHeaders = function() {
  if (!this.responseHeaders_) {
    return goog.log.warning(this.logger_, "Attempting to get all response headers but no headers have been received for url: " + this.url_), "";
  }
  for (var lines = [], iter = this.responseHeaders_.entries(), entry = iter.next(); !entry.done;) {
    var pair = entry.value;
    lines.push(pair[0] + ": " + pair[1]);
    entry = iter.next();
  }
  return lines.join("\r\n");
};
goog.net.FetchXmlHttp.prototype.setCredentialsMode = function(credentialsMode) {
  this.credentialsMode_ = credentialsMode;
};
goog.net.FetchXmlHttp.prototype.setCacheMode = function(cacheMode) {
  this.cacheMode_ = cacheMode;
};
goog.net.FetchXmlHttp.prototype.dispatchCallback_ = function() {
  this.onreadystatechange && this.onreadystatechange.call(this);
};
Object.defineProperty(goog.net.FetchXmlHttp.prototype, "withCredentials", {get:function() {
  return this.credentialsMode_ === "include";
}, set:function(value) {
  this.setCredentialsMode(value ? "include" : "same-origin");
}});
goog.structs = {};
goog.structs.getCount = function(col) {
  return col.getCount && typeof col.getCount == "function" ? col.getCount() : goog.isArrayLike(col) || typeof col === "string" ? col.length : module$contents$goog$object_getCount(col);
};
goog.structs.getValues = function(col) {
  if (col.getValues && typeof col.getValues == "function") {
    return col.getValues();
  }
  if (typeof Map !== "undefined" && col instanceof Map || typeof Set !== "undefined" && col instanceof Set) {
    return Array.from(col.values());
  }
  if (typeof col === "string") {
    return col.split("");
  }
  if (goog.isArrayLike(col)) {
    for (var rv = [], l = col.length, i = 0; i < l; i++) {
      rv.push(col[i]);
    }
    return rv;
  }
  return module$contents$goog$object_getValues(col);
};
goog.structs.getKeys = function(col) {
  if (col.getKeys && typeof col.getKeys == "function") {
    return col.getKeys();
  }
  if (!col.getValues || typeof col.getValues != "function") {
    if (typeof Map !== "undefined" && col instanceof Map) {
      return Array.from(col.keys());
    }
    if (!(typeof Set !== "undefined" && col instanceof Set)) {
      if (goog.isArrayLike(col) || typeof col === "string") {
        for (var rv = [], l = col.length, i = 0; i < l; i++) {
          rv.push(i);
        }
        return rv;
      }
      return module$contents$goog$object_getKeys(col);
    }
  }
};
goog.structs.contains = function(col, val) {
  return col.contains && typeof col.contains == "function" ? col.contains(val) : col.containsValue && typeof col.containsValue == "function" ? col.containsValue(val) : goog.isArrayLike(col) || typeof col === "string" ? module$contents$goog$array_contains(col, val) : module$contents$goog$object_containsValue(col, val);
};
goog.structs.isEmpty = function(col) {
  return col.isEmpty && typeof col.isEmpty == "function" ? col.isEmpty() : goog.isArrayLike(col) || typeof col === "string" ? col.length === 0 : module$contents$goog$object_isEmpty(col);
};
goog.structs.clear = function(col) {
  col.clear && typeof col.clear == "function" ? col.clear() : goog.isArrayLike(col) ? module$contents$goog$array_clear(col) : module$contents$goog$object_clear(col);
};
goog.structs.forEach = function(col, f, opt_obj) {
  if (col.forEach && typeof col.forEach == "function") {
    col.forEach(f, opt_obj);
  } else if (goog.isArrayLike(col) || typeof col === "string") {
    Array.prototype.forEach.call(col, f, opt_obj);
  } else {
    for (var keys = goog.structs.getKeys(col), values = goog.structs.getValues(col), l = values.length, i = 0; i < l; i++) {
      f.call(opt_obj, values[i], keys && keys[i], col);
    }
  }
};
goog.structs.filter = function(col, f, opt_obj) {
  if (typeof col.filter == "function") {
    return col.filter(f, opt_obj);
  }
  if (goog.isArrayLike(col) || typeof col === "string") {
    return Array.prototype.filter.call(col, f, opt_obj);
  }
  var keys = goog.structs.getKeys(col), values = goog.structs.getValues(col), l = values.length;
  if (keys) {
    var rv = {};
    for (var i = 0; i < l; i++) {
      f.call(opt_obj, values[i], keys[i], col) && (rv[keys[i]] = values[i]);
    }
  } else {
    rv = [];
    for (var i$jscomp$0 = 0; i$jscomp$0 < l; i$jscomp$0++) {
      f.call(opt_obj, values[i$jscomp$0], void 0, col) && rv.push(values[i$jscomp$0]);
    }
  }
  return rv;
};
goog.structs.map = function(col, f, opt_obj) {
  if (typeof col.map == "function") {
    return col.map(f, opt_obj);
  }
  if (goog.isArrayLike(col) || typeof col === "string") {
    return Array.prototype.map.call(col, f, opt_obj);
  }
  var keys = goog.structs.getKeys(col), values = goog.structs.getValues(col), l = values.length;
  if (keys) {
    var rv = {};
    for (var i = 0; i < l; i++) {
      rv[keys[i]] = f.call(opt_obj, values[i], keys[i], col);
    }
  } else {
    rv = [];
    for (var i$jscomp$0 = 0; i$jscomp$0 < l; i$jscomp$0++) {
      rv[i$jscomp$0] = f.call(opt_obj, values[i$jscomp$0], void 0, col);
    }
  }
  return rv;
};
goog.structs.some = function(col, f, opt_obj) {
  if (typeof col.some == "function") {
    return col.some(f, opt_obj);
  }
  if (goog.isArrayLike(col) || typeof col === "string") {
    return Array.prototype.some.call(col, f, opt_obj);
  }
  for (var keys = goog.structs.getKeys(col), values = goog.structs.getValues(col), l = values.length, i = 0; i < l; i++) {
    if (f.call(opt_obj, values[i], keys && keys[i], col)) {
      return !0;
    }
  }
  return !1;
};
goog.structs.every = function(col, f, opt_obj) {
  if (typeof col.every == "function") {
    return col.every(f, opt_obj);
  }
  if (goog.isArrayLike(col) || typeof col === "string") {
    return Array.prototype.every.call(col, f, opt_obj);
  }
  for (var keys = goog.structs.getKeys(col), values = goog.structs.getValues(col), l = values.length, i = 0; i < l; i++) {
    if (!f.call(opt_obj, values[i], keys && keys[i], col)) {
      return !1;
    }
  }
  return !0;
};
goog.Uri = function(opt_uri, opt_ignoreCase) {
  this.domain_ = this.userInfo_ = this.scheme_ = "";
  this.port_ = null;
  this.fragment_ = this.path_ = "";
  this.ignoreCase_ = this.isReadOnly_ = !1;
  var m;
  opt_uri instanceof goog.Uri ? (this.ignoreCase_ = opt_ignoreCase !== void 0 ? opt_ignoreCase : opt_uri.ignoreCase_, this.setScheme(opt_uri.getScheme()), this.setUserInfo(opt_uri.getUserInfo()), this.setDomain(opt_uri.getDomain()), this.setPort(opt_uri.getPort()), this.setPath(opt_uri.getPath()), this.setQueryData(opt_uri.getQueryData().clone()), this.setFragment(opt_uri.getFragment())) : opt_uri && (m = goog.uri.utils.split(String(opt_uri))) ? (this.ignoreCase_ = !!opt_ignoreCase, this.setScheme(m[goog.uri.utils.ComponentIndex.SCHEME] || 
  "", !0), this.setUserInfo(m[goog.uri.utils.ComponentIndex.USER_INFO] || "", !0), this.setDomain(m[goog.uri.utils.ComponentIndex.DOMAIN] || "", !0), this.setPort(m[goog.uri.utils.ComponentIndex.PORT]), this.setPath(m[goog.uri.utils.ComponentIndex.PATH] || "", !0), this.setQueryData(m[goog.uri.utils.ComponentIndex.QUERY_DATA] || "", !0), this.setFragment(m[goog.uri.utils.ComponentIndex.FRAGMENT] || "", !0)) : (this.ignoreCase_ = !!opt_ignoreCase, this.queryData_ = new goog.Uri.QueryData(null, this.ignoreCase_));
};
goog.Uri.RANDOM_PARAM = goog.uri.utils.StandardQueryParam.RANDOM;
goog.Uri.prototype.toString = function() {
  var out = [], scheme = this.getScheme();
  scheme && out.push(goog.Uri.encodeSpecialChars_(scheme, goog.Uri.reDisallowedInSchemeOrUserInfo_, !0), ":");
  var domain = this.getDomain();
  if (domain || scheme == "file") {
    out.push("//");
    var userInfo = this.getUserInfo();
    userInfo && out.push(goog.Uri.encodeSpecialChars_(userInfo, goog.Uri.reDisallowedInSchemeOrUserInfo_, !0), "@");
    out.push(goog.Uri.removeDoubleEncoding_(goog.string.urlEncode(domain)));
    var port = this.getPort();
    port != null && out.push(":", String(port));
  }
  var path = this.getPath();
  path && (this.hasDomain() && path.charAt(0) != "/" && out.push("/"), out.push(goog.Uri.encodeSpecialChars_(path, path.charAt(0) == "/" ? goog.Uri.reDisallowedInAbsolutePath_ : goog.Uri.reDisallowedInRelativePath_, !0)));
  var query = this.getEncodedQuery();
  query && out.push("?", query);
  var fragment = this.getFragment();
  fragment && out.push("#", goog.Uri.encodeSpecialChars_(fragment, goog.Uri.reDisallowedInFragment_));
  return out.join("");
};
goog.Uri.prototype.resolve = function(relativeUri) {
  var absoluteUri = this.clone(), overridden = relativeUri.hasScheme();
  overridden ? absoluteUri.setScheme(relativeUri.getScheme()) : overridden = relativeUri.hasUserInfo();
  overridden ? absoluteUri.setUserInfo(relativeUri.getUserInfo()) : overridden = relativeUri.hasDomain();
  overridden ? absoluteUri.setDomain(relativeUri.getDomain()) : overridden = relativeUri.hasPort();
  var path = relativeUri.getPath();
  if (overridden) {
    absoluteUri.setPort(relativeUri.getPort());
  } else {
    if (overridden = relativeUri.hasPath()) {
      if (path.charAt(0) != "/") {
        if (this.hasDomain() && !this.hasPath()) {
          path = "/" + path;
        } else {
          var lastSlashIndex = absoluteUri.getPath().lastIndexOf("/");
          lastSlashIndex != -1 && (path = absoluteUri.getPath().slice(0, lastSlashIndex + 1) + path);
        }
      }
      path = goog.Uri.removeDotSegments(path);
    }
  }
  overridden ? absoluteUri.setPath(path) : overridden = relativeUri.hasQuery();
  overridden ? absoluteUri.setQueryData(relativeUri.getQueryData().clone()) : overridden = relativeUri.hasFragment();
  overridden && absoluteUri.setFragment(relativeUri.getFragment());
  return absoluteUri;
};
goog.Uri.prototype.clone = function() {
  return new goog.Uri(this);
};
goog.Uri.prototype.getScheme = function() {
  return this.scheme_;
};
goog.Uri.prototype.setScheme = function(newScheme, opt_decode) {
  this.enforceReadOnly();
  if (this.scheme_ = opt_decode ? goog.Uri.decodeOrEmpty_(newScheme, !0) : newScheme) {
    this.scheme_ = this.scheme_.replace(/:$/, "");
  }
  return this;
};
goog.Uri.prototype.hasScheme = function() {
  return !!this.scheme_;
};
goog.Uri.prototype.getUserInfo = function() {
  return this.userInfo_;
};
goog.Uri.prototype.setUserInfo = function(newUserInfo, opt_decode) {
  this.enforceReadOnly();
  this.userInfo_ = opt_decode ? goog.Uri.decodeOrEmpty_(newUserInfo) : newUserInfo;
  return this;
};
goog.Uri.prototype.hasUserInfo = function() {
  return !!this.userInfo_;
};
goog.Uri.prototype.getDomain = function() {
  return this.domain_;
};
goog.Uri.prototype.setDomain = function(newDomain, opt_decode) {
  this.enforceReadOnly();
  this.domain_ = opt_decode ? goog.Uri.decodeOrEmpty_(newDomain, !0) : newDomain;
  return this;
};
goog.Uri.prototype.hasDomain = function() {
  return !!this.domain_;
};
goog.Uri.prototype.getPort = function() {
  return this.port_;
};
goog.Uri.prototype.setPort = function(newPort) {
  this.enforceReadOnly();
  if (newPort) {
    newPort = Number(newPort);
    if (isNaN(newPort) || newPort < 0) {
      throw Error("Bad port number " + newPort);
    }
    this.port_ = newPort;
  } else {
    this.port_ = null;
  }
  return this;
};
goog.Uri.prototype.hasPort = function() {
  return this.port_ != null;
};
goog.Uri.prototype.getPath = function() {
  return this.path_;
};
goog.Uri.prototype.setPath = function(newPath, opt_decode) {
  this.enforceReadOnly();
  this.path_ = opt_decode ? goog.Uri.decodeOrEmpty_(newPath, !0) : newPath;
  return this;
};
goog.Uri.prototype.hasPath = function() {
  return !!this.path_;
};
goog.Uri.prototype.hasQuery = function() {
  return this.queryData_.toString() !== "";
};
goog.Uri.prototype.setQueryData = function(queryData, opt_decode) {
  this.enforceReadOnly();
  queryData instanceof goog.Uri.QueryData ? (this.queryData_ = queryData, this.queryData_.setIgnoreCase(this.ignoreCase_)) : (opt_decode || (queryData = goog.Uri.encodeSpecialChars_(queryData, goog.Uri.reDisallowedInQuery_)), this.queryData_ = new goog.Uri.QueryData(queryData, this.ignoreCase_));
  return this;
};
goog.Uri.prototype.getEncodedQuery = function() {
  return this.queryData_.toString();
};
goog.Uri.prototype.getQueryData = function() {
  return this.queryData_;
};
goog.Uri.prototype.getQuery = function() {
  return this.getEncodedQuery();
};
goog.Uri.prototype.setParameterValue = function(key, value) {
  this.enforceReadOnly();
  this.queryData_.set(key, value);
  return this;
};
goog.Uri.prototype.getFragment = function() {
  return this.fragment_;
};
goog.Uri.prototype.setFragment = function(newFragment, opt_decode) {
  this.enforceReadOnly();
  this.fragment_ = opt_decode ? goog.Uri.decodeOrEmpty_(newFragment) : newFragment;
  return this;
};
goog.Uri.prototype.hasFragment = function() {
  return !!this.fragment_;
};
goog.Uri.prototype.makeUnique = function() {
  this.enforceReadOnly();
  this.setParameterValue(goog.Uri.RANDOM_PARAM, goog.string.getRandomString());
  return this;
};
goog.Uri.prototype.removeParameter = function(key) {
  this.enforceReadOnly();
  this.queryData_.remove(key);
  return this;
};
goog.Uri.prototype.enforceReadOnly = function() {
  if (this.isReadOnly_) {
    throw Error("Tried to modify a read-only Uri");
  }
};
goog.Uri.prototype.setIgnoreCase = function(ignoreCase) {
  this.ignoreCase_ = ignoreCase;
  this.queryData_ && this.queryData_.setIgnoreCase(ignoreCase);
  return this;
};
goog.Uri.parse = function(uri, opt_ignoreCase) {
  return uri instanceof goog.Uri ? uri.clone() : new goog.Uri(uri, opt_ignoreCase);
};
goog.Uri.create = function(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_query, opt_fragment, opt_ignoreCase) {
  var uri = new goog.Uri(null, opt_ignoreCase);
  opt_scheme && uri.setScheme(opt_scheme);
  opt_userInfo && uri.setUserInfo(opt_userInfo);
  opt_domain && uri.setDomain(opt_domain);
  opt_port && uri.setPort(opt_port);
  opt_path && uri.setPath(opt_path);
  opt_query && uri.setQueryData(opt_query);
  opt_fragment && uri.setFragment(opt_fragment);
  return uri;
};
goog.Uri.resolve = function(base, rel) {
  base instanceof goog.Uri || (base = goog.Uri.parse(base));
  rel instanceof goog.Uri || (rel = goog.Uri.parse(rel));
  return base.resolve(rel);
};
goog.Uri.removeDotSegments = function(path) {
  if (path == ".." || path == ".") {
    return "";
  }
  if (goog.string.contains(path, "./") || goog.string.contains(path, "/.")) {
    for (var leadingSlash = goog.string.startsWith(path, "/"), segments = path.split("/"), out = [], pos = 0; pos < segments.length;) {
      var segment = segments[pos++];
      segment == "." ? leadingSlash && pos == segments.length && out.push("") : segment == ".." ? ((out.length > 1 || out.length == 1 && out[0] != "") && out.pop(), leadingSlash && pos == segments.length && out.push("")) : (out.push(segment), leadingSlash = !0);
    }
    return out.join("/");
  }
  return path;
};
goog.Uri.decodeOrEmpty_ = function(val, opt_preserveReserved) {
  return val ? opt_preserveReserved ? decodeURI(val.replace(/%25/g, "%2525")) : decodeURIComponent(val) : "";
};
goog.Uri.encodeSpecialChars_ = function(unescapedPart, extra, opt_removeDoubleEncoding) {
  if (typeof unescapedPart === "string") {
    var encoded = encodeURI(unescapedPart).replace(extra, goog.Uri.encodeChar_);
    opt_removeDoubleEncoding && (encoded = goog.Uri.removeDoubleEncoding_(encoded));
    return encoded;
  }
  return null;
};
goog.Uri.encodeChar_ = function(ch) {
  var n = ch.charCodeAt(0);
  return "%" + (n >> 4 & 15).toString(16) + (n & 15).toString(16);
};
goog.Uri.removeDoubleEncoding_ = function(doubleEncodedString) {
  return doubleEncodedString.replace(/%25([0-9a-fA-F]{2})/g, "%$1");
};
goog.Uri.reDisallowedInSchemeOrUserInfo_ = /[#\/\?@]/g;
goog.Uri.reDisallowedInRelativePath_ = /[#\?:]/g;
goog.Uri.reDisallowedInAbsolutePath_ = /[#\?]/g;
goog.Uri.reDisallowedInQuery_ = /[#\?@]/g;
goog.Uri.reDisallowedInFragment_ = /#/g;
goog.Uri.haveSameDomain = function(uri1String, uri2String) {
  var pieces1 = goog.uri.utils.split(uri1String), pieces2 = goog.uri.utils.split(uri2String);
  return pieces1[goog.uri.utils.ComponentIndex.DOMAIN] == pieces2[goog.uri.utils.ComponentIndex.DOMAIN] && pieces1[goog.uri.utils.ComponentIndex.PORT] == pieces2[goog.uri.utils.ComponentIndex.PORT];
};
goog.Uri.QueryData = function(opt_query, opt_ignoreCase) {
  this.count_ = this.keyMap_ = null;
  this.encodedQuery_ = opt_query || null;
  this.ignoreCase_ = !!opt_ignoreCase;
};
goog.Uri.QueryData.prototype.ensureKeyMapInitialized_ = function() {
  if (!this.keyMap_ && (this.keyMap_ = new Map(), this.count_ = 0, this.encodedQuery_)) {
    var self = this;
    goog.uri.utils.parseQueryData(this.encodedQuery_, function(name, value) {
      self.add(goog.string.urlDecode(name), value);
    });
  }
};
goog.Uri.QueryData.createFromMap = function(map, opt_ignoreCase) {
  var keys = goog.structs.getKeys(map);
  if (typeof keys == "undefined") {
    throw Error("Keys are undefined");
  }
  for (var queryData = new goog.Uri.QueryData(null, opt_ignoreCase), values = goog.structs.getValues(map), i = 0; i < keys.length; i++) {
    var key = keys[i], value = values[i];
    Array.isArray(value) ? queryData.setValues(key, value) : queryData.add(key, value);
  }
  return queryData;
};
goog.Uri.QueryData.createFromKeysValues = function(keys, values, opt_ignoreCase) {
  if (keys.length != values.length) {
    throw Error("Mismatched lengths for keys/values");
  }
  for (var queryData = new goog.Uri.QueryData(null, opt_ignoreCase), i = 0; i < keys.length; i++) {
    queryData.add(keys[i], values[i]);
  }
  return queryData;
};
goog.Uri.QueryData.prototype.getCount = function() {
  this.ensureKeyMapInitialized_();
  return this.count_;
};
goog.Uri.QueryData.prototype.add = function(key, value) {
  this.ensureKeyMapInitialized_();
  this.invalidateCache_();
  key = this.getKeyName_(key);
  var values = this.keyMap_.get(key);
  values || this.keyMap_.set(key, values = []);
  values.push(value);
  this.count_ = goog.asserts.assertNumber(this.count_) + 1;
  return this;
};
goog.Uri.QueryData.prototype.remove = function(key) {
  this.ensureKeyMapInitialized_();
  key = this.getKeyName_(key);
  return this.keyMap_.has(key) ? (this.invalidateCache_(), this.count_ = goog.asserts.assertNumber(this.count_) - this.keyMap_.get(key).length, this.keyMap_.delete(key)) : !1;
};
goog.Uri.QueryData.prototype.clear = function() {
  this.invalidateCache_();
  this.keyMap_ = null;
  this.count_ = 0;
};
goog.Uri.QueryData.prototype.isEmpty = function() {
  this.ensureKeyMapInitialized_();
  return this.count_ == 0;
};
goog.Uri.QueryData.prototype.containsKey = function(key) {
  this.ensureKeyMapInitialized_();
  key = this.getKeyName_(key);
  return this.keyMap_.has(key);
};
goog.Uri.QueryData.prototype.containsValue = function(value) {
  var vals = this.getValues();
  return module$contents$goog$array_contains(vals, value);
};
goog.Uri.QueryData.prototype.forEach = function(f, opt_scope) {
  this.ensureKeyMapInitialized_();
  this.keyMap_.forEach(function(values, key) {
    values.forEach(function(value) {
      f.call(opt_scope, value, key, this);
    }, this);
  }, this);
};
goog.Uri.QueryData.prototype.getKeys = function() {
  this.ensureKeyMapInitialized_();
  for (var vals = Array.from(this.keyMap_.values()), keys = Array.from(this.keyMap_.keys()), rv = [], i = 0; i < keys.length; i++) {
    for (var val = vals[i], j = 0; j < val.length; j++) {
      rv.push(keys[i]);
    }
  }
  return rv;
};
goog.Uri.QueryData.prototype.getValues = function(opt_key) {
  this.ensureKeyMapInitialized_();
  var rv = [];
  if (typeof opt_key === "string") {
    this.containsKey(opt_key) && (rv = rv.concat(this.keyMap_.get(this.getKeyName_(opt_key))));
  } else {
    for (var values = Array.from(this.keyMap_.values()), i = 0; i < values.length; i++) {
      rv = rv.concat(values[i]);
    }
  }
  return rv;
};
goog.Uri.QueryData.prototype.set = function(key, value) {
  this.ensureKeyMapInitialized_();
  this.invalidateCache_();
  key = this.getKeyName_(key);
  this.containsKey(key) && (this.count_ = goog.asserts.assertNumber(this.count_) - this.keyMap_.get(key).length);
  this.keyMap_.set(key, [value]);
  this.count_ = goog.asserts.assertNumber(this.count_) + 1;
  return this;
};
goog.Uri.QueryData.prototype.get = function(key, opt_default) {
  if (!key) {
    return opt_default;
  }
  var values = this.getValues(key);
  return values.length > 0 ? String(values[0]) : opt_default;
};
goog.Uri.QueryData.prototype.setValues = function(key, values) {
  this.remove(key);
  values.length > 0 && (this.invalidateCache_(), this.keyMap_.set(this.getKeyName_(key), module$contents$goog$array_toArray(values)), this.count_ = goog.asserts.assertNumber(this.count_) + values.length);
};
goog.Uri.QueryData.prototype.toString = function() {
  if (this.encodedQuery_) {
    return this.encodedQuery_;
  }
  if (!this.keyMap_) {
    return "";
  }
  for (var sb = [], keys = Array.from(this.keyMap_.keys()), i = 0; i < keys.length; i++) {
    for (var key = keys[i], encodedKey = goog.string.urlEncode(key), val = this.getValues(key), j = 0; j < val.length; j++) {
      var param = encodedKey;
      val[j] !== "" && (param += "=" + goog.string.urlEncode(val[j]));
      sb.push(param);
    }
  }
  return this.encodedQuery_ = sb.join("&");
};
goog.Uri.QueryData.prototype.invalidateCache_ = function() {
  this.encodedQuery_ = null;
};
goog.Uri.QueryData.prototype.clone = function() {
  var rv = new goog.Uri.QueryData();
  rv.encodedQuery_ = this.encodedQuery_;
  this.keyMap_ && (rv.keyMap_ = new Map(this.keyMap_), rv.count_ = this.count_);
  return rv;
};
goog.Uri.QueryData.prototype.getKeyName_ = function(arg) {
  var keyName = String(arg);
  this.ignoreCase_ && (keyName = keyName.toLowerCase());
  return keyName;
};
goog.Uri.QueryData.prototype.setIgnoreCase = function(ignoreCase) {
  ignoreCase && !this.ignoreCase_ && (this.ensureKeyMapInitialized_(), this.invalidateCache_(), this.keyMap_.forEach(function(value, key) {
    var lowerCase = key.toLowerCase();
    key != lowerCase && (this.remove(key), this.setValues(lowerCase, value));
  }, this));
  this.ignoreCase_ = ignoreCase;
};
goog.Uri.QueryData.prototype.extend = function(var_args) {
  for (var i = 0; i < arguments.length; i++) {
    goog.structs.forEach(arguments[i], function(value, key) {
      this.add(key, value);
    }, this);
  }
};
var module$exports$goog$net$rpc$HttpCors = {HTTP_HEADERS_PARAM_NAME:"$httpHeaders", HTTP_METHOD_PARAM_NAME:"$httpMethod", generateHttpHeadersOverwriteParam:function(headers) {
  var result = "";
  module$contents$goog$object_forEach(headers, function(value, key) {
    result += key;
    result += ":";
    result += value;
    result += "\r\n";
  });
  return result;
}, generateEncodedHttpHeadersOverwriteParam:function(headers) {
  return goog.string.urlEncode(module$exports$goog$net$rpc$HttpCors.generateHttpHeadersOverwriteParam(headers));
}, setHttpHeadersWithOverwriteParam:function(url, urlParam, extraHeaders) {
  if (module$contents$goog$object_isEmpty(extraHeaders)) {
    return url;
  }
  var httpHeaders = module$exports$goog$net$rpc$HttpCors.generateHttpHeadersOverwriteParam(extraHeaders);
  if (typeof url === "string") {
    return goog.uri.utils.appendParam(url, goog.string.urlEncode(urlParam), httpHeaders);
  }
  url.setParameterValue(urlParam, httpHeaders);
  return url;
}};
goog.events.EventHandler = function(opt_scope) {
  goog.Disposable.call(this);
  this.handler_ = opt_scope;
  this.keys_ = {};
};
goog.inherits(goog.events.EventHandler, goog.Disposable);
goog.events.EventHandler.typeArray_ = [];
goog.events.EventHandler.prototype.listen = function(src, type, opt_fn, opt_options) {
  return this.listen_(src, type, opt_fn, opt_options);
};
goog.events.EventHandler.prototype.listen_ = function(src, type, opt_fn, opt_options, opt_scope) {
  Array.isArray(type) || (type && (goog.events.EventHandler.typeArray_[0] = type.toString()), type = goog.events.EventHandler.typeArray_);
  for (var i = 0; i < type.length; i++) {
    var listenerObj = goog.events.listen(src, type[i], opt_fn || this.handleEvent, opt_options || !1, opt_scope || this.handler_ || this);
    if (!listenerObj) {
      break;
    }
    this.keys_[listenerObj.key] = listenerObj;
  }
  return this;
};
goog.events.EventHandler.prototype.listenOnce = function(src, type, opt_fn, opt_options) {
  return this.listenOnce_(src, type, opt_fn, opt_options);
};
goog.events.EventHandler.prototype.listenOnce_ = function(src, type, opt_fn, opt_options, opt_scope) {
  if (Array.isArray(type)) {
    for (var i = 0; i < type.length; i++) {
      this.listenOnce_(src, type[i], opt_fn, opt_options, opt_scope);
    }
  } else {
    var listenerObj = goog.events.listenOnce(src, type, opt_fn || this.handleEvent, opt_options, opt_scope || this.handler_ || this);
    if (!listenerObj) {
      return this;
    }
    this.keys_[listenerObj.key] = listenerObj;
  }
  return this;
};
goog.events.EventHandler.prototype.listenWithWrapper = function(src, wrapper, listener, opt_capt) {
  return this.listenWithWrapper_(src, wrapper, listener, opt_capt);
};
goog.events.EventHandler.prototype.listenWithWrapper_ = function(src, wrapper, listener, opt_capt, opt_scope) {
  wrapper.listen(src, listener, opt_capt, opt_scope || this.handler_ || this, this);
  return this;
};
goog.events.EventHandler.prototype.unlisten = function(src, type, opt_fn, opt_options, opt_scope) {
  if (Array.isArray(type)) {
    for (var i = 0; i < type.length; i++) {
      this.unlisten(src, type[i], opt_fn, opt_options, opt_scope);
    }
  } else {
    var capture = goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options, listener = goog.events.getListener(src, type, opt_fn || this.handleEvent, capture, opt_scope || this.handler_ || this);
    listener && (goog.events.unlistenByKey(listener), delete this.keys_[listener.key]);
  }
  return this;
};
goog.events.EventHandler.prototype.unlistenWithWrapper = function(src, wrapper, listener, opt_capt, opt_scope) {
  wrapper.unlisten(src, listener, opt_capt, opt_scope || this.handler_ || this, this);
  return this;
};
goog.events.EventHandler.prototype.removeAll = function() {
  module$contents$goog$object_forEach(this.keys_, function(listenerObj, key) {
    this.keys_.hasOwnProperty(key) && goog.events.unlistenByKey(listenerObj);
  }, this);
  this.keys_ = {};
};
goog.events.EventHandler.prototype.disposeInternal = function() {
  goog.events.EventHandler.superClass_.disposeInternal.call(this);
  this.removeAll();
};
goog.events.EventHandler.prototype.handleEvent = function() {
  throw Error("EventHandler.handleEvent not implemented");
};
goog.net.streams.Base64StreamDecoder = function() {
  this.isInputValid_ = !0;
  this.streamPos_ = 0;
  this.leftoverInput_ = "";
};
goog.net.streams.Base64StreamDecoder.prototype.error_ = function(input, errorMsg) {
  this.isInputValid_ = !1;
  throw Error("The stream is broken @" + this.streamPos_ + ". Error: " + errorMsg + ". With input:\n" + input);
};
goog.net.streams.Base64StreamDecoder.prototype.decode = function(input) {
  goog.asserts.assertString(input);
  this.isInputValid_ || this.error_(input, "stream already broken");
  this.leftoverInput_ += input;
  var groups = Math.floor(this.leftoverInput_.length / 4);
  if (groups == 0) {
    return null;
  }
  try {
    var result = goog.crypt.base64.decodeStringToByteArray(this.leftoverInput_.slice(0, groups * 4));
  } catch (e) {
    this.error_(this.leftoverInput_, e.message);
  }
  this.streamPos_ += groups * 4;
  this.leftoverInput_ = this.leftoverInput_.slice(groups * 4);
  return result;
};
goog.net.streams.StreamParser = function() {
};
goog.net.streams.StreamParser.prototype.acceptsBinaryInput = function() {
};
goog.net.streams.StreamParser.prototype.parse = function() {
};
goog.net.streams.PbStreamParser = function() {
  this.errorMessage_ = null;
  this.result_ = [];
  this.streamPos_ = 0;
  this.state_ = goog.net.streams.PbStreamParser.State_.INIT;
  this.countLengthBytes_ = this.length_ = this.tag_ = 0;
  this.messageBuffer_ = null;
  this.countMessageBytes_ = 0;
};
goog.net.streams.PbStreamParser.State_ = {INIT:0, LENGTH:1, MESSAGE:2, INVALID:3};
goog.net.streams.PbStreamParser.PADDING_TAG_ = 15;
goog.net.streams.PbStreamParser.prototype.error_ = function(inputBytes, pos, errorMsg) {
  this.state_ = goog.net.streams.PbStreamParser.State_.INVALID;
  this.errorMessage_ = "The stream is broken @" + this.streamPos_ + "/" + pos + ". Error: " + errorMsg + ". With input:\n" + inputBytes;
  throw Error(this.errorMessage_);
};
goog.net.streams.PbStreamParser.prototype.acceptsBinaryInput = function() {
  return !0;
};
goog.net.streams.PbStreamParser.prototype.parse = function(input) {
  function processTagByte(b) {
    b & 128 && parser.error_(inputBytes, pos, "invalid tag");
    (b & 7) != 2 && parser.error_(inputBytes, pos, "invalid wire type");
    parser.tag_ = b >>> 3;
    parser.tag_ != 1 && parser.tag_ != 2 && parser.tag_ != 15 && parser.error_(inputBytes, pos, "unexpected tag");
    parser.state_ = goog.net.streams.PbStreamParser.State_.LENGTH;
    parser.length_ = 0;
    parser.countLengthBytes_ = 0;
  }
  function processLengthByte(b) {
    parser.countLengthBytes_++;
    parser.countLengthBytes_ == 5 && b & 240 && parser.error_(inputBytes, pos, "message length too long");
    parser.length_ |= (b & 127) << (parser.countLengthBytes_ - 1) * 7;
    b & 128 || (parser.state_ = goog.net.streams.PbStreamParser.State_.MESSAGE, parser.countMessageBytes_ = 0, parser.messageBuffer_ = typeof Uint8Array !== "undefined" ? new Uint8Array(parser.length_) : Array(parser.length_), parser.length_ == 0 && finishMessage());
  }
  function processMessageByte(b) {
    parser.messageBuffer_[parser.countMessageBytes_++] = b;
    parser.countMessageBytes_ == parser.length_ && finishMessage();
  }
  function finishMessage() {
    if (parser.tag_ < goog.net.streams.PbStreamParser.PADDING_TAG_) {
      var message = {};
      message[parser.tag_] = parser.messageBuffer_;
      parser.result_.push(message);
    }
    parser.state_ = goog.net.streams.PbStreamParser.State_.INIT;
  }
  goog.asserts.assert(input instanceof Array || input instanceof ArrayBuffer);
  for (var parser = this, inputBytes = input instanceof Array ? input : new Uint8Array(input), pos = 0; pos < inputBytes.length;) {
    switch(parser.state_) {
      case goog.net.streams.PbStreamParser.State_.INVALID:
        parser.error_(inputBytes, pos, "stream already broken");
        break;
      case goog.net.streams.PbStreamParser.State_.INIT:
        processTagByte(inputBytes[pos]);
        break;
      case goog.net.streams.PbStreamParser.State_.LENGTH:
        processLengthByte(inputBytes[pos]);
        break;
      case goog.net.streams.PbStreamParser.State_.MESSAGE:
        processMessageByte(inputBytes[pos]);
        break;
      default:
        throw Error("unexpected parser state: " + parser.state_);
    }
    parser.streamPos_++;
    pos++;
  }
  var msgs = parser.result_;
  parser.result_ = [];
  return msgs.length > 0 ? msgs : null;
};
var module$exports$goog$net$streams$Base64PbStreamParser = function() {
  this.errorMessage_ = null;
  this.streamPos_ = 0;
  this.base64Decoder_ = new goog.net.streams.Base64StreamDecoder();
  this.pbParser_ = new goog.net.streams.PbStreamParser();
};
module$exports$goog$net$streams$Base64PbStreamParser.prototype.error_ = function(input, errorMsg) {
  this.errorMessage_ = "The stream is broken @" + this.streamPos_ + ". Error: " + errorMsg + ". With input:\n" + input;
  throw Error(this.errorMessage_);
};
module$exports$goog$net$streams$Base64PbStreamParser.prototype.acceptsBinaryInput = function() {
  return !1;
};
module$exports$goog$net$streams$Base64PbStreamParser.prototype.parse = function(input) {
  goog.asserts.assertString(input);
  this.errorMessage_ !== null && this.error_(input, "stream already broken");
  var result = null;
  try {
    var rawBytes = this.base64Decoder_.decode(input);
    result = rawBytes === null ? null : this.pbParser_.parse(rawBytes);
  } catch (e) {
    this.error_(input, e.message);
  }
  this.streamPos_ += input.length;
  return result;
};
var module$exports$goog$net$streams$utils = {isJsonWhitespace:function(c) {
  return c == "\r" || c == "\n" || c == " " || c == "\t";
}};
goog.net.streams.JsonStreamParser = function(opt_options) {
  this.errorMessage_ = null;
  this.result_ = [];
  this.buffer_ = "";
  this.stack_ = [];
  this.pos_ = this.depth_ = 0;
  this.slashed_ = !1;
  this.unicodeCount_ = 0;
  this.stringInputPattern_ = /[\\"]/g;
  this.streamState_ = goog.net.streams.JsonStreamParser.StreamState_.INIT;
  this.state_ = goog.net.streams.JsonStreamParser.State_.INIT;
  this.deliverMessageAsRawString_ = !(!opt_options || !opt_options.deliverMessageAsRawString);
};
goog.net.streams.JsonStreamParser.StreamState_ = {INIT:0, ARRAY_OPEN:1, ARRAY_END:2, INVALID:3};
goog.net.streams.JsonStreamParser.State_ = {INIT:0, VALUE:1, OBJECT_OPEN:2, OBJECT_END:3, ARRAY_OPEN:4, ARRAY_END:5, STRING:6, KEY_START:7, KEY_END:8, TRUE1:9, TRUE2:10, TRUE3:11, FALSE1:12, FALSE2:13, FALSE3:14, FALSE4:15, NULL1:16, NULL2:17, NULL3:18, NUM_DECIMAL_POINT:19, NUM_DIGIT:20};
goog.net.streams.JsonStreamParser.prototype.done = function() {
  return this.streamState_ === goog.net.streams.JsonStreamParser.StreamState_.ARRAY_END;
};
goog.net.streams.JsonStreamParser.prototype.error_ = function(input, pos) {
  this.streamState_ = goog.net.streams.JsonStreamParser.StreamState_.INVALID;
  this.errorMessage_ = "The stream is broken @" + this.pos_ + "/" + pos + ". With input:\n" + input;
  throw Error(this.errorMessage_);
};
goog.net.streams.JsonStreamParser.prototype.acceptsBinaryInput = function() {
  return !1;
};
goog.net.streams.JsonStreamParser.prototype.parse = function(input) {
  function readMore() {
    for (; i < input.length;) {
      if (module$exports$goog$net$streams$utils.isJsonWhitespace(input[i])) {
        i++, parser.pos_++;
      } else {
        break;
      }
    }
    return i < num;
  }
  function parseData() {
    for (var current;;) {
      current = input[i++];
      if (!current) {
        break;
      }
      parser.pos_++;
      switch(parser.state_) {
        case State.INIT:
          current === "{" ? parser.state_ = State.OBJECT_OPEN : current === "[" ? parser.state_ = State.ARRAY_OPEN : module$exports$goog$net$streams$utils.isJsonWhitespace(current) || parser.error_(input, i);
          continue;
        case State.KEY_START:
        case State.OBJECT_OPEN:
          if (module$exports$goog$net$streams$utils.isJsonWhitespace(current)) {
            continue;
          }
          if (parser.state_ === State.KEY_START) {
            stack.push(State.KEY_END);
          } else {
            if (current === "}") {
              addMessage("{}");
              parser.state_ = nextState();
              continue;
            } else {
              stack.push(State.OBJECT_END);
            }
          }
          current === '"' ? parser.state_ = State.STRING : parser.error_(input, i);
          continue;
        case State.KEY_END:
        case State.OBJECT_END:
          if (module$exports$goog$net$streams$utils.isJsonWhitespace(current)) {
            continue;
          }
          current === ":" ? (parser.state_ === State.OBJECT_END && (stack.push(State.OBJECT_END), parser.depth_++), parser.state_ = State.VALUE) : current === "}" ? (parser.depth_--, addMessage(), parser.state_ = nextState()) : current === "," ? (parser.state_ === State.OBJECT_END && stack.push(State.OBJECT_END), parser.state_ = State.KEY_START) : parser.error_(input, i);
          continue;
        case State.ARRAY_OPEN:
        case State.VALUE:
          if (module$exports$goog$net$streams$utils.isJsonWhitespace(current)) {
            continue;
          }
          if (parser.state_ === State.ARRAY_OPEN) {
            if (parser.depth_++, parser.state_ = State.VALUE, current === "]") {
              parser.depth_--;
              if (parser.depth_ === 0) {
                parser.state_ = State.ARRAY_END;
                return;
              }
              addMessage("[]");
              parser.state_ = nextState();
              continue;
            } else {
              stack.push(State.ARRAY_END);
            }
          }
          current === '"' ? parser.state_ = State.STRING : current === "{" ? parser.state_ = State.OBJECT_OPEN : current === "[" ? parser.state_ = State.ARRAY_OPEN : current === "t" ? parser.state_ = State.TRUE1 : current === "f" ? parser.state_ = State.FALSE1 : current === "n" ? parser.state_ = State.NULL1 : current !== "-" && ("0123456789".indexOf(current) !== -1 ? parser.state_ = State.NUM_DIGIT : parser.error_(input, i));
          continue;
        case State.ARRAY_END:
          if (current === ",") {
            stack.push(State.ARRAY_END), parser.state_ = State.VALUE, parser.depth_ === 1 && (msgStart = i);
          } else if (current === "]") {
            parser.depth_--;
            if (parser.depth_ === 0) {
              return;
            }
            addMessage();
            parser.state_ = nextState();
          } else if (module$exports$goog$net$streams$utils.isJsonWhitespace(current)) {
            continue;
          } else {
            parser.error_(input, i);
          }
          continue;
        case State.STRING:
          var old = i;
          a: for (;;) {
            for (; parser.unicodeCount_ > 0;) {
              if (current = input[i++], parser.unicodeCount_ === 4 ? parser.unicodeCount_ = 0 : parser.unicodeCount_++, !current) {
                break a;
              }
            }
            if (current === '"' && !parser.slashed_) {
              parser.state_ = nextState();
              break;
            }
            if (current === "\\" && !parser.slashed_ && (parser.slashed_ = !0, current = input[i++], !current)) {
              break;
            }
            if (parser.slashed_) {
              if (parser.slashed_ = !1, current === "u" && (parser.unicodeCount_ = 1), current = input[i++]) {
                continue;
              } else {
                break;
              }
            }
            pattern.lastIndex = i;
            var patternResult = pattern.exec(input);
            if (!patternResult) {
              i = input.length + 1;
              break;
            }
            i = patternResult.index + 1;
            current = input[patternResult.index];
            if (!current) {
              break;
            }
          }
          parser.pos_ += i - old;
          continue;
        case State.TRUE1:
          if (!current) {
            continue;
          }
          current === "r" ? parser.state_ = State.TRUE2 : parser.error_(input, i);
          continue;
        case State.TRUE2:
          if (!current) {
            continue;
          }
          current === "u" ? parser.state_ = State.TRUE3 : parser.error_(input, i);
          continue;
        case State.TRUE3:
          if (!current) {
            continue;
          }
          current === "e" ? parser.state_ = nextState() : parser.error_(input, i);
          continue;
        case State.FALSE1:
          if (!current) {
            continue;
          }
          current === "a" ? parser.state_ = State.FALSE2 : parser.error_(input, i);
          continue;
        case State.FALSE2:
          if (!current) {
            continue;
          }
          current === "l" ? parser.state_ = State.FALSE3 : parser.error_(input, i);
          continue;
        case State.FALSE3:
          if (!current) {
            continue;
          }
          current === "s" ? parser.state_ = State.FALSE4 : parser.error_(input, i);
          continue;
        case State.FALSE4:
          if (!current) {
            continue;
          }
          current === "e" ? parser.state_ = nextState() : parser.error_(input, i);
          continue;
        case State.NULL1:
          if (!current) {
            continue;
          }
          current === "u" ? parser.state_ = State.NULL2 : parser.error_(input, i);
          continue;
        case State.NULL2:
          if (!current) {
            continue;
          }
          current === "l" ? parser.state_ = State.NULL3 : parser.error_(input, i);
          continue;
        case State.NULL3:
          if (!current) {
            continue;
          }
          current === "l" ? parser.state_ = nextState() : parser.error_(input, i);
          continue;
        case State.NUM_DECIMAL_POINT:
          current === "." ? parser.state_ = State.NUM_DIGIT : parser.error_(input, i);
          continue;
        case State.NUM_DIGIT:
          if ("0123456789.eE+-".indexOf(current) !== -1) {
            continue;
          } else {
            i--, parser.pos_--, parser.state_ = nextState();
          }
          continue;
        default:
          parser.error_(input, i);
      }
    }
  }
  function nextState() {
    var state = stack.pop();
    return state != null ? state : State.VALUE;
  }
  function addMessage(opt_data) {
    parser.depth_ > 1 || (goog.asserts.assert(opt_data !== ""), opt_data || (opt_data = msgStart === -1 ? parser.buffer_ + input.substring(streamStart, i) : input.substring(msgStart, i)), parser.deliverMessageAsRawString_ ? parser.result_.push(opt_data) : parser.result_.push(goog.asserts.assertInstanceof(JSON.parse(opt_data), Object)), msgStart = i);
  }
  goog.asserts.assertString(input);
  for (var parser = this, stack = parser.stack_, pattern = parser.stringInputPattern_, State = goog.net.streams.JsonStreamParser.State_, num = input.length, streamStart = 0, msgStart = -1, i = 0; i < num;) {
    switch(parser.streamState_) {
      case goog.net.streams.JsonStreamParser.StreamState_.INVALID:
        return parser.error_(input, i), null;
      case goog.net.streams.JsonStreamParser.StreamState_.ARRAY_END:
        return readMore() && parser.error_(input, i), null;
      case goog.net.streams.JsonStreamParser.StreamState_.INIT:
        if (readMore()) {
          var current = input[i++];
          parser.pos_++;
          if (current === "[") {
            parser.streamState_ = goog.net.streams.JsonStreamParser.StreamState_.ARRAY_OPEN;
            streamStart = i;
            parser.state_ = State.ARRAY_OPEN;
            continue;
          } else {
            parser.error_(input, i);
          }
        }
        return null;
      case goog.net.streams.JsonStreamParser.StreamState_.ARRAY_OPEN:
        parseData();
        parser.depth_ === 0 && parser.state_ == State.ARRAY_END ? (parser.streamState_ = goog.net.streams.JsonStreamParser.StreamState_.ARRAY_END, parser.buffer_ = input.substring(i)) : parser.buffer_ = msgStart === -1 ? parser.buffer_ + input.substring(streamStart) : input.substring(msgStart);
        if (parser.result_.length > 0) {
          var msgs = parser.result_;
          parser.result_ = [];
          return msgs;
        }
        return null;
    }
  }
  return null;
};
var module$exports$goog$net$streams$PbJsonStreamParser = function() {
  this.errorMessage_ = this.jsonStreamParser_ = null;
  this.streamPos_ = 0;
  this.state_ = module$contents$goog$net$streams$PbJsonStreamParser_State.INIT;
  this.result_ = [];
  this.statusParsed_ = !1;
}, module$contents$goog$net$streams$PbJsonStreamParser_State = {INIT:0, ARRAY_OPEN:1, MESSAGES:2, MESSAGES_DONE:3, STATUS:4, ARRAY_END:5, INVALID:6};
module$exports$goog$net$streams$PbJsonStreamParser.prototype.acceptsBinaryInput = function() {
  return !1;
};
module$exports$goog$net$streams$PbJsonStreamParser.prototype.parse = function(input) {
  function reportError(errorMessage) {
    parser.state_ = module$contents$goog$net$streams$PbJsonStreamParser_State.INVALID;
    parser.errorMessage_ = "The stream is broken @" + parser.streamPos_ + "/" + pos + ". Error: " + errorMessage + ". With input:\n";
    throw Error(parser.errorMessage_);
  }
  function resetJsonStreamParser() {
    parser.jsonStreamParser_ = new goog.net.streams.JsonStreamParser({allowCompactJsonArrayFormat:!0, deliverMessageAsRawString:!0});
  }
  function addResultMessages(messages) {
    if (messages) {
      for (var i = 0; i < messages.length; i++) {
        var tagged = {};
        tagged[1] = messages[i];
        parser.result_.push(tagged);
      }
    }
  }
  function addResultStatus(status) {
    if (status) {
      (parser.statusParsed_ || status.length > 1) && reportError("extra status: " + status);
      parser.statusParsed_ = !0;
      var tagged = {};
      tagged[2] = status[0];
      parser.result_.push(tagged);
    }
  }
  goog.asserts.assertString(input);
  for (var parser = this, pos = 0; pos < input.length;) {
    var JSCompiler_temp;
    if (JSCompiler_temp = parser.state_ !== module$contents$goog$net$streams$PbJsonStreamParser_State.MESSAGES) {
      a: {
        for (; pos < input.length;) {
          if (!(0,module$exports$goog$net$streams$utils.isJsonWhitespace)(input[pos])) {
            var JSCompiler_inline_result = !0;
            break a;
          }
          pos++;
          parser.streamPos_++;
        }
        JSCompiler_inline_result = !1;
      }
      JSCompiler_temp = !JSCompiler_inline_result;
    }
    if (JSCompiler_temp) {
      return null;
    }
    switch(parser.state_) {
      case module$contents$goog$net$streams$PbJsonStreamParser_State.INVALID:
        reportError("stream already broken");
        break;
      case module$contents$goog$net$streams$PbJsonStreamParser_State.INIT:
        input[pos] === "[" ? (parser.state_ = module$contents$goog$net$streams$PbJsonStreamParser_State.ARRAY_OPEN, pos++, parser.streamPos_++) : reportError("unexpected input token");
        break;
      case module$contents$goog$net$streams$PbJsonStreamParser_State.ARRAY_OPEN:
        input[pos] === "[" ? (parser.state_ = module$contents$goog$net$streams$PbJsonStreamParser_State.MESSAGES, resetJsonStreamParser()) : input[pos] === "," || input.slice(pos, pos + 5) == "null," ? parser.state_ = module$contents$goog$net$streams$PbJsonStreamParser_State.MESSAGES_DONE : input[pos] === "]" ? (parser.state_ = module$contents$goog$net$streams$PbJsonStreamParser_State.ARRAY_END, pos++, parser.streamPos_++) : reportError("unexpected input token");
        break;
      case module$contents$goog$net$streams$PbJsonStreamParser_State.MESSAGES:
        var messages = parser.jsonStreamParser_.parse(input.substring(pos));
        addResultMessages(messages);
        if (parser.jsonStreamParser_.done()) {
          parser.state_ = module$contents$goog$net$streams$PbJsonStreamParser_State.MESSAGES_DONE;
          var extra = parser.jsonStreamParser_.buffer_;
          parser.streamPos_ += input.length - pos - extra.length;
          input = extra;
          pos = 0;
        } else {
          parser.streamPos_ += input.length - pos, pos = input.length;
        }
        break;
      case module$contents$goog$net$streams$PbJsonStreamParser_State.MESSAGES_DONE:
        input[pos] === "," || input.slice(pos, pos + 5) == "null," ? (parser.state_ = module$contents$goog$net$streams$PbJsonStreamParser_State.STATUS, resetJsonStreamParser(), parser.jsonStreamParser_.parse("["), pos += input[pos] === "," ? 1 : 5, parser.streamPos_++) : input[pos] === "]" && (parser.state_ = module$contents$goog$net$streams$PbJsonStreamParser_State.ARRAY_END, pos++, parser.streamPos_++);
        break;
      case module$contents$goog$net$streams$PbJsonStreamParser_State.STATUS:
        var status = parser.jsonStreamParser_.parse(input.substring(pos));
        addResultStatus(status);
        if (parser.jsonStreamParser_.done()) {
          parser.state_ = module$contents$goog$net$streams$PbJsonStreamParser_State.ARRAY_END;
          var extra$jscomp$0 = parser.jsonStreamParser_.buffer_;
          parser.streamPos_ += input.length - pos - extra$jscomp$0.length;
          input = extra$jscomp$0;
          pos = 0;
        } else {
          parser.streamPos_ += input.length - pos, pos = input.length;
        }
        break;
      case module$contents$goog$net$streams$PbJsonStreamParser_State.ARRAY_END:
        reportError("extra input after stream end");
    }
  }
  if (parser.result_.length > 0) {
    var results = parser.result_;
    parser.result_ = [];
    return results;
  }
  return null;
};
function module$contents$goog$net$streams$streamParsers_getStreamParser(io) {
  var logger = goog.log.getLogger("goog.net.streams.streamParsers"), contentType = io.getStreamingResponseHeader(goog.net.XhrIo.CONTENT_TYPE_HEADER);
  if (!contentType) {
    return goog.log.warning(logger, "Content-Type unavailable: " + contentType), null;
  }
  contentType = contentType.toLowerCase();
  if (contentType.startsWith("application/json")) {
    return contentType.startsWith("application/json+protobuf") ? new module$exports$goog$net$streams$PbJsonStreamParser() : new goog.net.streams.JsonStreamParser();
  }
  if (contentType.startsWith("application/x-protobuf")) {
    var encoding = io.getStreamingResponseHeader(goog.net.XhrIo.CONTENT_TRANSFER_ENCODING);
    if (!encoding) {
      return new goog.net.streams.PbStreamParser();
    }
    if (encoding.toLowerCase() == "base64") {
      return new module$exports$goog$net$streams$Base64PbStreamParser();
    }
    goog.log.warning(logger, "Unsupported Content-Transfer-Encoding: " + encoding + "\nFor Content-Type: " + contentType);
    return null;
  }
  goog.log.warning(logger, "Unsupported Content-Type: " + contentType);
  return null;
}
;goog.net.streams.xhrStreamReader = {};
var module$contents$goog$net$streams$xhrStreamReader_XhrStreamReader = function(xhr) {
  this.logger_ = goog.log.getLogger("XhrStreamReader");
  this.xhr_ = xhr;
  this.parser_ = null;
  this.pos_ = 0;
  this.status_ = module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.INIT;
  this.hasStreamingResponseData_ = !1;
  this.dataHandler_ = this.statusHandler_ = this.textDecoder_ = null;
  this.eventHandler_ = new goog.events.EventHandler(this);
  this.eventHandler_.listen(this.xhr_, goog.net.EventType.READY_STATE_CHANGE, this.readyStateChangeHandler_);
};
module$contents$goog$net$streams$xhrStreamReader_XhrStreamReader.prototype.onReadyStateChanged_ = function() {
  var readyState = this.xhr_.getReadyState(), errorCode = this.xhr_.lastErrorCode_, statusCode = this.xhr_.getStatus(), responseText = this.xhr_.getResponseText(), responseChunks = [];
  if (this.xhr_.getResponse() instanceof Array) {
    var responses = this.xhr_.getResponse();
    responses.length > 0 && responses[0] instanceof Uint8Array && (this.hasStreamingResponseData_ = !0, responseChunks = responses);
  }
  if (!(readyState < goog.net.XmlHttp.ReadyState.INTERACTIVE || readyState == goog.net.XmlHttp.ReadyState.INTERACTIVE && !responseText && responseChunks.length == 0)) {
    var successful = statusCode == goog.net.HttpStatus.OK || statusCode == goog.net.HttpStatus.PARTIAL_CONTENT;
    readyState == goog.net.XmlHttp.ReadyState.COMPLETE && (errorCode == goog.net.ErrorCode.TIMEOUT ? this.updateStatus_(module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.TIMEOUT) : errorCode == goog.net.ErrorCode.ABORT ? this.updateStatus_(module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.CANCELLED) : successful || this.updateStatus_(module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.XHR_ERROR));
    successful && !responseText && responseChunks.length == 0 && goog.log.warning(this.logger_, "No response text for xhr " + this.xhr_.getLastUri() + " status " + statusCode);
    this.parser_ || (this.parser_ = module$contents$goog$net$streams$streamParsers_getStreamParser(this.xhr_), this.parser_ == null && this.updateStatus_(module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.BAD_DATA));
    if (this.status_ > module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.SUCCESS) {
      this.clear_();
    } else {
      if (responseChunks.length > this.pos_) {
        var responseLength = responseChunks.length, messages = [];
        try {
          if (this.parser_.acceptsBinaryInput()) {
            for (var i = 0; i < responseLength; i++) {
              var newMessages = this.parser_.parse(Array.from(responseChunks[i]));
              newMessages && (messages = messages.concat(newMessages));
            }
          } else {
            var message = "";
            if (!this.textDecoder_) {
              if (typeof TextDecoder === "undefined") {
                throw Error("TextDecoder is not supported by this browser.");
              }
              this.textDecoder_ = new TextDecoder();
            }
            for (var i$jscomp$0 = 0; i$jscomp$0 < responseLength; i$jscomp$0++) {
              message += this.textDecoder_.decode(responseChunks[i$jscomp$0], {stream:readyState == goog.net.XmlHttp.ReadyState.COMPLETE && i$jscomp$0 == responseLength - 1});
            }
            messages = this.parser_.parse(message);
          }
          responseChunks.splice(0, responseLength);
          messages && this.dataHandler_(messages);
        } catch (ex) {
          this.updateStatus_(module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.BAD_DATA);
          this.clear_();
          return;
        }
      } else if (responseText.length > this.pos_) {
        var newData = responseText.slice(this.pos_);
        this.pos_ = responseText.length;
        try {
          var messages$jscomp$0 = this.parser_.parse(newData);
          messages$jscomp$0 != null && this.dataHandler_ && this.dataHandler_(messages$jscomp$0);
        } catch (ex) {
          goog.log.error(this.logger_, "Invalid response " + ex + "\n" + responseText);
          this.updateStatus_(module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.BAD_DATA);
          this.clear_();
          return;
        }
      }
      readyState == goog.net.XmlHttp.ReadyState.COMPLETE ? (responseText.length != 0 || this.hasStreamingResponseData_ ? this.updateStatus_(module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.SUCCESS) : this.updateStatus_(module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.NO_DATA), this.clear_()) : this.updateStatus_(module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.ACTIVE);
    }
  }
};
module$contents$goog$net$streams$xhrStreamReader_XhrStreamReader.prototype.updateStatus_ = function(status) {
  this.status_ != status && (this.status_ = status, this.statusHandler_ && this.statusHandler_());
};
module$contents$goog$net$streams$xhrStreamReader_XhrStreamReader.prototype.clear_ = function() {
  this.eventHandler_.removeAll();
  if (this.xhr_) {
    var xhr = this.xhr_;
    this.xhr_ = null;
    xhr.abort();
    xhr.dispose();
  }
};
module$contents$goog$net$streams$xhrStreamReader_XhrStreamReader.prototype.getStatus = function() {
  return this.status_;
};
module$contents$goog$net$streams$xhrStreamReader_XhrStreamReader.prototype.setStatusHandler = function(handler) {
  this.statusHandler_ = handler;
};
module$contents$goog$net$streams$xhrStreamReader_XhrStreamReader.prototype.setDataHandler = function(handler) {
  this.dataHandler_ = handler;
};
module$contents$goog$net$streams$xhrStreamReader_XhrStreamReader.prototype.readyStateChangeHandler_ = function(event) {
  var xhr = event.target;
  try {
    if (xhr == this.xhr_) {
      this.onReadyStateChanged_();
    } else {
      goog.log.warning(this.logger_, "Called back with an unexpected xhr.");
    }
  } catch (ex) {
    goog.log.error(this.logger_, "readyStateChangeHandler_ thrown exception " + ex), this.updateStatus_(module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.HANDLER_EXCEPTION), this.clear_();
  }
};
var module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus = {INIT:0, ACTIVE:1, SUCCESS:2, XHR_ERROR:3, NO_DATA:4, BAD_DATA:5, HANDLER_EXCEPTION:6, TIMEOUT:7, CANCELLED:8};
goog.net.streams.xhrStreamReader.XhrStreamReader = module$contents$goog$net$streams$xhrStreamReader_XhrStreamReader;
goog.net.streams.xhrStreamReader.XhrStreamReaderStatus = module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus;
goog.net.streams.xhrNodeReadableStream = {};
var module$contents$goog$net$streams$xhrNodeReadableStream_XhrNodeReadableStream = function(xhrReader) {
  this.logger_ = goog.log.getLogger("goog.net.streams.XhrNodeReadableStream");
  this.xhrReader_ = xhrReader;
  this.xhrReader_.setDataHandler(goog.bind(this.onData_, this));
  this.xhrReader_.setStatusHandler(goog.bind(this.onStatusChange_, this));
  this.callbackMap_ = {};
  this.callbackOnceMap_ = {};
};
module$contents$goog$net$streams$xhrNodeReadableStream_XhrNodeReadableStream.prototype.on = function(eventType, callback) {
  var callbacks = this.callbackMap_[eventType];
  callbacks || (callbacks = [], this.callbackMap_[eventType] = callbacks);
  callbacks.push(callback);
  return this;
};
module$contents$goog$net$streams$xhrNodeReadableStream_XhrNodeReadableStream.prototype.addListener = function(eventType, callback) {
  this.on(eventType, callback);
  return this;
};
module$contents$goog$net$streams$xhrNodeReadableStream_XhrNodeReadableStream.prototype.removeListener = function(eventType, callback) {
  var callbacks = this.callbackMap_[eventType];
  callbacks && module$contents$goog$array_remove(callbacks, callback);
  var onceCallbacks = this.callbackOnceMap_[eventType];
  onceCallbacks && module$contents$goog$array_remove(onceCallbacks, callback);
  return this;
};
module$contents$goog$net$streams$xhrNodeReadableStream_XhrNodeReadableStream.prototype.once = function(eventType, callback) {
  var callbacks = this.callbackOnceMap_[eventType];
  callbacks || (callbacks = [], this.callbackOnceMap_[eventType] = callbacks);
  callbacks.push(callback);
  return this;
};
module$contents$goog$net$streams$xhrNodeReadableStream_XhrNodeReadableStream.prototype.onData_ = function(messages) {
  var callbacks = this.callbackMap_[goog.net.streams.NodeReadableStream.EventType.DATA];
  callbacks && this.doMessages_(messages, callbacks);
  var onceCallbacks = this.callbackOnceMap_[goog.net.streams.NodeReadableStream.EventType.DATA];
  onceCallbacks && this.doMessages_(messages, onceCallbacks);
  this.callbackOnceMap_[goog.net.streams.NodeReadableStream.EventType.DATA] = [];
};
module$contents$goog$net$streams$xhrNodeReadableStream_XhrNodeReadableStream.prototype.doMessages_ = function(messages, callbacks) {
  for (var self = this, $jscomp$loop$1909164038$0 = {}, i = 0; i < messages.length; $jscomp$loop$1909164038$0 = {message$jscomp$833:void 0}, i++) {
    $jscomp$loop$1909164038$0.message$jscomp$833 = messages[i], callbacks.forEach(function($jscomp$loop$1909164038$0) {
      return function(callback) {
        try {
          callback($jscomp$loop$1909164038$0.message$jscomp$833);
        } catch (ex) {
          self.handleError_("message-callback exception (ignored) " + ex);
        }
      };
    }($jscomp$loop$1909164038$0));
  }
};
module$contents$goog$net$streams$xhrNodeReadableStream_XhrNodeReadableStream.prototype.onStatusChange_ = function() {
  var currentStatus = this.xhrReader_.getStatus(), EventType = goog.net.streams.NodeReadableStream.EventType;
  switch(currentStatus) {
    case module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.ACTIVE:
      this.doStatus_(EventType.READABLE);
      break;
    case module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.BAD_DATA:
    case module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.HANDLER_EXCEPTION:
    case module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.NO_DATA:
    case module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.TIMEOUT:
    case module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.XHR_ERROR:
      this.doStatus_(EventType.ERROR);
      break;
    case module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.CANCELLED:
      this.doStatus_(EventType.CLOSE);
      break;
    case module$contents$goog$net$streams$xhrStreamReader_XhrStreamReaderStatus.SUCCESS:
      this.doStatus_(EventType.END);
  }
};
module$contents$goog$net$streams$xhrNodeReadableStream_XhrNodeReadableStream.prototype.doStatus_ = function(eventType) {
  var callbacks = this.callbackMap_[eventType], self = this;
  callbacks && callbacks.forEach(function(callback) {
    try {
      callback();
    } catch (ex) {
      self.handleError_("status-callback exception (ignored) " + ex);
    }
  });
  var onceCallbacks = this.callbackOnceMap_[eventType];
  onceCallbacks && onceCallbacks.forEach(function(callback) {
    callback();
  });
  this.callbackOnceMap_[eventType] = [];
};
module$contents$goog$net$streams$xhrNodeReadableStream_XhrNodeReadableStream.prototype.handleError_ = function(message) {
  goog.log.error(this.logger_, message);
};
goog.net.streams.xhrNodeReadableStream.XhrNodeReadableStream = module$contents$goog$net$streams$xhrNodeReadableStream_XhrNodeReadableStream;
var module$contents$grpc$web$OPClientBase_OPClientBase = function(options, binaryResponse) {
  options = options === void 0 ? {} : options;
  this.hasBinaryResponse_ = binaryResponse === void 0 ? !1 : binaryResponse;
  this.suppressCorsPreflight_ = options.suppressCorsPreflight || goog.getObjectByName("suppressCorsPreflight", options) || !1;
  this.withCredentials_ = options.withCredentials || goog.getObjectByName("withCredentials", options) || !1;
  this.unaryInterceptors_ = options.unaryInterceptors || [];
  this.workerScope_ = options.workerScope;
  this.chunkedServerStreaming_ = options.useFetchDownloadStreams || !1;
};
module$contents$grpc$web$OPClientBase_OPClientBase.prototype.thenableCall = function(method, requestMessage, metadata, methodDescriptor) {
  var $jscomp$this$m1187189630$3 = this, hostname = method.substring(0, method.length - methodDescriptor.name.length);
  return module$contents$grpc$web$OPClientBase_OPClientBase.runInterceptors_(function(request) {
    return new module$exports$grpc$web$promise.GrpcWebPromise(function(resolve, reject) {
      var responseMetadata = {}, stream = $jscomp$this$m1187189630$3.startRpcCall_(request, hostname);
      stream.on("error", function(error) {
        return reject(error);
      });
      stream.on("metadata", function(metadata) {
        responseMetadata = metadata;
      });
      stream.on("data", function(response) {
        resolve(request.methodDescriptor.createUnaryResponse(response, responseMetadata));
      });
    });
  }, this.unaryInterceptors_).call(this, methodDescriptor.createRequest(requestMessage, metadata)).then(function(response) {
    return response.responseMessage;
  });
};
module$contents$grpc$web$OPClientBase_OPClientBase.prototype.unaryCall = function(method, requestMessage, metadata, methodDescriptor) {
  return this.thenableCall(method, requestMessage, metadata, methodDescriptor);
};
module$contents$grpc$web$OPClientBase_OPClientBase.prototype.startRpcCall_ = function(request, hostname) {
  var methodDescriptor = request.methodDescriptor, metadata = request.getMetadata(), xhr = this.newXhr(!0), path = this.processHeaders_(metadata, xhr, hostname + methodDescriptor.getName()), stream = this.createClientReadableStream_(xhr, methodDescriptor.responseDeserializeFn, !1);
  stream.setUnaryCallback(metadata["X-Goog-Encode-Response-If-Executable"] == "base64");
  var serialized = methodDescriptor.requestSerializeFn(request.requestMessage);
  this.hasBinaryResponse_ && xhr.setResponseType(goog.net.XhrIo.ResponseType.ARRAY_BUFFER);
  xhr.send(path, "POST", serialized);
  return stream;
};
module$contents$grpc$web$OPClientBase_OPClientBase.prototype.newXhr = function(isUnary) {
  var useBinaryChunks = this.chunkedServerStreaming_ && !isUnary;
  return this.workerScope_ || useBinaryChunks ? new goog.net.XhrIo(new goog.net.FetchXmlHttpFactory({worker:this.workerScope_, streamBinaryChunks:useBinaryChunks})) : new goog.net.XhrIo();
};
module$contents$grpc$web$OPClientBase_OPClientBase.prototype.newXhrNodeReadableStream = function(xhr) {
  goog.asserts.assert(!xhr.isActive(), "XHR is already sent.");
  var reader = new module$contents$goog$net$streams$xhrStreamReader_XhrStreamReader(xhr);
  var JSCompiler_inline_result = new module$contents$goog$net$streams$xhrNodeReadableStream_XhrNodeReadableStream(reader);
  return JSCompiler_inline_result;
};
module$contents$grpc$web$OPClientBase_OPClientBase.prototype.processHeaders_ = function(metadata, xhr, method) {
  metadata["Content-Type"] = this.hasBinaryResponse_ ? "application/x-protobuf" : "application/json+protobuf";
  metadata["X-User-Agent"] = "grpc-web-javascript/0.1";
  var authHeader = metadata.Authorization;
  (authHeader && module$contents$google3$javascript$net$grpc$web$authutil_FIRST_PARTY_AUTH_SCHEMES.has(authHeader.split(" ")[0]) || this.withCredentials_) && xhr.setWithCredentials(!0);
  if (this.suppressCorsPreflight_) {
    method = module$contents$grpc$web$OPClientBase_OPClientBase.setCorsOverride_(method, metadata);
  } else {
    for (var key in metadata) {
      xhr.headers.set(key, metadata[key]);
    }
  }
  return method;
};
module$contents$grpc$web$OPClientBase_OPClientBase.prototype.createClientReadableStream_ = function(xhr, responseDeserializeFn, isServerStreaming) {
  var xhrNodeReadableStream;
  isServerStreaming && (xhrNodeReadableStream = this.newXhrNodeReadableStream(xhr));
  return new module$contents$grpc$web$StreamBodyClientReadableStream_StreamBodyClientReadableStream({xhr:xhr, nodeReadableStream:xhrNodeReadableStream}, responseDeserializeFn, this.hasBinaryResponse_);
};
module$contents$grpc$web$OPClientBase_OPClientBase.runInterceptors_ = function(invoker, interceptors) {
  return interceptors.reduce(function(accumulatedInvoker, interceptor) {
    return function(request) {
      return interceptor.intercept(request, accumulatedInvoker);
    };
  }, invoker);
};
module$contents$grpc$web$OPClientBase_OPClientBase.setCorsOverride_ = function(method, headerObject) {
  return (0,module$exports$goog$net$rpc$HttpCors.setHttpHeadersWithOverwriteParam)(method, module$exports$goog$net$rpc$HttpCors.HTTP_HEADERS_PARAM_NAME, headerObject);
};
grpc.web.OPClientBase = module$contents$grpc$web$OPClientBase_OPClientBase;
proto.google.internal.waa.v1.WaaPromiseClient = function(hostname, credentials, options) {
  options = options || {};
  options.format = "jspb";
  this.client_ = new module$contents$grpc$web$OPClientBase_OPClientBase(options, !1);
  this.hostname_ = hostname == void 0 ? hostname : hostname.replace(/\/+$/, "");
};
proto.google.internal.waa.v1.WaaPromiseClient.prototype.create = function(request, metadata) {
  return this.client_.unaryCall(this.hostname_ + "/$rpc/google.internal.waa.v1.Waa/Create", request, metadata || {}, proto.google.internal.waa.v1.waa.CreateMethodDescriptor);
};
proto.google.internal.waa.v1.WaaPromiseClient.prototype.ping = function(request, metadata) {
  return this.client_.unaryCall(this.hostname_ + "/$rpc/google.internal.waa.v1.Waa/Ping", request, metadata || {}, proto.google.internal.waa.v1.waa.PingMethodDescriptor);
};
jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport = {UNKNOWN_TRANSPORT_TYPE:0, USB:1, NFC:2, BLE:3, INTERNAL:4, CABLE:5, LIGHTNING:6, HYBRID:7};
proto.cryptauth = {};
proto.cryptauth.v2 = {};
proto.cryptauth.v2.securitykey = {};
proto.cryptauth.v2.securitykey.AuthenticatorTransport = jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport;
var jspb$corplogin$server$MutableKeyId = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$corplogin$server$MutableKeyId, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$corplogin$server$MutableKeyId.prototype.getType = function() {
  return jspb_internal_adapters.getEnumFieldWithDefault(this, 1, 0);
};
jspb$corplogin$server$MutableKeyId.prototype.setType = function(value) {
  return jspb_internal_adapters.setEnumField(this, 1, value);
};
jspb$corplogin$server$MutableKeyId.prototype.getRawId = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 2);
};
jspb$corplogin$server$MutableKeyId.prototype.setRawId = function(value) {
  return jspb_internal_adapters.setStringField(this, 2, value);
};
jspb$corplogin$server$MutableKeyId.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$corplogin$server$MutableKeyId);
jspb$corplogin$server$MutableKeyId.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$corplogin$server$MutableKeyId);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$corplogin$server$MutableKeyId.internalDoNotUse_debugOnlyProtoTypeName = "corplogin.server.KeyId");
var jspb$b$corplogin$server$KeyId = {};
jspb$b$corplogin$server$KeyId.fields = [0, jspb_internal_binary.RWEnum, jspb_internal_binary.RWString];
jspb$corplogin$server$MutableKeyId.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$corplogin$server$KeyId.fields);
var jspb$corplogin$server$MutableVersion = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$corplogin$server$MutableVersion, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$corplogin$server$MutableVersion.prototype.getMajor = function() {
  return jspb_internal_adapters.getInt32FieldWithDefault(this, 1);
};
jspb$corplogin$server$MutableVersion.prototype.setMajor = function(value) {
  return jspb_internal_adapters.setInt32Field(this, 1, value);
};
jspb$corplogin$server$MutableVersion.prototype.getMinor = function() {
  return jspb_internal_adapters.getInt32FieldWithDefault(this, 2);
};
jspb$corplogin$server$MutableVersion.prototype.setMinor = function(value) {
  return jspb_internal_adapters.setInt32Field(this, 2, value);
};
jspb$corplogin$server$MutableVersion.prototype.getBuild = function() {
  return jspb_internal_adapters.getInt32FieldWithDefault(this, 3);
};
jspb$corplogin$server$MutableVersion.prototype.setBuild = function(value) {
  return jspb_internal_adapters.setInt32Field(this, 3, value);
};
jspb$corplogin$server$MutableVersion.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$corplogin$server$MutableVersion);
jspb$corplogin$server$MutableVersion.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$corplogin$server$MutableVersion);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$corplogin$server$MutableVersion.internalDoNotUse_debugOnlyProtoTypeName = "corplogin.server.Version");
var jspb$b$corplogin$server$Version = {};
jspb$b$corplogin$server$Version.fields = [0, jspb_internal_binary.RWInt32, -2];
jspb$corplogin$server$MutableVersion.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$corplogin$server$Version.fields);
var jspb$gnubby$sysinfoconfig$api$MutableHavenAid = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$MutableHavenAid, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.prototype.setRoEpoch = function(value) {
  return jspb_internal_adapters.setProto3Uint32Field(this, 1, value);
};
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.prototype.setRoMajor = function(value) {
  return jspb_internal_adapters.setProto3Uint32Field(this, 2, value);
};
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.prototype.setRoMinor = function(value) {
  return jspb_internal_adapters.setProto3Uint32Field(this, 3, value);
};
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.prototype.getKeyId = function() {
  return jspb_internal_adapters.getUint32FieldWithDefault(this, 4);
};
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.prototype.setKeyId = function(value) {
  return jspb_internal_adapters.setProto3Uint32Field(this, 4, value);
};
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.prototype.setFipsStatusFlags = function(value) {
  return jspb_internal_adapters.setProto3Uint32Field(this, 5, value);
};
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.prototype.setCapTouchShifts = function(value) {
  return jspb_internal_adapters.setProto3Uint32Field(this, 6, value);
};
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.prototype.setBoardId = function(value) {
  return jspb_internal_adapters.setProto3Uint32Field(this, 7, value);
};
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.prototype.setFipsErrorLineNo = function(value) {
  return jspb_internal_adapters.setProto3Uint32Field(this, 8, value);
};
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.prototype.setSleepCount = function(value) {
  return jspb_internal_adapters.setProto3Uint32Field(this, 9, value);
};
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableHavenAid);
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$MutableHavenAid);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$MutableHavenAid.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.HavenAid");
var jspb$corplogin$server$MutableGnubbySysinfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$corplogin$server$MutableGnubbySysinfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$corplogin$server$MutableGnubbySysinfo.prototype.getFwVersion = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$corplogin$server$MutableVersion, 1);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.setFwVersion = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$corplogin$server$MutableVersion, 1, value);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.getSshVersion = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$corplogin$server$MutableVersion, 2);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.setSshVersion = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$corplogin$server$MutableVersion, 2, value);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.getU2fVersion = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$corplogin$server$MutableVersion, 3);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.setU2fVersion = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$corplogin$server$MutableVersion, 3, value);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.getPlatformId = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 4);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.setPlatformId = function(value) {
  return jspb_internal_adapters.setStringField(this, 4, value);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.setHavenDeviceId = function(value) {
  return jspb_internal_adapters.setStringField(this, 5, value);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.setKeyHandle = function(value) {
  return jspb_internal_adapters.setStringField(this, 6, value);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.getKeyId = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$corplogin$server$MutableKeyId, 7);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.setKeyId = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$corplogin$server$MutableKeyId, 7, value);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.getHavenAid = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$MutableHavenAid, 8);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.setHavenAid = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableHavenAid, 8, value);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.getPinStatus = function() {
  return jspb_internal_adapters.getEnumFieldWithDefault(this, 9, 0);
};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.setPinStatus = function(value) {
  return jspb_internal_adapters.setEnumField(this, 9, value);
};
jspb$corplogin$server$MutableGnubbySysinfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$corplogin$server$MutableGnubbySysinfo);
jspb$corplogin$server$MutableGnubbySysinfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$corplogin$server$MutableGnubbySysinfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$corplogin$server$MutableGnubbySysinfo.internalDoNotUse_debugOnlyProtoTypeName = "corplogin.server.GnubbySysinfo");
var jspb$b$gnubby$sysinfoconfig$api$HavenAid = {};
jspb$b$gnubby$sysinfoconfig$api$HavenAid.fields = [0, jspb_internal_binary.RUint32IgnoringDefaultWUint32, -8];
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$HavenAid.fields);
var jspb$b$corplogin$server$GnubbySysinfo = {};
jspb$b$corplogin$server$GnubbySysinfo.fields = [0, jspb$b$corplogin$server$Version.fields, -2, jspb_internal_binary.RWString, -2, jspb$b$corplogin$server$KeyId.fields, jspb$b$gnubby$sysinfoconfig$api$HavenAid.fields, jspb_internal_binary.RWEnum];
jspb$corplogin$server$MutableGnubbySysinfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$corplogin$server$GnubbySysinfo.fields);
var jspb$corplogin$server$ImmutableGnubbySysinfo = function() {
};
jspb$corplogin$server$ImmutableGnubbySysinfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$corplogin$server$MutableGnubbySysinfo);
jspb$corplogin$server$ImmutableGnubbySysinfo.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$corplogin$server$MutableGnubbySysinfo);
jspb$corplogin$server$ImmutableGnubbySysinfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$corplogin$server$MutableGnubbySysinfo);
var jspb$o$corplogin$server$KeyId = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {type:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1)), rawId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 2))};
  }
}};
jspb$corplogin$server$MutableKeyId.prototype.toObject = function() {
  return jspb$o$corplogin$server$KeyId.internal_toObject(this);
};
jspb$o$corplogin$server$KeyId.fromObject = function(obj) {
  var msg = new jspb$corplogin$server$MutableKeyId();
  jspb_internal_adapters.setEnumField(msg, 1, obj.type);
  jspb_internal_adapters.setStringField(msg, 2, obj.rawId);
  return msg;
};
var jspb$o$corplogin$server$Version = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {major:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 1)), minor:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 2)), build:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 3))};
  }
}};
jspb$corplogin$server$MutableVersion.prototype.toObject = function() {
  return jspb$o$corplogin$server$Version.internal_toObject(this);
};
jspb$o$corplogin$server$Version.fromObject = function(obj) {
  var msg = new jspb$corplogin$server$MutableVersion();
  jspb_internal_adapters.setInt32Field(msg, 1, obj.major);
  jspb_internal_adapters.setInt32Field(msg, 2, obj.minor);
  jspb_internal_adapters.setInt32Field(msg, 3, obj.build);
  return msg;
};
var jspb$o$gnubby$sysinfoconfig$api$HavenAid = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {roEpoch:jspb_internal_adapters.getUint32FieldWithDefault(msg, 1), roMajor:jspb_internal_adapters.getUint32FieldWithDefault(msg, 2), roMinor:jspb_internal_adapters.getUint32FieldWithDefault(msg, 3), keyId:jspb_internal_adapters.getUint32FieldWithDefault(msg, 4), fipsStatusFlags:jspb_internal_adapters.getUint32FieldWithDefault(msg, 5), capTouchShifts:jspb_internal_adapters.getUint32FieldWithDefault(msg, 6), boardId:jspb_internal_adapters.getUint32FieldWithDefault(msg, 
    7), fipsErrorLineNo:jspb_internal_adapters.getUint32FieldWithDefault(msg, 8), sleepCount:jspb_internal_adapters.getUint32FieldWithDefault(msg, 9)};
  }
}};
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$HavenAid.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$HavenAid.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$MutableHavenAid();
  jspb_internal_adapters.setProto3Uint32Field(msg, 1, obj.roEpoch);
  jspb_internal_adapters.setProto3Uint32Field(msg, 2, obj.roMajor);
  jspb_internal_adapters.setProto3Uint32Field(msg, 3, obj.roMinor);
  jspb_internal_adapters.setProto3Uint32Field(msg, 4, obj.keyId);
  jspb_internal_adapters.setProto3Uint32Field(msg, 5, obj.fipsStatusFlags);
  jspb_internal_adapters.setProto3Uint32Field(msg, 6, obj.capTouchShifts);
  jspb_internal_adapters.setProto3Uint32Field(msg, 7, obj.boardId);
  jspb_internal_adapters.setProto3Uint32Field(msg, 8, obj.fipsErrorLineNo);
  jspb_internal_adapters.setProto3Uint32Field(msg, 9, obj.sleepCount);
  return msg;
};
var jspb$o$corplogin$server$GnubbySysinfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {fwVersion:jspb$o$corplogin$server$Version.internal_toObject(msg.getFwVersion()), sshVersion:jspb$o$corplogin$server$Version.internal_toObject(msg.getSshVersion()), u2fVersion:jspb$o$corplogin$server$Version.internal_toObject(msg.getU2fVersion()), platformId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 4)), havenDeviceId:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    5)), keyHandle:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 6)), keyId:jspb$o$corplogin$server$KeyId.internal_toObject(msg.getKeyId()), havenAid:jspb$o$gnubby$sysinfoconfig$api$HavenAid.internal_toObject(msg.getHavenAid()), pinStatus:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 9))};
  }
}};
jspb$corplogin$server$MutableGnubbySysinfo.prototype.toObject = function() {
  return jspb$o$corplogin$server$GnubbySysinfo.internal_toObject(this);
};
jspb$o$corplogin$server$GnubbySysinfo.fromObject = function(obj) {
  var msg = new jspb$corplogin$server$MutableGnubbySysinfo();
  jspb_internal_adapters.setWrapperField(msg, jspb$corplogin$server$MutableVersion, 1, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.fwVersion, jspb$o$corplogin$server$Version.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$corplogin$server$MutableVersion, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.sshVersion, jspb$o$corplogin$server$Version.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$corplogin$server$MutableVersion, 3, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.u2fVersion, jspb$o$corplogin$server$Version.fromObject));
  jspb_internal_adapters.setStringField(msg, 4, obj.platformId);
  jspb_internal_adapters.setStringField(msg, 5, obj.havenDeviceId);
  jspb_internal_adapters.setStringField(msg, 6, obj.keyHandle);
  jspb_internal_adapters.setWrapperField(msg, jspb$corplogin$server$MutableKeyId, 7, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.keyId, jspb$o$corplogin$server$KeyId.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableHavenAid, 8, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.havenAid, jspb$o$gnubby$sysinfoconfig$api$HavenAid.fromObject));
  jspb_internal_adapters.setEnumField(msg, 9, obj.pinStatus);
  return msg;
};
proto.corplogin = {};
proto.corplogin.server = {};
proto.corplogin.server.ReadonlyGnubbySysinfo = {};
proto.corplogin.server.GnubbySysinfo = jspb$corplogin$server$MutableGnubbySysinfo;
jspb$corplogin$server$MutableGnubbySysinfo.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$corplogin$server$MutableGnubbySysinfo, jspb$b$corplogin$server$GnubbySysinfo.fields);
jspb$corplogin$server$MutableGnubbySysinfo.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$corplogin$server$GnubbySysinfo.fields);
jspb$corplogin$server$MutableGnubbySysinfo.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$corplogin$server$GnubbySysinfo.fields);
jspb$corplogin$server$MutableGnubbySysinfo.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$corplogin$server$MutableGnubbySysinfo, jspb$b$corplogin$server$GnubbySysinfo.fields);
jspb$corplogin$server$MutableGnubbySysinfo.fromObject = jspb$o$corplogin$server$GnubbySysinfo.fromObject;
proto.corplogin.server.MutableGnubbySysinfo = jspb$corplogin$server$MutableGnubbySysinfo;
jspb$corplogin$server$ImmutableGnubbySysinfo.serializeBinary = jspb$corplogin$server$MutableGnubbySysinfo.serializeBinary;
jspb$corplogin$server$ImmutableGnubbySysinfo.serializeBinaryToByteString = jspb$corplogin$server$MutableGnubbySysinfo.serializeBinaryToByteString;
jspb$corplogin$server$ImmutableGnubbySysinfo.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$corplogin$server$MutableGnubbySysinfo.deserializeBinary);
jspb$corplogin$server$ImmutableGnubbySysinfo.makeCrossSerializerComparisonsCompatible = jspb$corplogin$server$MutableGnubbySysinfo.makeCrossSerializerComparisonsCompatible;
proto.corplogin.server.ImmutableGnubbySysinfo = jspb$corplogin$server$ImmutableGnubbySysinfo;
jspb$e.corplogin$server$KeyId$GnubbyIdType = {UNKNOWN:0, HAVEN_ID:1, CPLC_ID:2, CROS_EVE_ID:3};
var jspb$corplogin$server$ImmutableKeyId = function() {
};
jspb$corplogin$server$ImmutableKeyId.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$corplogin$server$MutableKeyId);
jspb$corplogin$server$ImmutableKeyId.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$corplogin$server$MutableKeyId);
jspb$corplogin$server$ImmutableKeyId.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$corplogin$server$MutableKeyId);
proto.corplogin.server.ReadonlyKeyId = {};
proto.corplogin.server.KeyId = jspb$corplogin$server$MutableKeyId;
jspb$corplogin$server$MutableKeyId.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$corplogin$server$MutableKeyId, jspb$b$corplogin$server$KeyId.fields);
jspb$corplogin$server$MutableKeyId.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$corplogin$server$KeyId.fields);
jspb$corplogin$server$MutableKeyId.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$corplogin$server$KeyId.fields);
jspb$corplogin$server$MutableKeyId.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$corplogin$server$MutableKeyId, jspb$b$corplogin$server$KeyId.fields);
jspb$corplogin$server$MutableKeyId.fromObject = jspb$o$corplogin$server$KeyId.fromObject;
proto.corplogin.server.MutableKeyId = jspb$corplogin$server$MutableKeyId;
jspb$corplogin$server$ImmutableKeyId.serializeBinary = jspb$corplogin$server$MutableKeyId.serializeBinary;
jspb$corplogin$server$ImmutableKeyId.serializeBinaryToByteString = jspb$corplogin$server$MutableKeyId.serializeBinaryToByteString;
jspb$corplogin$server$ImmutableKeyId.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$corplogin$server$MutableKeyId.deserializeBinary);
jspb$corplogin$server$ImmutableKeyId.makeCrossSerializerComparisonsCompatible = jspb$corplogin$server$MutableKeyId.makeCrossSerializerComparisonsCompatible;
proto.corplogin.server.ImmutableKeyId = jspb$corplogin$server$ImmutableKeyId;
jspb$corplogin$server$MutableKeyId.GnubbyIdType = jspb$e.corplogin$server$KeyId$GnubbyIdType;
jspb$e.corplogin$server$SysinfoStatus$Code = {UNKNOWN:0, GNUBBYD_ERROR:1, NOT_SUPPORTED:2, BAD_GNUBBYD_DATA:3, BAD_VERSION:4, BAD_DATA_LENGTH:5, JAVASCRIPT_ERROR:6, EXTENSION_MISSING:7, SKE_ERROR:8};
var jspb$corplogin$server$MutableSysinfoStatus = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$corplogin$server$MutableSysinfoStatus, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$corplogin$server$MutableSysinfoStatus.prototype.getCode = function() {
  return jspb_internal_adapters.getEnumFieldWithDefault(this, 1, 0);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.setCode = function(value) {
  return jspb_internal_adapters.setEnumField(this, 1, value);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.hasCode = function() {
  return jspb_internal_adapters.hasEnumField(this, 1);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.getGnubbydCode = function() {
  return jspb_internal_adapters.getInt32FieldWithDefault(this, 2);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.setGnubbydCode = function(value) {
  return jspb_internal_adapters.setInt32Field(this, 2, value);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.hasGnubbydCode = function() {
  return jspb_internal_adapters.hasInt32Field(this, 2);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.getErrorDetail = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 3);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.setErrorDetail = function(value) {
  return jspb_internal_adapters.setStringField(this, 3, value);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.hasErrorDetail = function() {
  return jspb_internal_adapters.hasStringField(this, 3);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.getJavascriptError = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 4);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.setJavascriptError = function(value) {
  return jspb_internal_adapters.setStringField(this, 4, value);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.hasJavascriptError = function() {
  return jspb_internal_adapters.hasStringField(this, 4);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.getSkeError = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 5);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.setSkeError = function(value) {
  return jspb_internal_adapters.setStringField(this, 5, value);
};
jspb$corplogin$server$MutableSysinfoStatus.prototype.hasSkeError = function() {
  return jspb_internal_adapters.hasStringField(this, 5);
};
jspb$corplogin$server$MutableSysinfoStatus.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$corplogin$server$MutableSysinfoStatus);
jspb$corplogin$server$MutableSysinfoStatus.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$corplogin$server$MutableSysinfoStatus);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$corplogin$server$MutableSysinfoStatus.internalDoNotUse_debugOnlyProtoTypeName = "corplogin.server.SysinfoStatus");
var jspb$b$corplogin$server$SysinfoStatus = {};
jspb$b$corplogin$server$SysinfoStatus.fields = [0, jspb_internal_binary.RWEnum, jspb_internal_binary.RWInt32, jspb_internal_binary.RWString, -2];
jspb$corplogin$server$MutableSysinfoStatus.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$corplogin$server$SysinfoStatus.fields);
var jspb$corplogin$server$ImmutableSysinfoStatus = function() {
};
jspb$corplogin$server$ImmutableSysinfoStatus.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$corplogin$server$MutableSysinfoStatus);
jspb$corplogin$server$ImmutableSysinfoStatus.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$corplogin$server$MutableSysinfoStatus);
jspb$corplogin$server$ImmutableSysinfoStatus.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$corplogin$server$MutableSysinfoStatus);
var jspb$o$corplogin$server$SysinfoStatus = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {code:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getEnumFieldNullable(msg, 1)), gnubbydCode:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getInt32FieldNullable(msg, 2)), errorDetail:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 3)), javascriptError:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 
    4)), skeError:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getStringFieldNullable(msg, 5))};
  }
}};
jspb$corplogin$server$MutableSysinfoStatus.prototype.toObject = function() {
  return jspb$o$corplogin$server$SysinfoStatus.internal_toObject(this);
};
jspb$o$corplogin$server$SysinfoStatus.fromObject = function(obj) {
  var msg = new jspb$corplogin$server$MutableSysinfoStatus();
  jspb_internal_adapters.setEnumField(msg, 1, obj.code);
  jspb_internal_adapters.setInt32Field(msg, 2, obj.gnubbydCode);
  jspb_internal_adapters.setStringField(msg, 3, obj.errorDetail);
  jspb_internal_adapters.setStringField(msg, 4, obj.javascriptError);
  jspb_internal_adapters.setStringField(msg, 5, obj.skeError);
  return msg;
};
proto.corplogin.server.ReadonlySysinfoStatus = {};
proto.corplogin.server.SysinfoStatus = jspb$corplogin$server$MutableSysinfoStatus;
jspb$corplogin$server$MutableSysinfoStatus.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$corplogin$server$MutableSysinfoStatus, jspb$b$corplogin$server$SysinfoStatus.fields);
jspb$corplogin$server$MutableSysinfoStatus.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$corplogin$server$SysinfoStatus.fields);
jspb$corplogin$server$MutableSysinfoStatus.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$corplogin$server$SysinfoStatus.fields);
jspb$corplogin$server$MutableSysinfoStatus.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$corplogin$server$MutableSysinfoStatus, jspb$b$corplogin$server$SysinfoStatus.fields);
jspb$corplogin$server$MutableSysinfoStatus.fromObject = jspb$o$corplogin$server$SysinfoStatus.fromObject;
proto.corplogin.server.MutableSysinfoStatus = jspb$corplogin$server$MutableSysinfoStatus;
jspb$corplogin$server$ImmutableSysinfoStatus.serializeBinary = jspb$corplogin$server$MutableSysinfoStatus.serializeBinary;
jspb$corplogin$server$ImmutableSysinfoStatus.serializeBinaryToByteString = jspb$corplogin$server$MutableSysinfoStatus.serializeBinaryToByteString;
jspb$corplogin$server$ImmutableSysinfoStatus.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$corplogin$server$MutableSysinfoStatus.deserializeBinary);
jspb$corplogin$server$ImmutableSysinfoStatus.makeCrossSerializerComparisonsCompatible = jspb$corplogin$server$MutableSysinfoStatus.makeCrossSerializerComparisonsCompatible;
proto.corplogin.server.ImmutableSysinfoStatus = jspb$corplogin$server$ImmutableSysinfoStatus;
var jspb$corplogin$server$MutableSysinfos = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$corplogin$server$MutableSysinfos, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$corplogin$server$MutableSysinfos.prototype.getSysinfoStatus = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$corplogin$server$MutableSysinfoStatus, 1);
};
jspb$corplogin$server$MutableSysinfos.prototype.setSysinfoStatus = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$corplogin$server$MutableSysinfoStatus, 1, value);
};
jspb$corplogin$server$MutableSysinfos.prototype.getGnubbySysinfoList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$corplogin$server$MutableGnubbySysinfo, 2, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$corplogin$server$MutableSysinfos.prototype.addGnubbySysinfo = function(value, index) {
  return jspb_internal_adapters.addToRepeatedWrapperField(this, 2, jspb$corplogin$server$MutableGnubbySysinfo, value, index);
};
jspb$corplogin$server$MutableSysinfos.prototype.getGnubbySysinfoCount = function() {
  return jspb_internal_adapters.getRepeatedWrapperCount(this, jspb$corplogin$server$MutableGnubbySysinfo, 2);
};
jspb$corplogin$server$MutableSysinfos.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$corplogin$server$MutableSysinfos);
jspb$corplogin$server$MutableSysinfos.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$corplogin$server$MutableSysinfos);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$corplogin$server$MutableSysinfos.internalDoNotUse_debugOnlyProtoTypeName = "corplogin.server.Sysinfos");
var jspb$b$corplogin$server$Sysinfos = {};
jspb$b$corplogin$server$Sysinfos.fields = [0, jspb$b$corplogin$server$SysinfoStatus.fields, jspb_internal_binary.RWRepeatedMessage, jspb$b$corplogin$server$GnubbySysinfo.fields];
jspb$corplogin$server$MutableSysinfos.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$corplogin$server$Sysinfos.fields);
var jspb$corplogin$server$ImmutableSysinfos = function() {
};
jspb$corplogin$server$ImmutableSysinfos.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$corplogin$server$MutableSysinfos);
jspb$corplogin$server$ImmutableSysinfos.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$corplogin$server$MutableSysinfos);
jspb$corplogin$server$ImmutableSysinfos.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$corplogin$server$MutableSysinfos);
var jspb$o$corplogin$server$Sysinfos = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {sysinfoStatus:jspb$o$corplogin$server$SysinfoStatus.internal_toObject(msg.getSysinfoStatus()), gnubbySysinfoList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getGnubbySysinfoList(), jspb$o$corplogin$server$GnubbySysinfo.internal_toObject)};
  }
}};
jspb$corplogin$server$MutableSysinfos.prototype.toObject = function() {
  return jspb$o$corplogin$server$Sysinfos.internal_toObject(this);
};
jspb$o$corplogin$server$Sysinfos.fromObject = function(obj) {
  var msg = new jspb$corplogin$server$MutableSysinfos();
  jspb_internal_adapters.setWrapperField(msg, jspb$corplogin$server$MutableSysinfoStatus, 1, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.sysinfoStatus, jspb$o$corplogin$server$SysinfoStatus.fromObject));
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$corplogin$server$MutableGnubbySysinfo, 2, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.gnubbySysinfoList, jspb$o$corplogin$server$GnubbySysinfo.fromObject));
  return msg;
};
proto.corplogin.server.ReadonlySysinfos = {};
proto.corplogin.server.Sysinfos = jspb$corplogin$server$MutableSysinfos;
jspb$corplogin$server$MutableSysinfos.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$corplogin$server$MutableSysinfos, jspb$b$corplogin$server$Sysinfos.fields);
jspb$corplogin$server$MutableSysinfos.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$corplogin$server$Sysinfos.fields);
jspb$corplogin$server$MutableSysinfos.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$corplogin$server$Sysinfos.fields);
jspb$corplogin$server$MutableSysinfos.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$corplogin$server$MutableSysinfos, jspb$b$corplogin$server$Sysinfos.fields);
jspb$corplogin$server$MutableSysinfos.fromObject = jspb$o$corplogin$server$Sysinfos.fromObject;
proto.corplogin.server.MutableSysinfos = jspb$corplogin$server$MutableSysinfos;
jspb$corplogin$server$ImmutableSysinfos.serializeBinary = jspb$corplogin$server$MutableSysinfos.serializeBinary;
jspb$corplogin$server$ImmutableSysinfos.serializeBinaryToByteString = jspb$corplogin$server$MutableSysinfos.serializeBinaryToByteString;
jspb$corplogin$server$ImmutableSysinfos.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$corplogin$server$MutableSysinfos.deserializeBinary);
jspb$corplogin$server$ImmutableSysinfos.makeCrossSerializerComparisonsCompatible = jspb$corplogin$server$MutableSysinfos.makeCrossSerializerComparisonsCompatible;
proto.corplogin.server.ImmutableSysinfos = jspb$corplogin$server$ImmutableSysinfos;
jspb$e.corplogin$server$UpdateResult$OutcomeCase = {OUTCOME_NOT_SET:0, SYSINFO_FAILURE:1, ZERO_SYSINFO_FOUND:2, FETCH_ERROR:3, ALREADY_UPTODATE:4, SKE_FAILURE:5, SUCCESS:6, IN_CRD:7, CRD_ERROR:8};
var jspb$corplogin$server$UpdateResult$MutableSkeFailure = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$corplogin$server$UpdateResult$MutableSkeFailure, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$corplogin$server$UpdateResult$MutableSkeFailure.prototype.addFirmwareErrorMessage = function(value, index) {
  return jspb_internal_adapters.addToRepeatedStringField(this, 1, value, index);
};
jspb$corplogin$server$UpdateResult$MutableSkeFailure.prototype.addAllFirmwareErrorMessage = function(values) {
  return jspb_internal_adapters.addAllToRepeatedStringField(this, 1, values);
};
jspb$corplogin$server$UpdateResult$MutableSkeFailure.prototype.addAppletErrorMessage = function(value, index) {
  return jspb_internal_adapters.addToRepeatedStringField(this, 2, value, index);
};
jspb$corplogin$server$UpdateResult$MutableSkeFailure.prototype.addAllAppletErrorMessage = function(values) {
  return jspb_internal_adapters.addAllToRepeatedStringField(this, 2, values);
};
jspb$corplogin$server$UpdateResult$MutableSkeFailure.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$corplogin$server$UpdateResult$MutableSkeFailure);
jspb$corplogin$server$UpdateResult$MutableSkeFailure.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$corplogin$server$UpdateResult$MutableSkeFailure);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$corplogin$server$UpdateResult$MutableSkeFailure.internalDoNotUse_debugOnlyProtoTypeName = "corplogin.server.UpdateResult.SkeFailure");
var jspb$b$corplogin$server$UpdateResult$SkeFailure = {};
jspb$b$corplogin$server$UpdateResult$SkeFailure.fields = [0, jspb_internal_binary.RWRepeatedString, -1];
jspb$corplogin$server$UpdateResult$MutableSkeFailure.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$corplogin$server$UpdateResult$SkeFailure.fields);
var jspb$corplogin$server$MutableUpdateResult = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$corplogin$server$MutableUpdateResult, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$corplogin$server$MutableUpdateResult.prototype.getSysinfoFailure = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$corplogin$server$MutableSysinfoStatus, 1, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_);
};
jspb$corplogin$server$MutableUpdateResult.prototype.setSysinfoFailure = function(value) {
  return jspb_internal_adapters.setOneofWrapperField(this, jspb$corplogin$server$MutableSysinfoStatus, 1, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, value);
};
jspb$corplogin$server$MutableUpdateResult.prototype.getZeroSysinfoFound = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$google$protobuf$MutableEmpty, 2, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_);
};
jspb$corplogin$server$MutableUpdateResult.prototype.setZeroSysinfoFound = function(value) {
  return jspb_internal_adapters.setOneofWrapperField(this, jspb$google$protobuf$MutableEmpty, 2, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, value);
};
jspb$corplogin$server$MutableUpdateResult.prototype.setFetchError = function(value) {
  return jspb_internal_adapters.setOneofStringField(this, 3, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, value);
};
jspb$corplogin$server$MutableUpdateResult.prototype.getAlreadyUptodate = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$google$protobuf$MutableEmpty, 4, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_);
};
jspb$corplogin$server$MutableUpdateResult.prototype.setAlreadyUptodate = function(value) {
  return jspb_internal_adapters.setOneofWrapperField(this, jspb$google$protobuf$MutableEmpty, 4, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, value);
};
jspb$corplogin$server$MutableUpdateResult.prototype.getSkeFailure = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$corplogin$server$UpdateResult$MutableSkeFailure, 5, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_);
};
jspb$corplogin$server$MutableUpdateResult.prototype.setSkeFailure = function(value) {
  return jspb_internal_adapters.setOneofWrapperField(this, jspb$corplogin$server$UpdateResult$MutableSkeFailure, 5, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, value);
};
jspb$corplogin$server$MutableUpdateResult.prototype.getSuccess = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$google$protobuf$MutableEmpty, 6, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_);
};
jspb$corplogin$server$MutableUpdateResult.prototype.setSuccess = function(value) {
  return jspb_internal_adapters.setOneofWrapperField(this, jspb$google$protobuf$MutableEmpty, 6, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, value);
};
jspb$corplogin$server$MutableUpdateResult.prototype.getInCrd = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$google$protobuf$MutableEmpty, 7, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_);
};
jspb$corplogin$server$MutableUpdateResult.prototype.setInCrd = function(value) {
  return jspb_internal_adapters.setOneofWrapperField(this, jspb$google$protobuf$MutableEmpty, 7, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, value);
};
jspb$corplogin$server$MutableUpdateResult.prototype.setCrdError = function(value) {
  return jspb_internal_adapters.setOneofStringField(this, 8, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, value);
};
jspb$corplogin$server$MutableUpdateResult.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$corplogin$server$MutableUpdateResult);
jspb$corplogin$server$MutableUpdateResult.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$corplogin$server$MutableUpdateResult);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$corplogin$server$MutableUpdateResult.internalDoNotUse_debugOnlyProtoTypeName = "corplogin.server.UpdateResult");
jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_ = [1, 2, 3, 4, 5, 6, 7, 8];
var jspb$b$corplogin$server$UpdateResult = {};
jspb$b$corplogin$server$UpdateResult.fields = [0, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, jspb_internal_binary.RMessageOneofWMessage, jspb$b$corplogin$server$SysinfoStatus.fields, jspb_internal_binary.RMessageOneofWMessage, jspb$b$google$protobuf$Empty.fields, jspb_internal_binary.RStringOneofWString, jspb_internal_binary.RMessageOneofWMessage, jspb$b$google$protobuf$Empty.fields, jspb_internal_binary.RMessageOneofWMessage, jspb$b$corplogin$server$UpdateResult$SkeFailure.fields, 
jspb_internal_binary.RMessageOneofWMessage, jspb$b$google$protobuf$Empty.fields, -1, jspb_internal_binary.RStringOneofWString];
jspb$corplogin$server$MutableUpdateResult.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$corplogin$server$UpdateResult.fields);
var jspb$corplogin$server$ImmutableUpdateResult = function() {
};
jspb$corplogin$server$ImmutableUpdateResult.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$corplogin$server$MutableUpdateResult);
jspb$corplogin$server$ImmutableUpdateResult.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$corplogin$server$MutableUpdateResult);
jspb$corplogin$server$ImmutableUpdateResult.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$corplogin$server$MutableUpdateResult);
var jspb$o$corplogin$server$UpdateResult$SkeFailure = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {firmwareErrorMessageList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedStringField(msg, 1, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN)), appletErrorMessageList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedStringField(msg, 2, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN))};
  }
}};
jspb$corplogin$server$UpdateResult$MutableSkeFailure.prototype.toObject = function() {
  return jspb$o$corplogin$server$UpdateResult$SkeFailure.internal_toObject(this);
};
jspb$o$corplogin$server$UpdateResult$SkeFailure.fromObject = function(obj) {
  var msg = new jspb$corplogin$server$UpdateResult$MutableSkeFailure();
  jspb_internal_adapters.setRepeatedStringField(msg, 1, obj.firmwareErrorMessageList);
  jspb_internal_adapters.setRepeatedStringField(msg, 2, obj.appletErrorMessageList);
  return msg;
};
var jspb$o$corplogin$server$UpdateResult = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {sysinfoFailure:jspb$o$corplogin$server$SysinfoStatus.internal_toObject(msg.getSysinfoFailure()), zeroSysinfoFound:jspb$o$google$protobuf$Empty.internal_toObject(msg.getZeroSysinfoFound()), fetchError:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getOneofStringFieldNullable(msg, 3, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_)), alreadyUptodate:jspb$o$google$protobuf$Empty.internal_toObject(msg.getAlreadyUptodate()), 
    skeFailure:jspb$o$corplogin$server$UpdateResult$SkeFailure.internal_toObject(msg.getSkeFailure()), success:jspb$o$google$protobuf$Empty.internal_toObject(msg.getSuccess()), inCrd:jspb$o$google$protobuf$Empty.internal_toObject(msg.getInCrd()), crdError:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getOneofStringFieldNullable(msg, 8, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_))};
  }
}};
jspb$corplogin$server$MutableUpdateResult.prototype.toObject = function() {
  return jspb$o$corplogin$server$UpdateResult.internal_toObject(this);
};
jspb$o$corplogin$server$UpdateResult.fromObject = function(obj) {
  var msg = new jspb$corplogin$server$MutableUpdateResult();
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$corplogin$server$MutableSysinfoStatus, 1, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.sysinfoFailure, jspb$o$corplogin$server$SysinfoStatus.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$google$protobuf$MutableEmpty, 2, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.zeroSysinfoFound, jspb$o$google$protobuf$Empty.fromObject));
  jspb_internal_adapters.setOneofStringField(msg, 3, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, obj.fetchError);
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$google$protobuf$MutableEmpty, 4, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.alreadyUptodate, jspb$o$google$protobuf$Empty.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$corplogin$server$UpdateResult$MutableSkeFailure, 5, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.skeFailure, jspb$o$corplogin$server$UpdateResult$SkeFailure.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$google$protobuf$MutableEmpty, 6, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.success, jspb$o$google$protobuf$Empty.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$google$protobuf$MutableEmpty, 7, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.inCrd, jspb$o$google$protobuf$Empty.fromObject));
  jspb_internal_adapters.setOneofStringField(msg, 8, jspb$corplogin$server$MutableUpdateResult.oneofGroup_OutcomeCase_, obj.crdError);
  return msg;
};
proto.corplogin.server.ReadonlyUpdateResult = {};
proto.corplogin.server.UpdateResult = jspb$corplogin$server$MutableUpdateResult;
jspb$corplogin$server$MutableUpdateResult.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$corplogin$server$MutableUpdateResult, jspb$b$corplogin$server$UpdateResult.fields);
jspb$corplogin$server$MutableUpdateResult.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$corplogin$server$UpdateResult.fields);
jspb$corplogin$server$MutableUpdateResult.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$corplogin$server$UpdateResult.fields);
jspb$corplogin$server$MutableUpdateResult.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$corplogin$server$MutableUpdateResult, jspb$b$corplogin$server$UpdateResult.fields);
jspb$corplogin$server$MutableUpdateResult.fromObject = jspb$o$corplogin$server$UpdateResult.fromObject;
proto.corplogin.server.MutableUpdateResult = jspb$corplogin$server$MutableUpdateResult;
jspb$corplogin$server$ImmutableUpdateResult.serializeBinary = jspb$corplogin$server$MutableUpdateResult.serializeBinary;
jspb$corplogin$server$ImmutableUpdateResult.serializeBinaryToByteString = jspb$corplogin$server$MutableUpdateResult.serializeBinaryToByteString;
jspb$corplogin$server$ImmutableUpdateResult.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$corplogin$server$MutableUpdateResult.deserializeBinary);
jspb$corplogin$server$ImmutableUpdateResult.makeCrossSerializerComparisonsCompatible = jspb$corplogin$server$MutableUpdateResult.makeCrossSerializerComparisonsCompatible;
proto.corplogin.server.ImmutableUpdateResult = jspb$corplogin$server$ImmutableUpdateResult;
jspb$corplogin$server$UpdateResult$MutableSkeFailure.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$corplogin$server$UpdateResult$MutableSkeFailure, jspb$b$corplogin$server$UpdateResult$SkeFailure.fields);
jspb$corplogin$server$UpdateResult$MutableSkeFailure.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$corplogin$server$UpdateResult$SkeFailure.fields);
jspb$corplogin$server$UpdateResult$MutableSkeFailure.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$corplogin$server$UpdateResult$SkeFailure.fields);
jspb$corplogin$server$UpdateResult$MutableSkeFailure.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$corplogin$server$UpdateResult$MutableSkeFailure, jspb$b$corplogin$server$UpdateResult$SkeFailure.fields);
jspb$corplogin$server$UpdateResult$MutableSkeFailure.fromObject = jspb$o$corplogin$server$UpdateResult$SkeFailure.fromObject;
var jspb$corplogin$server$ImmutableVersion = function() {
};
jspb$corplogin$server$ImmutableVersion.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$corplogin$server$MutableVersion);
jspb$corplogin$server$ImmutableVersion.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$corplogin$server$MutableVersion);
jspb$corplogin$server$ImmutableVersion.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$corplogin$server$MutableVersion);
proto.corplogin.server.ReadonlyVersion = {};
proto.corplogin.server.Version = jspb$corplogin$server$MutableVersion;
jspb$corplogin$server$MutableVersion.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$corplogin$server$MutableVersion, jspb$b$corplogin$server$Version.fields);
jspb$corplogin$server$MutableVersion.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$corplogin$server$Version.fields);
jspb$corplogin$server$MutableVersion.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$corplogin$server$Version.fields);
jspb$corplogin$server$MutableVersion.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$corplogin$server$MutableVersion, jspb$b$corplogin$server$Version.fields);
jspb$corplogin$server$MutableVersion.fromObject = jspb$o$corplogin$server$Version.fromObject;
proto.corplogin.server.MutableVersion = jspb$corplogin$server$MutableVersion;
jspb$corplogin$server$ImmutableVersion.serializeBinary = jspb$corplogin$server$MutableVersion.serializeBinary;
jspb$corplogin$server$ImmutableVersion.serializeBinaryToByteString = jspb$corplogin$server$MutableVersion.serializeBinaryToByteString;
jspb$corplogin$server$ImmutableVersion.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$corplogin$server$MutableVersion.deserializeBinary);
jspb$corplogin$server$ImmutableVersion.makeCrossSerializerComparisonsCompatible = jspb$corplogin$server$MutableVersion.makeCrossSerializerComparisonsCompatible;
proto.corplogin.server.ImmutableVersion = jspb$corplogin$server$ImmutableVersion;
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$base64_base64DecodeString(inputString) {
  return (new Uint8Array((0,goog.crypt.base64.decodeStringToByteArray)(inputString ? inputString : ""))).buffer;
}
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$base64_base64EncodeBytesWebsafeNoPadding(data) {
  return (0,goog.crypt.base64.encodeByteArray)(new Uint8Array(data), goog.crypt.base64.Alphabet.WEBSAFE_NO_PADDING);
}
;var module$contents$google3$java$com$google$corplogin$server$serverfiles$c$botguard_vm = null;
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$botguard_setup() {
  if (module$contents$google3$java$com$google$corplogin$server$serverfiles$c$botguard_vm !== null) {
    throw Error("setup() already called");
  }
  var metadata = {"X-Goog-Api-Key":module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api.WEBANTIABUSE_COMMON_API_KEY_PROD}, fetcher = new module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api.WaaApi(new proto.google.internal.waa.v1.WaaPromiseClient(module$exports$google3$ccc$abuse$botguard$client$javascript$webantiabuse_api.WEBANTIABUSE_URL_PROD, null, null), "132ActXtBuElRSoXMjeR", function() {
    return metadata;
  });
  module$contents$google3$java$com$google$corplogin$server$serverfiles$c$botguard_vm = new module$exports$google3$ccc$abuse$botguard$client$javascript$refreshing.RefreshingBotGuardVm({fetcher:fetcher});
}
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$botguard_snapshot() {
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$387588092$14) {
    if ($jscomp$generator$context$387588092$14.nextAddress == 1) {
      if (module$contents$google3$java$com$google$corplogin$server$serverfiles$c$botguard_vm == null) {
        throw Error("Must setup() beore snapshot()");
      }
      return $jscomp$generator$context$387588092$14.yield(module$contents$google3$java$com$google$corplogin$server$serverfiles$c$botguard_vm.snapshot({}), 2);
    }
    return $jscomp$generator$context$387588092$14.return($jscomp$generator$context$387588092$14.yieldResult);
  });
}
;var module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants = {XSSI_JSON_PREFIX:")]}'\n", CORP_APPID:"https://www.gstatic.com/securitykey/a/google.com/origins.json", CORP_RPID:"google.com", FidoProtocolType:{U2F_V2:"U2F_V2", WEBAUTHN:"WEBAUTHN"}, GNUBBY_REBOOT_DELAY_MS:500};
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$forms_loginForm() {
  return module$contents$goog$asserts$dom_assertIsHtmlFormElement(document.getElementById("loginForm"));
}
;goog.cryptotoken = {};
goog.cryptotoken.CryptoTokenCodeTypes = {OK:0, ALREADY_ENROLLED:2, NONE_PLUGGED_ENROLLED:3, WAIT_TOUCH:4, TOUCH_TIMEOUT:6, UNKNOWN_ERROR:7, NO_EXTENSION:8, NO_DEVICES_ENROLLED:9, BROWSER_ERROR:10, BAD_REQUEST:12, CONFIGURATION_UNSUPPORTED:15, API_UNSUPPORTED:16, AUTHENTICATOR_NOT_INSTALLED:17, USER_CANCELLED:18, NEED_IOS_SECURITY_KEY_APP:19};
goog.cryptotoken.CryptoTokenMsgTypes = {RES_ERROR:"res_error", ENROLL_WEB_REQ:"enroll_web_request", SIGN_WEB_REQ:"sign_web_request", ENROLL_WEB_REPLY:"enroll_web_reply", SIGN_WEB_REPLY:"sign_web_reply"};
goog.cryptotoken.GnubbydMessageTypes = {SYSINFOS_REQ:"security_key_sysinfos_request", SYSINFOS_RESP:"security_key_sysinfos_response"};
goog.cryptotoken.u2f = {};
goog.cryptotoken.u2f.ErrorCodes = {OK:0, OTHER_ERROR:1, BAD_REQUEST:2, CONFIGURATION_UNSUPPORTED:3, DEVICE_INELIGIBLE:4, TIMEOUT:5};
goog.cryptotoken.u2f.MessageTypes = {REGISTER_REQUEST:"u2f_register_request", SIGN_REQUEST:"u2f_sign_request", REGISTER_RESPONSE:"u2f_register_response", SIGN_RESPONSE:"u2f_sign_response", U2F_GET_API_VERSION_REQUEST:"u2f_get_api_version_request", U2F_GET_API_VERSION_RESPONSE:"u2f_get_api_version_response"};
goog.cryptotoken.u2f.VersionStrings = {LEGACY_V1_0:"LEGACY_V1.0", U2F_V1_0:"U2F_V1.0", U2F_V1_1:"U2F_V1.1"};
goog.cryptotoken.u2f.util = {};
goog.cryptotoken.u2f.util.u2fErrorCodeToCryptoTokenCodeType = function(errorCode, isSign) {
  switch(errorCode) {
    case goog.cryptotoken.u2f.ErrorCodes.OK:
      return goog.cryptotoken.CryptoTokenCodeTypes.OK;
    case goog.cryptotoken.u2f.ErrorCodes.BAD_REQUEST:
      return goog.cryptotoken.CryptoTokenCodeTypes.BAD_REQUEST;
    case goog.cryptotoken.u2f.ErrorCodes.CONFIGURATION_UNSUPPORTED:
      return goog.cryptotoken.CryptoTokenCodeTypes.CONFIGURATION_UNSUPPORTED;
    case goog.cryptotoken.u2f.ErrorCodes.DEVICE_INELIGIBLE:
      return isSign ? goog.cryptotoken.CryptoTokenCodeTypes.NONE_PLUGGED_ENROLLED : goog.cryptotoken.CryptoTokenCodeTypes.ALREADY_ENROLLED;
    case goog.cryptotoken.u2f.ErrorCodes.TIMEOUT:
      return goog.cryptotoken.CryptoTokenCodeTypes.TOUCH_TIMEOUT;
    default:
      return goog.cryptotoken.CryptoTokenCodeTypes.UNKNOWN_ERROR;
  }
};
goog.cryptotoken.u2f.util.isSignResponse = function(type) {
  return type == goog.cryptotoken.u2f.MessageTypes.SIGN_REQUEST || type == goog.cryptotoken.u2f.MessageTypes.SIGN_RESPONSE;
};
goog.cryptotoken.u2f.util.versionFromType = function(type) {
  switch(type) {
    case goog.cryptotoken.CryptoTokenMsgTypes.ENROLL_WEB_REPLY:
    case goog.cryptotoken.CryptoTokenMsgTypes.SIGN_WEB_REPLY:
    case goog.cryptotoken.CryptoTokenMsgTypes.RES_ERROR:
      return goog.cryptotoken.u2f.VersionStrings.LEGACY_V1_0;
    case goog.cryptotoken.u2f.MessageTypes.REGISTER_RESPONSE:
    case goog.cryptotoken.u2f.MessageTypes.SIGN_RESPONSE:
      return goog.cryptotoken.u2f.VersionStrings.U2F_V1_0;
    default:
      return null;
  }
};
goog.cryptotoken.u2f.util.formatU2fV1dot0EnrollRequest = function(enrollDataList, signDataList, timeoutSeconds) {
  var registerRequests = goog.cryptotoken.u2f.util.makeU2fRegisterRequests_(enrollDataList), signRequests = goog.cryptotoken.u2f.util.makeU2fSignRequests_(signDataList);
  return {type:goog.cryptotoken.u2f.MessageTypes.REGISTER_REQUEST, registerRequests:registerRequests, signRequests:signRequests, timeoutSeconds:timeoutSeconds};
};
goog.cryptotoken.u2f.util.canUseU2fV1dot1EnrollRequest = function(enrollDataList) {
  for (var i = 0; i < enrollDataList.length; i++) {
    if (!enrollDataList[i].sessionId && enrollDataList[i].challenge) {
      return !0;
    }
  }
  return !1;
};
goog.cryptotoken.u2f.util.formatU2fV1dot1EnrollRequest = function(enrollDataList, signDataList, timeoutSeconds) {
  var request = {type:goog.cryptotoken.u2f.MessageTypes.REGISTER_REQUEST}, registerRequests = goog.cryptotoken.u2f.util.makeU2fRegisterRequests_(enrollDataList);
  goog.cryptotoken.u2f.util.normalizeAppId_(request, registerRequests);
  goog.cryptotoken.u2f.util.maybeRequestAttestation_(request, registerRequests);
  request.registerRequests = registerRequests;
  var registeredKeys = goog.cryptotoken.u2f.util.makeU2fSignRequests_(signDataList);
  goog.cryptotoken.u2f.util.normalizeAppId_(request, registeredKeys);
  for (var i = 0; i < registeredKeys.length; i++) {
    delete registeredKeys[i].challenge;
  }
  request.registeredKeys = registeredKeys;
  request.timeoutSeconds = timeoutSeconds;
  return request;
};
goog.cryptotoken.u2f.util.formatU2fV1dot0SignRequest = function(signDataList, timeoutSeconds) {
  var signRequests = goog.cryptotoken.u2f.util.makeU2fSignRequests_(signDataList);
  return {type:goog.cryptotoken.u2f.MessageTypes.SIGN_REQUEST, signRequests:signRequests, timeoutSeconds:timeoutSeconds};
};
goog.cryptotoken.u2f.util.canUseU2fV1dot1SignRequest = function(signDataList) {
  for (var i = 0; i < signDataList.length; i++) {
    if (!signDataList[i].sessionId && signDataList[i].challenge) {
      return !0;
    }
  }
  return !1;
};
goog.cryptotoken.u2f.util.formatU2fV1dot1SignRequest = function(signDataList, timeoutSeconds) {
  var request = {type:goog.cryptotoken.u2f.MessageTypes.SIGN_REQUEST}, registeredKeys = goog.cryptotoken.u2f.util.makeU2fSignRequests_(signDataList);
  goog.cryptotoken.u2f.util.normalizeAppId_(request, registeredKeys);
  goog.cryptotoken.u2f.util.normalizeChallenge_(request, registeredKeys);
  request.registeredKeys = registeredKeys;
  request.timeoutSeconds = timeoutSeconds;
  return request;
};
goog.cryptotoken.u2f.util.makeU2fRegisterRequests_ = function(enrollDataList) {
  function copyProperty(sourceObject, destObject, name) {
    sourceObject.hasOwnProperty(name) && (destObject[name] = sourceObject[name]);
  }
  for (var requests = [], i = 0; i < enrollDataList.length; i++) {
    var legacyEnrollChallenge = enrollDataList[i], registerRequest = {};
    copyProperty(legacyEnrollChallenge, registerRequest, "version");
    copyProperty(legacyEnrollChallenge, registerRequest, "challenge");
    copyProperty(legacyEnrollChallenge, registerRequest, "appId");
    requests.push(registerRequest);
  }
  return requests.sort(function(left, right) {
    var matchArrayLeft = /U2F_V([0-9])/.exec(left.version), matchArrayRight = /U2F_V([0-9])/.exec(right.version);
    return matchArrayLeft && !matchArrayRight ? -1 : !matchArrayLeft && matchArrayRight ? 1 : matchArrayLeft || matchArrayRight ? matchArrayRight[1] - matchArrayLeft[1] : left.version - right.version;
  });
};
goog.cryptotoken.u2f.util.makeU2fSignRequests_ = function(signDataList) {
  function copyProperty(sourceObject, destObject, name) {
    sourceObject.hasOwnProperty(name) && (destObject[name] = sourceObject[name]);
  }
  for (var requests = [], i = 0; i < signDataList.length; i++) {
    var legacySignChallenge = signDataList[i], signRequest = {};
    copyProperty(legacySignChallenge, signRequest, "version");
    copyProperty(legacySignChallenge, signRequest, "keyHandle");
    copyProperty(legacySignChallenge, signRequest, "challenge");
    copyProperty(legacySignChallenge, signRequest, "appId");
    copyProperty(legacySignChallenge, signRequest, "transports");
    requests.push(signRequest);
  }
  return requests;
};
goog.cryptotoken.u2f.util.maybeRequestAttestation_ = function(request, requestList) {
  if (request.type === "u2f_register_request") {
    for (var $jscomp$iter$106 = (0,$jscomp.makeIterator)(requestList), $jscomp$key$m939199915$0$registerRequest = $jscomp$iter$106.next(); !$jscomp$key$m939199915$0$registerRequest.done; $jscomp$key$m939199915$0$registerRequest = $jscomp$iter$106.next()) {
      $jscomp$key$m939199915$0$registerRequest.value.attestation = "direct";
    }
  }
};
goog.cryptotoken.u2f.util.normalizeAppId_ = function(request, requestList) {
  goog.cryptotoken.u2f.util.normalizeValue_(request, "appId", requestList);
};
goog.cryptotoken.u2f.util.normalizeChallenge_ = function(request, requestList) {
  goog.cryptotoken.u2f.util.normalizeValue_(request, "challenge", requestList);
};
goog.cryptotoken.u2f.util.normalizeValue_ = function(request, valueName, requestList) {
  for (var i = 0; i < requestList.length; i++) {
    var subRequest = requestList[i];
    subRequest.hasOwnProperty(valueName) && (request.hasOwnProperty(valueName) ? subRequest[valueName] == request[valueName] && delete subRequest[valueName] : (request[valueName] = subRequest[valueName], delete subRequest[valueName]));
  }
};
goog.cryptotoken.CryptoTokenRequestSender = function(requestCallback) {
  this.requestCallback_ = requestCallback;
  this.map = {};
  this.promiseMap_ = {};
  this.initialized = !1;
};
goog.cryptotoken.CryptoTokenRequestSender.prototype.hasError = function() {
  throw Error("sub-classes are required to implement hasError()");
};
goog.cryptotoken.CryptoTokenRequestSender.prototype.connect = function() {
  throw Error("sub-classes are required to implement connect()");
};
goog.cryptotoken.CryptoTokenRequestSender.prototype.doSend = function() {
  throw Error("sub-classes are required to implement doSend()");
};
goog.cryptotoken.CryptoTokenRequestSender.prototype.formatSignRequest = function() {
  throw Error("sub-classes are required to implement formatSignRequest()");
};
goog.cryptotoken.CryptoTokenRequestSender.prototype.supportsSysinfo = function() {
  return !1;
};
goog.cryptotoken.CryptoTokenRequestSender.prototype.sendRequest = function(requestObject, opt_enableConsoleLogging) {
  var requestId = requestObject.requestId;
  this.initialized ? (this.map[requestId] = {}, this.map[requestId].requestObject = requestObject, opt_enableConsoleLogging && goog.global.console.log("Connection to extension initialized, sending request"), this.doSend(requestObject)) : (opt_enableConsoleLogging && goog.global.console.log("Initializing connection to extension failed."), this.sendErrorResponse_(requestId, goog.cryptotoken.u2f.util.isSignResponse(requestObject.type)));
};
goog.cryptotoken.CryptoTokenRequestSender.prototype.sendRequestPromise = function(req) {
  var $jscomp$this$1992851612$9 = this, id = req.requestId;
  if (!this.initialized) {
    return Promise.resolve({type:goog.cryptotoken.GnubbydMessageTypes.SYSINFOS_RESP, requestId:id, responseData:{errorCode:goog.cryptotoken.u2f.ErrorCodes.OTHER_ERROR, errorDetail:"Extension not initialized."}});
  }
  var timeout = req.timeoutSeconds;
  return new Promise(function(succ) {
    $jscomp$this$1992851612$9.map[id] = {requestObject:req};
    var callback = {succ:succ};
    if (timeout) {
      var timeoutResp = {type:goog.cryptotoken.GnubbydMessageTypes.SYSINFOS_RESP, requestId:id, responseData:{errorCode:goog.cryptotoken.u2f.ErrorCodes.TIMEOUT, errorDetail:"Hit the fallback timeout"}};
      callback.fallbackTimeoutId = setTimeout(function() {
        $jscomp$this$1992851612$9.callback_(timeoutResp);
      }, (timeout + .5) * 1E3);
    }
    $jscomp$this$1992851612$9.promiseMap_[id] = callback;
    $jscomp$this$1992851612$9.doSend(req);
  });
};
goog.cryptotoken.CryptoTokenRequestSender.prototype.callback_ = function(resp) {
  var id = resp.requestId;
  if (this.promiseMap_.hasOwnProperty(id)) {
    var callback = this.promiseMap_[id];
    if (callback.succ) {
      callback.fallbackTimeoutId && clearTimeout(callback.fallbackTimeoutId);
      var succ = callback.succ;
      callback.succ = null;
      succ(resp);
    }
  } else {
    this.requestCallback_(resp);
  }
};
goog.cryptotoken.CryptoTokenRequestSender.prototype.sendErrorResponse_ = function(requestId, isSignRequest) {
  this.callback_({type:isSignRequest ? goog.cryptotoken.u2f.MessageTypes.SIGN_RESPONSE : goog.cryptotoken.u2f.MessageTypes.REGISTER_RESPONSE, requestId:requestId, responseData:{errorCode:goog.cryptotoken.u2f.ErrorCodes.OTHER_ERROR}});
};
goog.cryptotoken.CryptoTokenRequestSender.prototype.handleU2fResponse = function(response) {
  if (response.hasOwnProperty("requestId")) {
    var requestId = response.requestId;
    if (this.map.hasOwnProperty(requestId)) {
      var mapEntry = this.map[requestId];
      if (mapEntry.hasOwnProperty("requestObject")) {
        var isSignRequest = goog.cryptotoken.u2f.util.isSignResponse(mapEntry.requestObject.type);
        this.hasError() || !goog.cryptotoken.CryptoTokenRequestSender.isValidResponse_(response) ? this.sendErrorResponse_(requestId, isSignRequest) : this.callback_(response);
      } else {
        this.sendErrorResponse_(requestId, !0);
      }
    } else {
      this.sendErrorResponse_(requestId, !0);
    }
  } else {
    goog.global.console.error("no id in response", response), this.sendErrorResponse_(0, !0);
  }
};
goog.cryptotoken.CryptoTokenRequestSender.prototype.handleErrorResponse = function(request, response) {
  this.callback_(response);
};
goog.cryptotoken.CryptoTokenRequestSender.isValidResponse_ = function(resp) {
  var type = resp.type;
  return type === goog.cryptotoken.GnubbydMessageTypes.SYSINFOS_RESP || goog.cryptotoken.u2f.util.versionFromType(type) !== null;
};
goog.cryptotoken.CryptoTokenRequestSender.getUniqueIdentifier = function(type) {
  return type == goog.cryptotoken.CryptoTokenMsgTypes.SIGN_WEB_REQ || type == goog.cryptotoken.CryptoTokenMsgTypes.SIGN_WEB_REPLY || type == goog.cryptotoken.u2f.MessageTypes.SIGN_REQUEST || type == goog.cryptotoken.u2f.MessageTypes.SIGN_RESPONSE ? "keyHandle" : type == goog.cryptotoken.CryptoTokenMsgTypes.ENROLL_WEB_REQ || type == goog.cryptotoken.CryptoTokenMsgTypes.ENROLL_WEB_REPLY || type == goog.cryptotoken.u2f.MessageTypes.REGISTER_REQUEST || type == goog.cryptotoken.u2f.MessageTypes.REGISTER_RESPONSE ? 
  "version" : null;
};
goog.cryptotoken.ChromeRuntimeRequestSender = function(requestCallback) {
  goog.cryptotoken.CryptoTokenRequestSender.call(this, requestCallback);
  this.extensionIndex_ = 0;
  this.crSendMessage_ = this.crConnect_ = this.cr_ = void 0;
  this.port_ = null;
  this.jsApiVersion_ = goog.cryptotoken.u2f.VersionStrings.U2F_V1_0;
  typeof chrome != "undefined" && typeof chrome.runtime != "undefined" && (this.cr_ = chrome.runtime, typeof chrome.runtime.connect != "undefined" && (this.crConnect_ = chrome.runtime.connect), typeof chrome.runtime.sendMessage != "undefined" && (this.crSendMessage_ = chrome.runtime.sendMessage));
};
$jscomp.inherits(goog.cryptotoken.ChromeRuntimeRequestSender, goog.cryptotoken.CryptoTokenRequestSender);
goog.cryptotoken.ChromeRuntimeRequestSender.prototype.hasError = function() {
  return this.cr_.lastError != void 0;
};
goog.cryptotoken.ChromeRuntimeRequestSender.prototype.formatSignRequest = function(signDataList, timeoutSeconds) {
  return this.jsApiVersion_ == goog.cryptotoken.u2f.VersionStrings.U2F_V1_1 && goog.cryptotoken.u2f.util.canUseU2fV1dot1SignRequest(signDataList) ? goog.cryptotoken.u2f.util.formatU2fV1dot1SignRequest(signDataList, timeoutSeconds) : goog.cryptotoken.u2f.util.formatU2fV1dot0SignRequest(signDataList, timeoutSeconds);
};
goog.cryptotoken.ChromeRuntimeRequestSender.prototype.connect = function(callback) {
  var extensionId = goog.cryptotoken.ChromeRuntimeRequestSender.CHROME_RUNTIME_EXTENSION_IDS_[this.extensionIndex_];
  if (extensionId) {
    var self = this;
    self.port_ = self.crConnect_(extensionId, {includeTlsChannelId:!0});
    this.crSendMessage_(extensionId, {type:goog.cryptotoken.u2f.MessageTypes.U2F_GET_API_VERSION_REQUEST}, function(response) {
      self.cr_.lastError ? (self.extensionIndex_++, self.connect(callback)) : (self.port_.onMessage.addListener(self.handleU2fResponse.bind(self)), typeof self.port_.onDisconnect != "undefined" && self.port_.onDisconnect.addListener(self.handleDisconnect.bind(self)), response && response.type == goog.cryptotoken.u2f.MessageTypes.U2F_GET_API_VERSION_RESPONSE && response.responseData && response.responseData.js_api_version == 1.1 && (self.jsApiVersion_ = goog.cryptotoken.u2f.VersionStrings.U2F_V1_1), 
      self.initialized = !0, callback(goog.cryptotoken.CryptoTokenCodeTypes.OK));
    });
  } else {
    callback(goog.cryptotoken.CryptoTokenCodeTypes.NO_EXTENSION);
  }
};
goog.cryptotoken.ChromeRuntimeRequestSender.prototype.supportsSysinfo = function() {
  return this.initialized;
};
goog.cryptotoken.ChromeRuntimeRequestSender.prototype.doSend = function(requestObject) {
  this.port_.postMessage(requestObject);
};
goog.cryptotoken.ChromeRuntimeRequestSender.prototype.handleDisconnect = function() {
  goog.global.console.log("port disconnected");
  this.port_ = null;
  this.map = {};
  this.initialized = !1;
};
goog.cryptotoken.ChromeRuntimeRequestSender.CHROME_RUNTIME_EXTENSION_IDS_ = ["klnjmillfildbbimkincljmfoepfhjjj", "lkjlajklkdhaneeelolkfgbpikkgnkpk", "dlfcjilkjfhdnfiecknlnddkmmiofjbg", "beknehfpfkghjoafdifaflglpjkojoco", "kmendfapggjehodndflmmgagdbamhnfd"];
goog.cryptotoken.DomEventRequestSender = function(requestCallback) {
  goog.cryptotoken.CryptoTokenRequestSender.call(this, requestCallback);
  this.eventTarget_ = window;
  this.extensionIndex_ = 0;
  this.useNativeApi_ = !1;
};
$jscomp.inherits(goog.cryptotoken.DomEventRequestSender, goog.cryptotoken.CryptoTokenRequestSender);
goog.cryptotoken.DomEventRequestSender.prototype.hasError = function() {
  return !1;
};
goog.cryptotoken.DomEventRequestSender.prototype.dispatchRequest_ = function(requestObject) {
  var $jscomp$this$15508826$3 = this;
  this.useNativeApi_ && requestObject.type === "u2f_sign_request" ? u2f.sign(requestObject.appId, requestObject.challenge, requestObject.registeredKeys, function(response) {
    $jscomp$this$15508826$3.handleNativeResponse_(requestObject, response);
  }, requestObject.timeoutSeconds) : this.useNativeApi_ && requestObject.type == "u2f_register_request" ? u2f.register(requestObject.appId, requestObject.registerRequests, requestObject.registeredKeys, function(response) {
    $jscomp$this$15508826$3.handleNativeResponse_(requestObject, response);
  }) : this.eventTarget_.postMessage(requestObject, "*");
};
goog.cryptotoken.DomEventRequestSender.prototype.connect = function(callback) {
  var extensionId = goog.cryptotoken.DomEventRequestSender.FIREFOX_EXTENSION_IDS_[this.extensionIndex_];
  if (extensionId) {
    var self = this, request = extensionId + "-ping", detachListeners = function() {
      self.eventTarget_.removeEventListener("message", response_handler, !1);
    }, response_handler = function(event) {
      event.data == extensionId + "-pong" && (self.useNativeApi_ = !1, detachListeners(), window.clearTimeout(timeoutId), window.setTimeout(function() {
        self.eventTarget_.addEventListener("message", self.handleResponseEvent_.bind(self), !1);
      }, 0), self.initialized = !0, callback(goog.cryptotoken.CryptoTokenCodeTypes.OK));
    };
    self.eventTarget_.addEventListener("message", response_handler, !1);
    var timeoutId = window.setTimeout(function() {
      detachListeners();
      self.extensionIndex_++;
      self.connect(callback);
    }, 2E3);
    this.dispatchRequest_(request);
  } else {
    window.u2f ? (this.initialized = this.useNativeApi_ = !0, callback(goog.cryptotoken.CryptoTokenCodeTypes.OK)) : (this.useNativeApi_ = !1, callback(goog.cryptotoken.CryptoTokenCodeTypes.NO_EXTENSION));
  }
};
goog.cryptotoken.DomEventRequestSender.prototype.supportsSysinfo = function() {
  return this.initialized && !this.useNativeApi_;
};
goog.cryptotoken.DomEventRequestSender.prototype.handleResponseEvent_ = function(event) {
  event.data.type && event.data.type.match(/_response$/) && this.handleU2fResponse(event.data);
};
goog.cryptotoken.DomEventRequestSender.prototype.handleNativeResponse_ = function(requestObject, response) {
  response.errorCode && response.errorCode !== 0 ? this.handleU2fResponse({type:requestObject.type.replace("request", "response"), requestId:requestObject.requestId, responseData:response}) : requestObject.type === "u2f_sign_request" ? this.handleU2fResponse({type:requestObject.type.replace("request", "response"), requestId:requestObject.requestId, responseData:{clientData:response.clientData, keyHandle:response.keyHandle, signatureData:response.signatureData}}) : requestObject.type === "u2f_register_request" && 
  this.handleU2fResponse({type:requestObject.type.replace("request", "response"), requestId:requestObject.requestId, responseData:{version:response.version, clientData:response.clientData, registrationData:response.registrationData}});
};
goog.cryptotoken.DomEventRequestSender.prototype.doSend = function(requestObject) {
  this.dispatchRequest_(requestObject);
};
goog.cryptotoken.DomEventRequestSender.prototype.formatSignRequest = function(signDataList, timeoutSeconds) {
  return goog.cryptotoken.u2f.util.formatU2fV1dot1SignRequest(signDataList, timeoutSeconds);
};
goog.cryptotoken.DomEventRequestSender.FIREFOX_EXTENSION_IDS_ = ["firefox-gnubbyd-debug", "firefox-gnubbyd"];
goog.cryptotoken.GmsCoreRequestSender = function(requestCallback, useSignRequestsKeyName) {
  this.useSignRequestsKeyName_ = useSignRequestsKeyName;
  goog.cryptotoken.CryptoTokenRequestSender.call(this, requestCallback);
  window.setSkResult = this.handleU2fResponse.bind(this);
};
goog.inherits(goog.cryptotoken.GmsCoreRequestSender, goog.cryptotoken.CryptoTokenRequestSender);
goog.cryptotoken.GmsCoreRequestSender.prototype.hasError = function() {
  return !1;
};
goog.cryptotoken.GmsCoreRequestSender.prototype.formatSignRequest = function(signDataList, timeoutSeconds) {
  var request = goog.cryptotoken.u2f.util.formatU2fV1dot1SignRequest(signDataList, timeoutSeconds);
  this.useSignRequestsKeyName_ && (request.signRequests = request.registeredKeys, delete request.registeredKeys);
  return request;
};
goog.cryptotoken.GmsCoreRequestSender.prototype.connect = function(callback) {
  this.initialized = !0;
  callback(typeof window.mm != "undefined" && typeof window.mm.startSecurityKeyAssertionRequest != "undefined" ? goog.cryptotoken.CryptoTokenCodeTypes.OK : goog.cryptotoken.CryptoTokenCodeTypes.API_UNSUPPORTED);
};
goog.cryptotoken.GmsCoreRequestSender.prototype.doSend = function(requestObject) {
  typeof window.mm != "undefined" && typeof window.mm.startSecurityKeyAssertionRequest != "undefined" && window.mm.startSecurityKeyAssertionRequest(JSON.stringify(requestObject));
};
goog.cryptotoken.IosSecurityKeyAppRequestSender = function(requestCallback, opt_flowProperties) {
  goog.cryptotoken.CryptoTokenRequestSender.call(this, requestCallback);
  opt_flowProperties && (this.returnUrl_ = opt_flowProperties.returnUrl, this.cableAuthentication_ = opt_flowProperties.cableAuthentication, this.isBrowser_ = opt_flowProperties.isBrowser, this.useIosSecurityKeyUniversalLink_ = opt_flowProperties.useIosSecurityKeyUniversalLink);
};
$jscomp.inherits(goog.cryptotoken.IosSecurityKeyAppRequestSender, goog.cryptotoken.CryptoTokenRequestSender);
goog.cryptotoken.IosSecurityKeyAppRequestSender.prototype.hasError = function() {
  return !1;
};
goog.cryptotoken.IosSecurityKeyAppRequestSender.prototype.formatSignRequest = function(signDataList, timeoutSeconds) {
  return goog.cryptotoken.u2f.util.formatU2fV1dot1SignRequest(signDataList, timeoutSeconds);
};
goog.cryptotoken.IosSecurityKeyAppRequestSender.prototype.connect = function(callback) {
  this.initialized = !0;
  this.returnUrl_ ? callback(goog.cryptotoken.CryptoTokenCodeTypes.OK) : this.isChromeIos() ? callback(goog.cryptotoken.CryptoTokenCodeTypes.OK) : callback(goog.cryptotoken.CryptoTokenCodeTypes.NEED_IOS_SECURITY_KEY_APP);
};
goog.cryptotoken.IosSecurityKeyAppRequestSender.prototype.doSend = function(requestObject) {
  var requestId = requestObject.requestId;
  if (requestId == null || requestId == void 0) {
    goog.global.console.log("invalid requestid:" + requestId);
  } else {
    var jsonRequest = JSON.stringify(requestObject);
    if (this.returnUrl_) {
      var uriObject = this.useIosSecurityKeyUniversalLink_ ? new goog.Uri(goog.cryptotoken.IosSecurityKeyAppRequestSender.UNIVERSAL_LINK_U2F_AUTH_PREFIX) : new goog.Uri(goog.cryptotoken.IosSecurityKeyAppRequestSender.SAFARI_URL_PREFIX);
      uriObject.setParameterValue("data", encodeURI(jsonRequest));
      uriObject.setParameterValue("returnUrl", this.returnUrl_);
      this.cableAuthentication_ && uriObject.setParameterValue("cableAuthentication", this.cableAuthentication_);
      this.isBrowser_ && uriObject.setParameterValue("isBrowser", 1);
      this.isChromeIos() && uriObject.setParameterValue("isChrome", 1);
      var url = uriObject.toString();
    } else if (this.isChromeIos()) {
      url = goog.cryptotoken.IosSecurityKeyAppRequestSender.CHROME_URL_PREFIX + encodeURI(jsonRequest), this.map[requestId].responseHandler = goog.bind(this.blingCallback_, this, requestObject), this.updateU2fCallbackMap_(requestId);
    } else {
      goog.global.console.log("wrong browser or wrong flow");
      return;
    }
    goog.cryptotoken.IosSecurityKeyAppRequestSender.replaceLocation(url);
  }
};
goog.cryptotoken.IosSecurityKeyAppRequestSender.replaceLocation = function(url) {
  module$exports$google3$third_party$javascript$safevalues$dom$index.locationReplace(goog.global.location, module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_urlSafeByReview(url, {justification:"Fixed URL with encoded params."}));
};
goog.cryptotoken.IosSecurityKeyAppRequestSender.prototype.isChromeIos = function() {
  return navigator.userAgent.indexOf("CriOS") > -1;
};
goog.cryptotoken.IosSecurityKeyAppRequestSender.prototype.blingCallback_ = function(requestObject, responseData) {
  var requestId = requestObject.requestId;
  if (requestId == null || requestId == void 0) {
    goog.global.console.log("invalid requestid:" + requestId);
  } else {
    var requestType = requestObject.type;
    switch(requestType) {
      case goog.cryptotoken.u2f.MessageTypes.REGISTER_REQUEST:
        var responseType = goog.cryptotoken.u2f.MessageTypes.REGISTER_RESPONSE;
        break;
      case goog.cryptotoken.u2f.MessageTypes.SIGN_REQUEST:
        responseType = goog.cryptotoken.u2f.MessageTypes.SIGN_RESPONSE;
        break;
      default:
        goog.global.console.log("invalid request type:" + requestType);
        return;
    }
    this.handleU2fResponse({type:responseType, requestId:requestId, responseData:responseData});
  }
};
goog.cryptotoken.IosSecurityKeyAppRequestSender.prototype.updateU2fCallbackMap_ = function(requestId) {
  requestId == null || requestId == void 0 ? goog.global.console.log("invalid requestid" + requestId) : goog.global.u2f.callbackMap_[requestId] = this.map[requestId].responseHandler;
};
goog.cryptotoken.IosSecurityKeyAppRequestSender.CHROME_URL_PREFIX = "u2f://auth?";
goog.cryptotoken.IosSecurityKeyAppRequestSender.SAFARI_URL_PREFIX = "u2f-google://auth?";
goog.cryptotoken.IosSecurityKeyAppRequestSender.UNIVERSAL_LINK_U2F_AUTH_PREFIX = "https://g.co/iossecuritykey?type=u2f-auth";
goog.cryptotoken.IosSecurityKeyAppRequestSender.UNIVERSAL_LINK_FIDO2_AUTH_PREFIX = "https://g.co/iossecuritykey?type=credentials-get";
goog.cryptotoken.IosSecurityKeyAppRequestSender.CUSTOM_SCHEME_FIDO2_AUTH_PREFIX = "webauthn-google://iossecuritykey?type=credentials-get";
goog.cryptotoken.MobileAuthenticatorRequestSender = function(requestCallback) {
  goog.cryptotoken.CryptoTokenRequestSender.call(this, requestCallback);
  this.intentUrlToRequest_ = {};
  window.addEventListener("message", this.onRequestUpdate.bind(this), !1);
  this.logger_ = goog.log.getLogger("goog.cryptotoken.MobileAuthenticatorRequestSender");
};
goog.inherits(goog.cryptotoken.MobileAuthenticatorRequestSender, goog.cryptotoken.CryptoTokenRequestSender);
goog.cryptotoken.MobileAuthenticatorRequestSender.prototype.hasError = function() {
  return !1;
};
goog.cryptotoken.MobileAuthenticatorRequestSender.prototype.connect = function(callback) {
  this.initialized = !0;
  callback(goog.cryptotoken.CryptoTokenCodeTypes.OK);
};
goog.cryptotoken.MobileAuthenticatorRequestSender.prototype.formatSignRequest = function(signDataList, timeoutSeconds) {
  return goog.cryptotoken.u2f.util.formatU2fV1dot1SignRequest(signDataList, timeoutSeconds);
};
goog.cryptotoken.MobileAuthenticatorRequestSender.ClankErrorCodes = {SUCCESS:0, AUTHENTICATOR_NOT_INSTALLED:1, USER_CANCELLED:2, UNKNOWN_ERROR:3};
goog.cryptotoken.MobileAuthenticatorRequestSender.prototype.doSend = function(requestObject) {
  var intentUrl = goog.cryptotoken.MobileAuthenticatorRequestSender.INTENT_URL_BASE + ";S.request=" + encodeURIComponent(JSON.stringify(requestObject)) + ";end";
  this.intentUrlToRequest_[intentUrl] = requestObject;
  goog.cryptotoken.MobileAuthenticatorRequestSender.setDocumentLocation(intentUrl);
};
goog.cryptotoken.MobileAuthenticatorRequestSender.INTENT_URL_BASE = "intent:#Intent;action=com.google.android.apps.authenticator.AUTHENTICATE";
goog.cryptotoken.MobileAuthenticatorRequestSender.prototype.onRequestUpdate = function(message) {
  var messageObject = JSON.parse(message.data), intentUrl = messageObject.intentURL, requestObject = this.intentUrlToRequest_[intentUrl];
  if (requestObject) {
    var responseType = goog.cryptotoken.MobileAuthenticatorRequestSender.getResponseTypeFromRequest_(requestObject);
    delete this.intentUrlToRequest_[intentUrl];
    switch(messageObject.errorCode) {
      case goog.cryptotoken.MobileAuthenticatorRequestSender.ClankErrorCodes.AUTHENTICATOR_NOT_INSTALLED:
        var responseObject = this.createErrorResponseObjectForRequest_(requestObject, goog.cryptotoken.CryptoTokenCodeTypes.AUTHENTICATOR_NOT_INSTALLED);
        this.handleErrorResponse(requestObject, responseObject);
        break;
      case goog.cryptotoken.MobileAuthenticatorRequestSender.ClankErrorCodes.USER_CANCELLED:
        responseObject = this.createErrorResponseObjectForRequest_(requestObject, goog.cryptotoken.CryptoTokenCodeTypes.USER_CANCELLED);
        this.handleErrorResponse(requestObject, responseObject);
        break;
      case goog.cryptotoken.MobileAuthenticatorRequestSender.ClankErrorCodes.SUCCESS:
        responseObject = JSON.parse(messageObject.data);
        this.handleU2fResponse(responseObject);
        break;
      default:
        responseObject = this.createResponseObject_(responseType, goog.cryptotoken.CryptoTokenCodeTypes.UNKNOWN_ERROR), responseObject.requestId = requestObject.requestId, this.handleU2fResponse(responseObject);
    }
  } else {
    goog.log.warning(this.logger_, "incorrect intent url:" + intentUrl);
  }
};
goog.cryptotoken.MobileAuthenticatorRequestSender.prototype.createResponseObject_ = function(type, code) {
  return {type:type, responseData:{errorCode:code}};
};
goog.cryptotoken.MobileAuthenticatorRequestSender.getResponseTypeFromRequest_ = function(requestObject) {
  return requestObject.type == goog.cryptotoken.u2f.MessageTypes.REGISTER_REQUEST ? goog.cryptotoken.u2f.MessageTypes.REGISTER_RESPONSE : goog.cryptotoken.u2f.MessageTypes.SIGN_RESPONSE;
};
goog.cryptotoken.MobileAuthenticatorRequestSender.prototype.createErrorResponseObjectForRequest_ = function(request, code) {
  switch(request.type) {
    case goog.cryptotoken.u2f.MessageTypes.REGISTER_REQUEST:
      var type = goog.cryptotoken.CryptoTokenMsgTypes.ENROLL_WEB_REPLY;
      break;
    default:
      type = goog.cryptotoken.CryptoTokenMsgTypes.SIGN_WEB_REPLY;
  }
  return {type:type, code:code};
};
goog.cryptotoken.MobileAuthenticatorRequestSender.setDocumentLocation = function(intentUrl) {
  var intentSafeUrl = module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_urlSafeByReview(intentUrl, {justification:"Intent URL for a hard-coded application."});
  module$exports$google3$third_party$javascript$safevalues$dom$index.setLocationHref(document.location, intentSafeUrl);
};
goog.cryptotoken.requestSenderFactory = {};
goog.cryptotoken.requestSenderFactory.FLOW_NAME_PARAMETER_ = "flowName";
goog.cryptotoken.requestSenderFactory.create = function(createCallback, requestCallback, opt_flowProperties) {
  var requestSender = void 0;
  if (goog.cryptotoken.requestSenderFactory.isDesktopChrome_()) {
    requestSender = new goog.cryptotoken.ChromeRuntimeRequestSender(requestCallback);
  } else if (goog.cryptotoken.requestSenderFactory.isAndroidGmsCore_()) {
    requestSender = new goog.cryptotoken.GmsCoreRequestSender(requestCallback, opt_flowProperties && opt_flowProperties.useSignRequestsKeyName);
  } else if (goog.cryptotoken.requestSenderFactory.isAndroidChrome_()) {
    requestSender = new goog.cryptotoken.MobileAuthenticatorRequestSender(requestCallback);
  } else if (goog.cryptotoken.requestSenderFactory.isDesktopFirefox_()) {
    requestSender = new goog.cryptotoken.DomEventRequestSender(requestCallback);
  } else if (opt_flowProperties && opt_flowProperties.useIosSecurityKeyApp) {
    requestSender = new goog.cryptotoken.IosSecurityKeyAppRequestSender(requestCallback, opt_flowProperties);
  } else if (goog.cryptotoken.requestSenderFactory.isIosChrome_()) {
    requestSender = new goog.cryptotoken.IosSecurityKeyAppRequestSender(requestCallback, void 0), goog.exportSymbol("u2f", {callbackMap_:{}});
  } else {
    goog.cryptotoken.requestSenderFactory.isIos_() ? createCallback(null, goog.cryptotoken.CryptoTokenCodeTypes.NEED_IOS_SECURITY_KEY_APP) : createCallback(null, goog.cryptotoken.CryptoTokenCodeTypes.API_UNSUPPORTED);
    return;
  }
  requestSender.connect(function(result) {
    result == goog.cryptotoken.CryptoTokenCodeTypes.OK ? createCallback(requestSender) : createCallback(null, result);
  });
};
goog.cryptotoken.requestSenderFactory.isDesktopChrome_ = function() {
  return typeof window.chrome != "undefined" && typeof chrome.runtime != "undefined";
};
goog.cryptotoken.requestSenderFactory.isDesktopFirefox_ = function() {
  return goog.userAgent.GECKO && !goog.userAgent.MOBILE;
};
goog.cryptotoken.requestSenderFactory.isAndroidChrome_ = function() {
  return goog.userAgent.ANDROID && goog.userAgent.WEBKIT && !/ Version\/[0-9\.]+/.test(goog.userAgent.getUserAgentString()) ? !0 : !1;
};
goog.cryptotoken.requestSenderFactory.isIos_ = function() {
  return goog.userAgent.IOS;
};
goog.cryptotoken.requestSenderFactory.isIosChrome_ = function() {
  return goog.cryptotoken.requestSenderFactory.isIos_() && module$contents$goog$labs$userAgent$browser_matchChrome();
};
goog.cryptotoken.requestSenderFactory.isAndroidGmsCore_ = function() {
  return typeof window.mm != "undefined" && typeof window.mm.startSecurityKeyAssertionRequest != "undefined";
};
goog.cryptotoken.CryptoTokenHandler = function(successCallback, errorCallback, opt_flowProperties) {
  this.successCallback_ = successCallback;
  this.errorCallback_ = errorCallback;
  this.eventId_ = 0;
  this.sender_ = null;
  this.sessionIdMap_ = {};
  this.flowProperties_ = opt_flowProperties || null;
};
goog.cryptotoken.CryptoTokenHandler.Transport = {BLUETOOTH_RADIO:"bt", BLUETOOTH_LOW_ENERGY:"ble", USB:"usb", NFC:"nfc"};
goog.cryptotoken.CryptoTokenHandler.MILLIS_PER_SECOND = 1E3;
goog.cryptotoken.CryptoTokenHandler.TOUCH_TIMEOUT_MILLIS = 180 * goog.cryptotoken.CryptoTokenHandler.MILLIS_PER_SECOND;
goog.cryptotoken.CryptoTokenHandler.getSignDataList = function(signData, appId) {
  var globalChallenge = signData.challenge;
  return signData.challenges.map(function(challenge) {
    challenge.appId = appId;
    globalChallenge && (challenge.challenge = globalChallenge, challenge.sessionId = "");
    return challenge;
  });
};
goog.cryptotoken.CryptoTokenHandler.prototype.logToConsole = function(message) {
  this.flowProperties_ && this.flowProperties_.enableConsoleLogging && goog.global.console.log(message);
};
goog.cryptotoken.CryptoTokenHandler.prototype.handleAuthenticationRequest = function(signDataList, logMsgUrl, opt_timeoutMilliseconds) {
  var self = this;
  self.logToConsole("Start Authentication handler request.");
  var requestId = this.getNextEventId();
  if (signDataList.length == 0) {
    self.logToConsole("No SK device enrolled."), this.errorCallback_(goog.cryptotoken.CryptoTokenCodeTypes.NO_DEVICES_ENROLLED);
  } else {
    for (var timeoutSeconds = (opt_timeoutMilliseconds ? opt_timeoutMilliseconds : goog.cryptotoken.CryptoTokenHandler.TOUCH_TIMEOUT_MILLIS) / 1E3, i = 0; i < signDataList.length; i++) {
      var challenge = signDataList[i];
      this.sessionIdMap_[challenge.keyHandle] = challenge.sessionId;
    }
    self.dispatchRequest_(function() {
      var requestData = self.sender_.formatSignRequest(signDataList, timeoutSeconds);
      self.pendingRequestId_ = requestId;
      requestData.requestId = requestId;
      self.flowProperties_ && self.flowProperties_.useIosSecurityKeyApp && self.flowProperties_.displayIdentifier && (requestData.displayIdentifier = self.flowProperties_.displayIdentifier);
      logMsgUrl && (requestData.logMsgUrl = logMsgUrl);
      self.logToConsole("Send Authentication request to extension");
      self.sender_.sendRequest(requestData, self.flowProperties_ && self.flowProperties_.enableConsoleLogging ? !0 : !1);
    });
  }
};
goog.cryptotoken.CryptoTokenHandler.prototype.getNextEventId = function() {
  if (window.crypto && window.crypto.getRandomValues) {
    var rand = new Uint32Array(1);
    window.crypto.getRandomValues(rand);
    rand[0] &= 2147483647;
    return this.eventId_ = rand[0];
  }
  return this.eventId_ = Date.now() / goog.cryptotoken.CryptoTokenHandler.MILLIS_PER_SECOND;
};
goog.cryptotoken.CryptoTokenHandler.prototype.dispatchRequest_ = function(callback) {
  var self = this;
  this.sender_ ? callback() : goog.cryptotoken.requestSenderFactory.create(function(sender, opt_error) {
    sender ? (self.sender_ = sender, callback()) : self.errorCallback_(opt_error || goog.cryptotoken.CryptoTokenCodeTypes.API_UNSUPPORTED);
  }, this.processAssertionResponse.bind(this), this.flowProperties_);
};
goog.cryptotoken.CryptoTokenHandler.prototype.getSender_ = function() {
  if (this.sender_) {
    return Promise.resolve(this.sender_);
  }
  var self = this;
  return new Promise(function(succ, rej) {
    goog.cryptotoken.requestSenderFactory.create(function(sender, opt_error) {
      sender ? (self.sender_ = sender, succ(sender)) : rej({errorCode:opt_error || goog.cryptotoken.CryptoTokenCodeTypes.API_UNSUPPORTED, errorDetail:"Could not connect to the low level API"});
    }, self.processAssertionResponse.bind(self), self.flowProperties_);
  });
};
goog.cryptotoken.CryptoTokenHandler.UpdateType = {FULL_UPDATE:0, SKIP_SSH_APPLET_UPDATE:1};
goog.cryptotoken.CryptoTokenHandler.prototype.supportsSysinfo = function() {
  var $jscomp$async$this$1186833366$29 = this, sender, err;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1186833366$41) {
    if ($jscomp$generator$context$1186833366$41.nextAddress == 1) {
      return $jscomp$generator$context$1186833366$41.setCatchFinallyBlocks(2), $jscomp$generator$context$1186833366$41.yield($jscomp$async$this$1186833366$29.getSender_(), 4);
    }
    if ($jscomp$generator$context$1186833366$41.nextAddress != 2) {
      return sender = $jscomp$generator$context$1186833366$41.yieldResult, $jscomp$generator$context$1186833366$41.return(sender.supportsSysinfo());
    }
    err = $jscomp$generator$context$1186833366$41.enterCatchBlock();
    goog.global.console.log("error initializing sender ", err);
    return $jscomp$generator$context$1186833366$41.return(!1);
  });
};
goog.cryptotoken.CryptoTokenHandler.prototype.handleSysinfoRequest = function(registeredKeys, appId, logMsgUrl, timeoutSeconds) {
  var $jscomp$async$this$1186833366$31 = this, requestId, sender, err, req;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1186833366$42) {
    switch($jscomp$generator$context$1186833366$42.nextAddress) {
      case 1:
        return $jscomp$async$this$1186833366$31.logToConsole("Start sysinfo request."), requestId = $jscomp$async$this$1186833366$31.getNextEventId(), $jscomp$generator$context$1186833366$42.setCatchFinallyBlocks(2), $jscomp$generator$context$1186833366$42.yield($jscomp$async$this$1186833366$31.getSender_(), 4);
      case 4:
        sender = $jscomp$generator$context$1186833366$42.yieldResult;
        $jscomp$generator$context$1186833366$42.leaveTryBlock(3);
        break;
      case 2:
        return err = $jscomp$generator$context$1186833366$42.enterCatchBlock(), $jscomp$generator$context$1186833366$42.return({type:goog.cryptotoken.GnubbydMessageTypes.SYSINFOS_RESP, requestId:requestId, responseData:err});
      case 3:
        return timeoutSeconds = timeoutSeconds ? timeoutSeconds : 4, req = {type:goog.cryptotoken.GnubbydMessageTypes.SYSINFOS_REQ, requestId:requestId, appId:appId, timeoutSeconds:timeoutSeconds, registeredKeys:registeredKeys}, logMsgUrl && (req.logMsgUrl = logMsgUrl), $jscomp$generator$context$1186833366$42.yield(sender.sendRequestPromise(req), 5);
      case 5:
        return $jscomp$generator$context$1186833366$42.return($jscomp$generator$context$1186833366$42.yieldResult);
    }
  });
};
goog.cryptotoken.CryptoTokenHandler.prototype.processAssertionResponse = function(responseObject) {
  var type = responseObject.type, responseData = responseObject.responseData, responseVersion = goog.cryptotoken.u2f.util.versionFromType(type), isError, errorCode = null, errorMessage = void 0;
  responseObject.requestId == this.pendingRequestId_ && (this.pendingRequestId_ = void 0);
  if (responseData) {
    switch(responseVersion) {
      case goog.cryptotoken.u2f.VersionStrings.U2F_V1_0:
        if (isError = responseData.hasOwnProperty("errorCode")) {
          if (errorCode = goog.cryptotoken.u2f.util.u2fErrorCodeToCryptoTokenCodeType(responseData.errorCode, goog.cryptotoken.u2f.util.isSignResponse(type)), responseData.hasOwnProperty("errorMessage") || responseData.hasOwnProperty("errorDetail")) {
            errorMessage = responseData.errorMessage || responseData.errorDetail;
          }
        } else {
          responseData.sessionId = this.sessionIdMap_[responseData[goog.cryptotoken.CryptoTokenRequestSender.getUniqueIdentifier(responseObject.type)]];
        }
        break;
      case goog.cryptotoken.u2f.VersionStrings.LEGACY_V1_0:
        (isError = responseObject.code != goog.cryptotoken.CryptoTokenCodeTypes.OK) ? errorCode = responseObject.hasOwnProperty("code") ? responseObject.code : goog.cryptotoken.CryptoTokenCodeTypes.NO_EXTENSION : responseData.sessionId = this.sessionIdMap_[responseData[goog.cryptotoken.CryptoTokenRequestSender.getUniqueIdentifier(responseObject.type)]];
        break;
      default:
        isError = !0, errorCode = goog.cryptotoken.CryptoTokenCodeTypes.NO_EXTENSION;
    }
    isError ? this.errorCallback_(errorCode, errorMessage) : this.successCallback_(responseObject.responseData);
  } else {
    errorCode = responseObject.hasOwnProperty("code") && responseObject.code ? responseObject.code : goog.cryptotoken.CryptoTokenCodeTypes.NO_EXTENSION, this.errorCallback_(errorCode, void 0);
  }
};
jspb$e.gnubby$sysinfoconfig$api$GnubbyId$Type = {UNKNOWN:0, HAVEN_ID:1, CPLC_ID:2, CROS_EVE_ID:3};
var jspb$gnubby$sysinfoconfig$api$MutableGnubbyId = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.prototype.getType = function() {
  return jspb_internal_adapters.getEnumFieldWithDefault(this, 1, 0);
};
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.prototype.setType = function(value) {
  return jspb_internal_adapters.setProto3EnumField(this, 1, value);
};
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.prototype.getRawId = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 2);
};
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.prototype.setRawId = function(value) {
  return jspb_internal_adapters.setProto3StringField(this, 2, value);
};
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.prototype.getNickname = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 3);
};
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableGnubbyId);
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$MutableGnubbyId);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.GnubbyId");
var jspb$b$gnubby$sysinfoconfig$api$GnubbyId = {};
jspb$b$gnubby$sysinfoconfig$api$GnubbyId.fields = [0, jspb_internal_binary.REnumIgnoringDefaultWEnum, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString, -1];
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$GnubbyId.fields);
var jspb$gnubby$sysinfoconfig$api$ImmutableGnubbyId = function() {
};
jspb$gnubby$sysinfoconfig$api$ImmutableGnubbyId.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableGnubbyId);
jspb$gnubby$sysinfoconfig$api$ImmutableGnubbyId.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$gnubby$sysinfoconfig$api$MutableGnubbyId);
jspb$gnubby$sysinfoconfig$api$ImmutableGnubbyId.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$gnubby$sysinfoconfig$api$MutableGnubbyId);
var jspb$o$gnubby$sysinfoconfig$api$GnubbyId = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {type:jspb_internal_adapters.getEnumFieldWithDefault(msg, 1, 0), rawId:jspb_internal_adapters.getStringFieldWithDefault(msg, 2), nickname:jspb_internal_adapters.getStringFieldWithDefault(msg, 3)};
  }
}};
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$GnubbyId.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$GnubbyId.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$MutableGnubbyId();
  jspb_internal_adapters.setProto3EnumField(msg, 1, obj.type);
  jspb_internal_adapters.setProto3StringField(msg, 2, obj.rawId);
  jspb_internal_adapters.setProto3StringField(msg, 3, obj.nickname);
  return msg;
};
proto.gnubby = {};
proto.gnubby.sysinfoconfig = {};
proto.gnubby.sysinfoconfig.api = {};
proto.gnubby.sysinfoconfig.api.ReadonlyGnubbyId = {};
proto.gnubby.sysinfoconfig.api.GnubbyId = jspb$gnubby$sysinfoconfig$api$MutableGnubbyId;
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, jspb$b$gnubby$sysinfoconfig$api$GnubbyId.fields);
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$GnubbyId.fields);
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$gnubby$sysinfoconfig$api$GnubbyId.fields);
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, jspb$b$gnubby$sysinfoconfig$api$GnubbyId.fields);
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.fromObject = jspb$o$gnubby$sysinfoconfig$api$GnubbyId.fromObject;
proto.gnubby.sysinfoconfig.api.MutableGnubbyId = jspb$gnubby$sysinfoconfig$api$MutableGnubbyId;
jspb$gnubby$sysinfoconfig$api$ImmutableGnubbyId.serializeBinary = jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.serializeBinary;
jspb$gnubby$sysinfoconfig$api$ImmutableGnubbyId.serializeBinaryToByteString = jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.serializeBinaryToByteString;
jspb$gnubby$sysinfoconfig$api$ImmutableGnubbyId.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.deserializeBinary);
jspb$gnubby$sysinfoconfig$api$ImmutableGnubbyId.makeCrossSerializerComparisonsCompatible = jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.makeCrossSerializerComparisonsCompatible;
proto.gnubby.sysinfoconfig.api.ImmutableGnubbyId = jspb$gnubby$sysinfoconfig$api$ImmutableGnubbyId;
jspb$gnubby$sysinfoconfig$api$MutableGnubbyId.Type = jspb$e.gnubby$sysinfoconfig$api$GnubbyId$Type;
jspb$e.gnubby$sysinfoconfig$api$Sysinfo$SshPinStatus = {UNKNOWN:0, NO_SSH_APPLET:1, NO_PIN:2, KNOWLEDGE_BASED:3, MACHINE_BASED:4, LOCKED:5};
var jspb$gnubby$sysinfoconfig$api$MutableVersion = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$MutableVersion, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$MutableVersion.prototype.getMajor = function() {
  return jspb_internal_adapters.getUint32FieldWithDefault(this, 1);
};
jspb$gnubby$sysinfoconfig$api$MutableVersion.prototype.setMajor = function(value) {
  return jspb_internal_adapters.setProto3Uint32Field(this, 1, value);
};
jspb$gnubby$sysinfoconfig$api$MutableVersion.prototype.getMinor = function() {
  return jspb_internal_adapters.getUint32FieldWithDefault(this, 2);
};
jspb$gnubby$sysinfoconfig$api$MutableVersion.prototype.setMinor = function(value) {
  return jspb_internal_adapters.setProto3Uint32Field(this, 2, value);
};
jspb$gnubby$sysinfoconfig$api$MutableVersion.prototype.getBuild = function() {
  return jspb_internal_adapters.getUint32FieldWithDefault(this, 3);
};
jspb$gnubby$sysinfoconfig$api$MutableVersion.prototype.setBuild = function(value) {
  return jspb_internal_adapters.setProto3Uint32Field(this, 3, value);
};
jspb$gnubby$sysinfoconfig$api$MutableVersion.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableVersion);
jspb$gnubby$sysinfoconfig$api$MutableVersion.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$MutableVersion);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$MutableVersion.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.Version");
var jspb$b$gnubby$sysinfoconfig$api$Version = {};
jspb$b$gnubby$sysinfoconfig$api$Version.fields = [0, jspb_internal_binary.RUint32IgnoringDefaultWUint32, -2];
jspb$gnubby$sysinfoconfig$api$MutableVersion.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$Version.fields);
var jspb$gnubby$sysinfoconfig$api$MutableSysinfo = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$MutableSysinfo, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.getKeyId = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, 1);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.setKeyId = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, 1, value);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.getPlatformId = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 2);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.setPlatformId = function(value) {
  return jspb_internal_adapters.setProto3StringField(this, 2, value);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.getFirmwareVersion = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$MutableVersion, 3);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.setFirmwareVersion = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableVersion, 3, value);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.getU2fVersion = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$MutableVersion, 4);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.setU2fVersion = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableVersion, 4, value);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.getSshVersion = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$MutableVersion, 5);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.setSshVersion = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableVersion, 5, value);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.getPinStatus = function() {
  return jspb_internal_adapters.getEnumFieldWithDefault(this, 6, 0);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.setPinStatus = function(value) {
  return jspb_internal_adapters.setProto3EnumField(this, 6, value);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.getHavenAid = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$MutableHavenAid, 7);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.setHavenAid = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableHavenAid, 7, value);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableSysinfo);
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$MutableSysinfo);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$MutableSysinfo.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.Sysinfo");
var jspb$b$gnubby$sysinfoconfig$api$Sysinfo = {};
jspb$b$gnubby$sysinfoconfig$api$Sysinfo.fields = [0, jspb$b$gnubby$sysinfoconfig$api$GnubbyId.fields, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString, jspb$b$gnubby$sysinfoconfig$api$Version.fields, -2, jspb_internal_binary.REnumIgnoringDefaultWEnum, jspb$b$gnubby$sysinfoconfig$api$HavenAid.fields];
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$Sysinfo.fields);
var jspb$gnubby$sysinfoconfig$api$ImmutableSysinfo = function() {
};
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfo.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableSysinfo);
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfo.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$gnubby$sysinfoconfig$api$MutableSysinfo);
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfo.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$gnubby$sysinfoconfig$api$MutableSysinfo);
var jspb$o$gnubby$sysinfoconfig$api$Version = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {major:jspb_internal_adapters.getUint32FieldWithDefault(msg, 1), minor:jspb_internal_adapters.getUint32FieldWithDefault(msg, 2), build:jspb_internal_adapters.getUint32FieldWithDefault(msg, 3)};
  }
}};
jspb$gnubby$sysinfoconfig$api$MutableVersion.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$Version.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$Version.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$MutableVersion();
  jspb_internal_adapters.setProto3Uint32Field(msg, 1, obj.major);
  jspb_internal_adapters.setProto3Uint32Field(msg, 2, obj.minor);
  jspb_internal_adapters.setProto3Uint32Field(msg, 3, obj.build);
  return msg;
};
var jspb$o$gnubby$sysinfoconfig$api$Sysinfo = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {keyId:jspb$o$gnubby$sysinfoconfig$api$GnubbyId.internal_toObject(msg.getKeyId()), platformId:jspb_internal_adapters.getStringFieldWithDefault(msg, 2), firmwareVersion:jspb$o$gnubby$sysinfoconfig$api$Version.internal_toObject(msg.getFirmwareVersion()), u2fVersion:jspb$o$gnubby$sysinfoconfig$api$Version.internal_toObject(msg.getU2fVersion()), sshVersion:jspb$o$gnubby$sysinfoconfig$api$Version.internal_toObject(msg.getSshVersion()), 
    pinStatus:jspb_internal_adapters.getEnumFieldWithDefault(msg, 6, 0), havenAid:jspb$o$gnubby$sysinfoconfig$api$HavenAid.internal_toObject(msg.getHavenAid())};
  }
}};
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$Sysinfo.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$Sysinfo.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$MutableSysinfo();
  jspb_internal_adapters.setWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, 1, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.keyId, jspb$o$gnubby$sysinfoconfig$api$GnubbyId.fromObject));
  jspb_internal_adapters.setProto3StringField(msg, 2, obj.platformId);
  jspb_internal_adapters.setWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableVersion, 3, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.firmwareVersion, jspb$o$gnubby$sysinfoconfig$api$Version.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableVersion, 4, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.u2fVersion, jspb$o$gnubby$sysinfoconfig$api$Version.fromObject));
  jspb_internal_adapters.setWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableVersion, 5, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.sshVersion, jspb$o$gnubby$sysinfoconfig$api$Version.fromObject));
  jspb_internal_adapters.setProto3EnumField(msg, 6, obj.pinStatus);
  jspb_internal_adapters.setWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableHavenAid, 7, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.havenAid, jspb$o$gnubby$sysinfoconfig$api$HavenAid.fromObject));
  return msg;
};
proto.gnubby.sysinfoconfig.api.ReadonlySysinfo = {};
proto.gnubby.sysinfoconfig.api.Sysinfo = jspb$gnubby$sysinfoconfig$api$MutableSysinfo;
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$gnubby$sysinfoconfig$api$MutableSysinfo, jspb$b$gnubby$sysinfoconfig$api$Sysinfo.fields);
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$Sysinfo.fields);
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$gnubby$sysinfoconfig$api$Sysinfo.fields);
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$gnubby$sysinfoconfig$api$MutableSysinfo, jspb$b$gnubby$sysinfoconfig$api$Sysinfo.fields);
jspb$gnubby$sysinfoconfig$api$MutableSysinfo.fromObject = jspb$o$gnubby$sysinfoconfig$api$Sysinfo.fromObject;
proto.gnubby.sysinfoconfig.api.MutableSysinfo = jspb$gnubby$sysinfoconfig$api$MutableSysinfo;
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfo.serializeBinary = jspb$gnubby$sysinfoconfig$api$MutableSysinfo.serializeBinary;
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfo.serializeBinaryToByteString = jspb$gnubby$sysinfoconfig$api$MutableSysinfo.serializeBinaryToByteString;
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfo.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$gnubby$sysinfoconfig$api$MutableSysinfo.deserializeBinary);
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfo.makeCrossSerializerComparisonsCompatible = jspb$gnubby$sysinfoconfig$api$MutableSysinfo.makeCrossSerializerComparisonsCompatible;
proto.gnubby.sysinfoconfig.api.ImmutableSysinfo = jspb$gnubby$sysinfoconfig$api$ImmutableSysinfo;
var jspb$gnubby$sysinfoconfig$api$MutableSysinfos = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data, 0, jspb$gnubby$sysinfoconfig$api$MutableSysinfos.messageId);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$MutableSysinfos, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$MutableSysinfos.prototype.getSysinfoList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableSysinfo, 1, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfos.prototype.addAllSysinfo = function(values) {
  return jspb_internal_adapters.addAllToRepeatedWrapperField(this, 1, jspb$gnubby$sysinfoconfig$api$MutableSysinfo, values);
};
jspb$gnubby$sysinfoconfig$api$MutableSysinfos.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableSysinfos);
jspb$gnubby$sysinfoconfig$api$MutableSysinfos.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$MutableSysinfos);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$MutableSysinfos.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.Sysinfos");
jspb$gnubby$sysinfoconfig$api$MutableSysinfos.messageId = "gnubby.Sysinfos";
var jspb$b$gnubby$sysinfoconfig$api$Sysinfos = {};
jspb$b$gnubby$sysinfoconfig$api$Sysinfos.fields = ["gnubby.Sysinfos", jspb_internal_binary.RWRepeatedMessage, jspb$b$gnubby$sysinfoconfig$api$Sysinfo.fields];
jspb$gnubby$sysinfoconfig$api$MutableSysinfos.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$Sysinfos.fields);
var jspb$gnubby$sysinfoconfig$api$ImmutableSysinfos = function() {
};
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfos.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableSysinfos);
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfos.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$gnubby$sysinfoconfig$api$MutableSysinfos);
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfos.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$gnubby$sysinfoconfig$api$MutableSysinfos);
var jspb$o$gnubby$sysinfoconfig$api$Sysinfos = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {sysinfoList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getSysinfoList(), jspb$o$gnubby$sysinfoconfig$api$Sysinfo.internal_toObject)};
  }
}};
jspb$gnubby$sysinfoconfig$api$MutableSysinfos.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$Sysinfos.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$Sysinfos.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$MutableSysinfos();
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableSysinfo, 1, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.sysinfoList, jspb$o$gnubby$sysinfoconfig$api$Sysinfo.fromObject));
  return msg;
};
proto.gnubby.sysinfoconfig.api.ReadonlySysinfos = {};
proto.gnubby.sysinfoconfig.api.Sysinfos = jspb$gnubby$sysinfoconfig$api$MutableSysinfos;
jspb$gnubby$sysinfoconfig$api$MutableSysinfos.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$gnubby$sysinfoconfig$api$MutableSysinfos, jspb$b$gnubby$sysinfoconfig$api$Sysinfos.fields);
jspb$gnubby$sysinfoconfig$api$MutableSysinfos.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$Sysinfos.fields);
jspb$gnubby$sysinfoconfig$api$MutableSysinfos.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$gnubby$sysinfoconfig$api$Sysinfos.fields);
jspb$gnubby$sysinfoconfig$api$MutableSysinfos.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$gnubby$sysinfoconfig$api$MutableSysinfos, jspb$b$gnubby$sysinfoconfig$api$Sysinfos.fields);
jspb$gnubby$sysinfoconfig$api$MutableSysinfos.fromObject = jspb$o$gnubby$sysinfoconfig$api$Sysinfos.fromObject;
proto.gnubby.sysinfoconfig.api.MutableSysinfos = jspb$gnubby$sysinfoconfig$api$MutableSysinfos;
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfos.serializeBinary = jspb$gnubby$sysinfoconfig$api$MutableSysinfos.serializeBinary;
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfos.serializeBinaryToByteString = jspb$gnubby$sysinfoconfig$api$MutableSysinfos.serializeBinaryToByteString;
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfos.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$gnubby$sysinfoconfig$api$MutableSysinfos.deserializeBinary);
jspb$gnubby$sysinfoconfig$api$ImmutableSysinfos.makeCrossSerializerComparisonsCompatible = jspb$gnubby$sysinfoconfig$api$MutableSysinfos.makeCrossSerializerComparisonsCompatible;
proto.gnubby.sysinfoconfig.api.ImmutableSysinfos = jspb$gnubby$sysinfoconfig$api$ImmutableSysinfos;
var jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete.prototype.getForceOperation = function() {
  return jspb_internal_adapters.getBooleanFieldWithDefault(this, 1);
};
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete.prototype.getUseDevServer = function() {
  return jspb_internal_adapters.getBooleanFieldWithDefault(this, 2);
};
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.AppletUpdate.Delete");
var jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Delete = {};
jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Delete.fields = [0, jspb_internal_binary.RBoolIgnoringDefaultWBool, -1];
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Delete.fields);
var jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.prototype.getForceOperation = function() {
  return jspb_internal_adapters.getBooleanFieldWithDefault(this, 1);
};
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.prototype.getUseDevServer = function() {
  return jspb_internal_adapters.getBooleanFieldWithDefault(this, 2);
};
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.prototype.getVersion = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$MutableVersion, 3);
};
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.prototype.setVersion = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableVersion, 3, value);
};
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.AppletUpdate.Install");
var jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Install = {};
jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Install.fields = [0, jspb_internal_binary.RBoolIgnoringDefaultWBool, -1, jspb$b$gnubby$sysinfoconfig$api$Version.fields];
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Install.fields);
var jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.AppletUpdate.RecommendReinstall");
var jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall = {fields:[0]};
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall.fields);
var jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.prototype.getOperationCase = function() {
  return jspb_internal_adapters.computeOneofCase(this, jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.oneofGroup_OperationCase_);
};
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.prototype.getKeyId = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, 1);
};
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.prototype.setKeyId = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, 1, value);
};
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.prototype.getType = function() {
  return jspb_internal_adapters.getEnumFieldWithDefault(this, 2, 0);
};
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.prototype.setType = function(value) {
  return jspb_internal_adapters.setProto3EnumField(this, 2, value);
};
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.prototype.getDeleteOp = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete, 3, jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.oneofGroup_OperationCase_);
};
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.prototype.getInstallOp = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall, 4, jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.oneofGroup_OperationCase_);
};
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.prototype.getRecommendReinstallOp = function() {
  return jspb_internal_adapters.getOneofWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall, 5, jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.oneofGroup_OperationCase_);
};
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate);
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.AppletUpdate");
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.oneofGroup_OperationCase_ = [3, 4, 5];
var jspb$b$gnubby$sysinfoconfig$api$AppletUpdate = {};
jspb$b$gnubby$sysinfoconfig$api$AppletUpdate.fields = [0, jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.oneofGroup_OperationCase_, jspb$b$gnubby$sysinfoconfig$api$GnubbyId.fields, jspb_internal_binary.REnumIgnoringDefaultWEnum, jspb_internal_binary.RMessageOneofWMessage, jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Delete.fields, jspb_internal_binary.RMessageOneofWMessage, jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Install.fields, jspb_internal_binary.RMessageOneofWMessage, jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall.fields];
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$AppletUpdate.fields);
var jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate.prototype.getPlatformId = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 1);
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate.prototype.setPlatformId = function(value) {
  return jspb_internal_adapters.setProto3StringField(this, 1, value);
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate.prototype.getKeyId = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, 2);
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate.prototype.setKeyId = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, 2, value);
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate.prototype.getImage = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 3);
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate.prototype.getImageVersion = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$MutableVersion, 4);
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate.prototype.getIsReenrollRecommended = function() {
  return jspb_internal_adapters.getBooleanFieldWithDefault(this, 5);
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate);
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.FirmwareUpdate");
var jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdate = {};
jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdate.fields = [0, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString, jspb$b$gnubby$sysinfoconfig$api$GnubbyId.fields, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString, jspb$b$gnubby$sysinfoconfig$api$Version.fields, jspb_internal_binary.RBoolIgnoringDefaultWBool];
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdate.fields);
var jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata.prototype.getPlatformId = function() {
  return jspb_internal_adapters.getStringFieldWithDefault(this, 1);
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata.prototype.setPlatformId = function(value) {
  return jspb_internal_adapters.setProto3StringField(this, 1, value);
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata.prototype.getVersion = function() {
  return jspb_internal_adapters.getWrapperFieldOrUndefined(this, jspb$gnubby$sysinfoconfig$api$MutableVersion, 2);
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata.prototype.setVersion = function(value) {
  return jspb_internal_adapters.setWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableVersion, 2, value);
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata);
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.FirmwareUpdateMetadata");
var jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdateMetadata = {};
jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdateMetadata.fields = [0, jspb_internal_binary.RStringRequireUtf8IgnoringDefaultWString, jspb$b$gnubby$sysinfoconfig$api$Version.fields, jspb_internal_binary.REnumIgnoringDefaultWEnum];
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdateMetadata.fields);
var jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence.prototype.getUpdateMetadataList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata, 1, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence);
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.FirmwareUpdateSequence");
var jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdateSequence = {};
jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdateSequence.fields = [0, jspb_internal_binary.RWRepeatedMessage, jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdateMetadata.fields, jspb_internal_binary.RPackableEnumIntoWPackedEnum];
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdateSequence.fields);
var jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2 = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2.prototype.getKeyIdList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, 1, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2.prototype.setKeyId = function(index, value) {
  return jspb_internal_adapters.setRepeatedIndexedWrapper(this, 1, jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, index, value);
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2.prototype.getUpdateSequenceList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence, 2, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2);
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.FirmwareUpdateV2");
var jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdateV2 = {};
jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdateV2.fields = [0, jspb_internal_binary.RWRepeatedMessage, jspb$b$gnubby$sysinfoconfig$api$GnubbyId.fields, jspb_internal_binary.RWRepeatedMessage, jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdateSequence.fields];
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdateV2.fields);
var jspb$gnubby$sysinfoconfig$api$MutableUpdates = function(data) {
  module$contents$jspb_internal_public_for_gencode_GeneratedMessage.call(this, data);
};
$jscomp.inherits(jspb$gnubby$sysinfoconfig$api$MutableUpdates, module$contents$jspb_internal_public_for_gencode_GeneratedMessage);
jspb$gnubby$sysinfoconfig$api$MutableUpdates.prototype.getFirmwareUpdateList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate, 1, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$gnubby$sysinfoconfig$api$MutableUpdates.prototype.getAppletUpdateList = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate, 2, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$gnubby$sysinfoconfig$api$MutableUpdates.prototype.getFirmwareUpdateV2List = function(freezeOptOut) {
  return jspb_internal_adapters.getRepeatedWrapperField(this, jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2, 3, jspb_internal_adapters.getRepeatedFieldReturnType(freezeOptOut));
};
jspb$gnubby$sysinfoconfig$api$MutableUpdates.deserialize = module$contents$jspb_internal_public_for_gencode_makeMutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableUpdates);
jspb$gnubby$sysinfoconfig$api$MutableUpdates.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasMutableInstance(jspb$gnubby$sysinfoconfig$api$MutableUpdates);
module$exports$jspb$internal_options.GENERATE_TYPE_NAME_PROPERTIES && (jspb$gnubby$sysinfoconfig$api$MutableUpdates.internalDoNotUse_debugOnlyProtoTypeName = "gnubby.sysinfoconfig.api.Updates");
var jspb$b$gnubby$sysinfoconfig$api$Updates = {};
jspb$b$gnubby$sysinfoconfig$api$Updates.fields = [0, jspb_internal_binary.RWRepeatedMessage, jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdate.fields, jspb_internal_binary.RWRepeatedMessage, jspb$b$gnubby$sysinfoconfig$api$AppletUpdate.fields, jspb_internal_binary.RWRepeatedMessage, jspb$b$gnubby$sysinfoconfig$api$FirmwareUpdateV2.fields];
jspb$gnubby$sysinfoconfig$api$MutableUpdates.prototype.serializeBinary = module$contents$jspb_internal_public_for_gencode_makePrototypeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$Updates.fields);
var jspb$gnubby$sysinfoconfig$api$ImmutableUpdates = function() {
};
jspb$gnubby$sysinfoconfig$api$ImmutableUpdates.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableUpdates);
jspb$gnubby$sysinfoconfig$api$ImmutableUpdates.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$gnubby$sysinfoconfig$api$MutableUpdates);
jspb$gnubby$sysinfoconfig$api$ImmutableUpdates.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$gnubby$sysinfoconfig$api$MutableUpdates);
var jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$Delete = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {forceOperation:jspb_internal_adapters.getBooleanFieldWithDefault(msg, 1), useDevServer:jspb_internal_adapters.getBooleanFieldWithDefault(msg, 2)};
  }
}};
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$Delete.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$Delete.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete();
  jspb_internal_adapters.setProto3BooleanField(msg, 1, obj.forceOperation);
  jspb_internal_adapters.setProto3BooleanField(msg, 2, obj.useDevServer);
  return msg;
};
var jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$Install = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {forceOperation:jspb_internal_adapters.getBooleanFieldWithDefault(msg, 1), useDevServer:jspb_internal_adapters.getBooleanFieldWithDefault(msg, 2), version:jspb$o$gnubby$sysinfoconfig$api$Version.internal_toObject(msg.getVersion())};
  }
}};
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$Install.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$Install.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall();
  jspb_internal_adapters.setProto3BooleanField(msg, 1, obj.forceOperation);
  jspb_internal_adapters.setProto3BooleanField(msg, 2, obj.useDevServer);
  jspb_internal_adapters.setWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableVersion, 3, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.version, jspb$o$gnubby$sysinfoconfig$api$Version.fromObject));
  return msg;
};
var jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {};
  }
}};
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall.fromObject = function() {
  return new jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall();
};
var jspb$o$gnubby$sysinfoconfig$api$AppletUpdate = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {keyId:jspb$o$gnubby$sysinfoconfig$api$GnubbyId.internal_toObject(msg.getKeyId()), type:jspb_internal_adapters.getEnumFieldWithDefault(msg, 2, 0), deleteOp:jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$Delete.internal_toObject(msg.getDeleteOp()), installOp:jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$Install.internal_toObject(msg.getInstallOp()), recommendReinstallOp:jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall.internal_toObject(msg.getRecommendReinstallOp())};
  }
}};
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$AppletUpdate.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$AppletUpdate.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate();
  jspb_internal_adapters.setWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, 1, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.keyId, jspb$o$gnubby$sysinfoconfig$api$GnubbyId.fromObject));
  jspb_internal_adapters.setProto3EnumField(msg, 2, obj.type);
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete, 3, jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.oneofGroup_OperationCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.deleteOp, jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$Delete.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall, 4, jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.oneofGroup_OperationCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.installOp, jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$Install.fromObject));
  jspb_internal_adapters.setOneofWrapperField(msg, jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall, 5, jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.oneofGroup_OperationCase_, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.recommendReinstallOp, jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall.fromObject));
  return msg;
};
var jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdate = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {platformId:jspb_internal_adapters.getStringFieldWithDefault(msg, 1), keyId:jspb$o$gnubby$sysinfoconfig$api$GnubbyId.internal_toObject(msg.getKeyId()), image:jspb_internal_adapters.getStringFieldWithDefault(msg, 3), imageVersion:jspb$o$gnubby$sysinfoconfig$api$Version.internal_toObject(msg.getImageVersion()), isReenrollRecommended:jspb_internal_adapters.getBooleanFieldWithDefault(msg, 5)};
  }
}};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdate.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdate.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate();
  jspb_internal_adapters.setProto3StringField(msg, 1, obj.platformId);
  jspb_internal_adapters.setWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.keyId, jspb$o$gnubby$sysinfoconfig$api$GnubbyId.fromObject));
  jspb_internal_adapters.setProto3StringField(msg, 3, obj.image);
  jspb_internal_adapters.setWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableVersion, 4, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.imageVersion, jspb$o$gnubby$sysinfoconfig$api$Version.fromObject));
  jspb_internal_adapters.setProto3BooleanField(msg, 5, obj.isReenrollRecommended);
  return msg;
};
var jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateMetadata = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {platformId:jspb_internal_adapters.getStringFieldWithDefault(msg, 1), version:jspb$o$gnubby$sysinfoconfig$api$Version.internal_toObject(msg.getVersion()), updateFunction:jspb_internal_adapters.getEnumFieldWithDefault(msg, 3, 0)};
  }
}};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateMetadata.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateMetadata.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata();
  jspb_internal_adapters.setProto3StringField(msg, 1, obj.platformId);
  jspb_internal_adapters.setWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableVersion, 2, module$contents$jspb_internal_public_for_gencode_fromObjectNullable(obj.version, jspb$o$gnubby$sysinfoconfig$api$Version.fromObject));
  jspb_internal_adapters.setProto3EnumField(msg, 3, obj.updateFunction);
  return msg;
};
var jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateSequence = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {updateMetadataList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getUpdateMetadataList(), jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateMetadata.internal_toObject), consequenceList:module$contents$jspb_internal_public_for_gencode_toObjectPrimitive(jspb_internal_adapters.getRepeatedEnumField(msg, 2, module$contents$jspb_internal_adapters_RepeatedArrayReturnType.EITHER_FROZEN_OR_UNFROZEN))};
  }
}};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateSequence.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateSequence.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence();
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateMetadata, 1, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.updateMetadataList, jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateMetadata.fromObject));
  jspb_internal_adapters.setRepeatedEnumField(msg, 2, obj.consequenceList);
  return msg;
};
var jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateV2 = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {keyIdList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getKeyIdList(), jspb$o$gnubby$sysinfoconfig$api$GnubbyId.internal_toObject), updateSequenceList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getUpdateSequenceList(), jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateSequence.internal_toObject)};
  }
}};
jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateV2.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateV2.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2();
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableGnubbyId, 1, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.keyIdList, jspb$o$gnubby$sysinfoconfig$api$GnubbyId.fromObject));
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateSequence, 2, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.updateSequenceList, jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateSequence.fromObject));
  return msg;
};
var jspb$o$gnubby$sysinfoconfig$api$Updates = {internal_toObject:function(msg) {
  if (msg != null) {
    return module$contents$jspb_internal_public_for_gencode_assertMutable(msg), {firmwareUpdateList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getFirmwareUpdateList(), jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdate.internal_toObject), appletUpdateList:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getAppletUpdateList(), jspb$o$gnubby$sysinfoconfig$api$AppletUpdate.internal_toObject), firmwareUpdateV2List:module$contents$jspb_internal_public_for_gencode_toObjectList(msg.getFirmwareUpdateV2List(), 
    jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateV2.internal_toObject)};
  }
}};
jspb$gnubby$sysinfoconfig$api$MutableUpdates.prototype.toObject = function() {
  return jspb$o$gnubby$sysinfoconfig$api$Updates.internal_toObject(this);
};
jspb$o$gnubby$sysinfoconfig$api$Updates.fromObject = function(obj) {
  var msg = new jspb$gnubby$sysinfoconfig$api$MutableUpdates();
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdate, 1, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.firmwareUpdateList, jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdate.fromObject));
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate, 2, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.appletUpdateList, jspb$o$gnubby$sysinfoconfig$api$AppletUpdate.fromObject));
  jspb_internal_adapters.setRepeatedWrapperField(msg, jspb$gnubby$sysinfoconfig$api$MutableFirmwareUpdateV2, 3, module$contents$jspb_internal_public_for_gencode_fromObjectList(obj.firmwareUpdateV2List, jspb$o$gnubby$sysinfoconfig$api$FirmwareUpdateV2.fromObject));
  return msg;
};
proto.gnubby.sysinfoconfig.api.ReadonlyUpdates = {};
proto.gnubby.sysinfoconfig.api.Updates = jspb$gnubby$sysinfoconfig$api$MutableUpdates;
jspb$gnubby$sysinfoconfig$api$MutableUpdates.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$gnubby$sysinfoconfig$api$MutableUpdates, jspb$b$gnubby$sysinfoconfig$api$Updates.fields);
jspb$gnubby$sysinfoconfig$api$MutableUpdates.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$Updates.fields);
jspb$gnubby$sysinfoconfig$api$MutableUpdates.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$gnubby$sysinfoconfig$api$Updates.fields);
jspb$gnubby$sysinfoconfig$api$MutableUpdates.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$gnubby$sysinfoconfig$api$MutableUpdates, jspb$b$gnubby$sysinfoconfig$api$Updates.fields);
jspb$gnubby$sysinfoconfig$api$MutableUpdates.fromObject = jspb$o$gnubby$sysinfoconfig$api$Updates.fromObject;
proto.gnubby.sysinfoconfig.api.MutableUpdates = jspb$gnubby$sysinfoconfig$api$MutableUpdates;
jspb$gnubby$sysinfoconfig$api$ImmutableUpdates.serializeBinary = jspb$gnubby$sysinfoconfig$api$MutableUpdates.serializeBinary;
jspb$gnubby$sysinfoconfig$api$ImmutableUpdates.serializeBinaryToByteString = jspb$gnubby$sysinfoconfig$api$MutableUpdates.serializeBinaryToByteString;
jspb$gnubby$sysinfoconfig$api$ImmutableUpdates.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$gnubby$sysinfoconfig$api$MutableUpdates.deserializeBinary);
jspb$gnubby$sysinfoconfig$api$ImmutableUpdates.makeCrossSerializerComparisonsCompatible = jspb$gnubby$sysinfoconfig$api$MutableUpdates.makeCrossSerializerComparisonsCompatible;
proto.gnubby.sysinfoconfig.api.ImmutableUpdates = jspb$gnubby$sysinfoconfig$api$ImmutableUpdates;
var jspb$gnubby$sysinfoconfig$api$ImmutableVersion = function() {
};
jspb$gnubby$sysinfoconfig$api$ImmutableVersion.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableVersion);
jspb$gnubby$sysinfoconfig$api$ImmutableVersion.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$gnubby$sysinfoconfig$api$MutableVersion);
jspb$gnubby$sysinfoconfig$api$ImmutableVersion.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$gnubby$sysinfoconfig$api$MutableVersion);
proto.gnubby.sysinfoconfig.api.ReadonlyVersion = {};
proto.gnubby.sysinfoconfig.api.Version = jspb$gnubby$sysinfoconfig$api$MutableVersion;
jspb$gnubby$sysinfoconfig$api$MutableVersion.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$gnubby$sysinfoconfig$api$MutableVersion, jspb$b$gnubby$sysinfoconfig$api$Version.fields);
jspb$gnubby$sysinfoconfig$api$MutableVersion.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$Version.fields);
jspb$gnubby$sysinfoconfig$api$MutableVersion.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$gnubby$sysinfoconfig$api$Version.fields);
jspb$gnubby$sysinfoconfig$api$MutableVersion.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$gnubby$sysinfoconfig$api$MutableVersion, jspb$b$gnubby$sysinfoconfig$api$Version.fields);
jspb$gnubby$sysinfoconfig$api$MutableVersion.fromObject = jspb$o$gnubby$sysinfoconfig$api$Version.fromObject;
proto.gnubby.sysinfoconfig.api.MutableVersion = jspb$gnubby$sysinfoconfig$api$MutableVersion;
jspb$gnubby$sysinfoconfig$api$ImmutableVersion.serializeBinary = jspb$gnubby$sysinfoconfig$api$MutableVersion.serializeBinary;
jspb$gnubby$sysinfoconfig$api$ImmutableVersion.serializeBinaryToByteString = jspb$gnubby$sysinfoconfig$api$MutableVersion.serializeBinaryToByteString;
jspb$gnubby$sysinfoconfig$api$ImmutableVersion.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$gnubby$sysinfoconfig$api$MutableVersion.deserializeBinary);
jspb$gnubby$sysinfoconfig$api$ImmutableVersion.makeCrossSerializerComparisonsCompatible = jspb$gnubby$sysinfoconfig$api$MutableVersion.makeCrossSerializerComparisonsCompatible;
proto.gnubby.sysinfoconfig.api.ImmutableVersion = jspb$gnubby$sysinfoconfig$api$ImmutableVersion;
var module$exports$google3$security$tools$gnubby$sysinfoconfig$interfaces = {Updates:function() {
}, FirmwareUpdateMetadata:function() {
}, FirmwareImage:function() {
}, YubicoGnubbyId:function() {
}, Firmware:function() {
}, FirmwareId:function() {
}, AppletUpdateType:{DELETE:"delete", INSTALL:"install", RECOMMEND_REINSTALL:"recommend_reinstall"}};
var module$exports$google3$security$tools$gnubby$ske$gnubby$types = {HavenMetric:function() {
}, GnubbyIdType:{UNKNOWN:0, HAVEN_ID:1, CPLC_ID:2, CROS_EVE_ID:3}};
module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType[module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.UNKNOWN] = "UNKNOWN";
module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType[module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.HAVEN_ID] = "HAVEN_ID";
module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType[module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.CPLC_ID] = "CPLC_ID";
module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType[module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.CROS_EVE_ID] = "CROS_EVE_ID";
module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType = {UNKNOWN:0, NO_SSH_APPLET:1, NO_PIN:2, KNOWLEDGE_BASED:3, MACHINE_BASED:4, LOCKED:5};
module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType[module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType.UNKNOWN] = "UNKNOWN";
module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType[module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType.NO_SSH_APPLET] = "NO_SSH_APPLET";
module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType[module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType.NO_PIN] = "NO_PIN";
module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType[module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType.KNOWLEDGE_BASED] = "KNOWLEDGE_BASED";
module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType[module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType.MACHINE_BASED] = "MACHINE_BASED";
module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType[module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType.LOCKED] = "LOCKED";
module$exports$google3$security$tools$gnubby$ske$gnubby$types.isHaven = function(platformId) {
  return module$contents$google3$security$tools$gnubby$ske$gnubby$types_isRoamingHaven(platformId) || module$contents$google3$security$tools$gnubby$ske$gnubby$types_isCrosEve(platformId);
};
function module$contents$google3$security$tools$gnubby$ske$gnubby$types_isRoamingHaven(platformId) {
  return platformId.startsWith("hg_") || platformId.startsWith("tk-") || platformId.startsWith("pro");
}
module$exports$google3$security$tools$gnubby$ske$gnubby$types.isRoamingHaven = module$contents$google3$security$tools$gnubby$ske$gnubby$types_isRoamingHaven;
function module$contents$google3$security$tools$gnubby$ske$gnubby$types_isCrosEve(platformId) {
  return platformId.startsWith("cr50");
}
module$exports$google3$security$tools$gnubby$ske$gnubby$types.isCrosEve = module$contents$google3$security$tools$gnubby$ske$gnubby$types_isCrosEve;
module$exports$google3$security$tools$gnubby$ske$gnubby$types.PublicKeyData = function() {
};
jspb$e.gnubby$sysinfoconfig$api$AppletUpdate$OperationCase = {OPERATION_NOT_SET:0, DELETE_OP:3, INSTALL_OP:4, RECOMMEND_REINSTALL_OP:5};
jspb$e.gnubby$sysinfoconfig$api$AppletUpdate$Type = {UNKNOWN:0, U2F:1, SSH:2};
var jspb$gnubby$sysinfoconfig$api$ImmutableAppletUpdate = function() {
};
jspb$gnubby$sysinfoconfig$api$ImmutableAppletUpdate.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate);
jspb$gnubby$sysinfoconfig$api$ImmutableAppletUpdate.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate);
jspb$gnubby$sysinfoconfig$api$ImmutableAppletUpdate.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate);
proto.gnubby.sysinfoconfig.api.ReadonlyAppletUpdate = {};
proto.gnubby.sysinfoconfig.api.AppletUpdate = jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate;
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate, jspb$b$gnubby$sysinfoconfig$api$AppletUpdate.fields);
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$AppletUpdate.fields);
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$gnubby$sysinfoconfig$api$AppletUpdate.fields);
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate, jspb$b$gnubby$sysinfoconfig$api$AppletUpdate.fields);
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.fromObject = jspb$o$gnubby$sysinfoconfig$api$AppletUpdate.fromObject;
proto.gnubby.sysinfoconfig.api.MutableAppletUpdate = jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate;
jspb$gnubby$sysinfoconfig$api$ImmutableAppletUpdate.serializeBinary = jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.serializeBinary;
jspb$gnubby$sysinfoconfig$api$ImmutableAppletUpdate.serializeBinaryToByteString = jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.serializeBinaryToByteString;
jspb$gnubby$sysinfoconfig$api$ImmutableAppletUpdate.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.deserializeBinary);
jspb$gnubby$sysinfoconfig$api$ImmutableAppletUpdate.makeCrossSerializerComparisonsCompatible = jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.makeCrossSerializerComparisonsCompatible;
proto.gnubby.sysinfoconfig.api.ImmutableAppletUpdate = jspb$gnubby$sysinfoconfig$api$ImmutableAppletUpdate;
jspb$gnubby$sysinfoconfig$api$MutableAppletUpdate.Type = jspb$e.gnubby$sysinfoconfig$api$AppletUpdate$Type;
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete, jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Delete.fields);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Delete.fields);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Delete.fields);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete, jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Delete.fields);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableDelete.fromObject = jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$Delete.fromObject;
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall, jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Install.fields);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Install.fields);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Install.fields);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall, jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$Install.fields);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableInstall.fromObject = jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$Install.fromObject;
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall, jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall.fields);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall.fields);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall.fields);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall, jspb$b$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall.fields);
jspb$gnubby$sysinfoconfig$api$AppletUpdate$MutableRecommendReinstall.fromObject = jspb$o$gnubby$sysinfoconfig$api$AppletUpdate$RecommendReinstall.fromObject;
function module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_validateUpdatesProto(updates, withFirmwareImages) {
  if (!updates) {
    throw Error("updates proto is undefined");
  }
  var $jscomp$destructuring$var63 = (0,$jscomp.makeIterator)([updates.getFirmwareUpdateList(), updates.getAppletUpdateList()]), firmwareUpdatesProto__tsickle_destructured_1 = $jscomp$destructuring$var63.next().value, appletUpdatesProto__tsickle_destructured_2 = $jscomp$destructuring$var63.next().value, firmwareUpdates = firmwareUpdatesProto__tsickle_destructured_1 == null ? void 0 : firmwareUpdatesProto__tsickle_destructured_1.flatMap(function(f) {
    var $jscomp$inline_721, $jscomp$inline_722 = (0,$jscomp.makeIterator)([f.getPlatformId(), module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_getKeyIdFromProto(f.getKeyId()), ($jscomp$inline_721 = f.getKeyId()) == null ? void 0 : $jscomp$inline_721.getNickname(), f.getImage(), module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_versionFromProto(f.getImageVersion()), f.getIsReenrollRecommended()]), platformId__tsickle_destructured_3 = $jscomp$inline_722.next().value, 
    keyId__tsickle_destructured_4 = $jscomp$inline_722.next().value, nickname__tsickle_destructured_5 = $jscomp$inline_722.next().value, image__tsickle_destructured_6 = $jscomp$inline_722.next().value, imageVersion__tsickle_destructured_7 = $jscomp$inline_722.next().value, isReenrollRecommended__tsickle_destructured_8 = $jscomp$inline_722.next().value;
    if (platformId__tsickle_destructured_3 === "") {
      throw Error("no platformId found for firmware update: " + JSON.stringify(f));
    }
    if (keyId__tsickle_destructured_4.type === module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.UNKNOWN && keyId__tsickle_destructured_4.rawId === "") {
      throw Error("invalid key id: " + JSON.stringify(f));
    }
    var t = keyId__tsickle_destructured_4.type;
    switch(t) {
      case module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.HAVEN_ID:
      case module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.CPLC_ID:
        break;
      case module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.CROS_EVE_ID:
      case module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.UNKNOWN:
        throw Error("invalid key type '" + t + "' for firmware update");
      default:
        module$contents$google3$javascript$typescript$contrib$check_checkExhaustiveAllowing(t, void 0);
    }
    if (keyId__tsickle_destructured_4.rawId === "") {
      throw Error("no raw id found for firmware update: " + JSON.stringify(f));
    }
    var respHasImage = image__tsickle_destructured_6 !== "";
    if (!withFirmwareImages && respHasImage) {
      throw Error("firmware image should only be present when requested");
    }
    if (withFirmwareImages && !respHasImage && !isReenrollRecommended__tsickle_destructured_8) {
      throw Error("either firmware image should be present or re-enroll suggested if image requested");
    }
    if (respHasImage && !imageVersion__tsickle_destructured_7) {
      throw Error("no firmware image version found. should be present if image is set");
    }
    if (!imageVersion__tsickle_destructured_7 && !isReenrollRecommended__tsickle_destructured_8) {
      throw Error("either firmware image version or re-enroll recommendation should be present");
    }
    if (imageVersion__tsickle_destructured_7) {
      var firmwareImage = {version:imageVersion__tsickle_destructured_7};
      respHasImage && (firmwareImage.binary = image__tsickle_destructured_6);
      var JSCompiler_inline_result = firmwareImage;
    } else {
      JSCompiler_inline_result = null;
    }
    var imageMetadata = JSCompiler_inline_result, update = {keyId:keyId__tsickle_destructured_4, platformId:platformId__tsickle_destructured_3, isReenrollRecommended:isReenrollRecommended__tsickle_destructured_8};
    nickname__tsickle_destructured_5 && (update.nickname = nickname__tsickle_destructured_5);
    imageMetadata && (update.image = imageMetadata);
    return [update];
  }), $jscomp$nullish$tmp50, appletUpdates = ($jscomp$nullish$tmp50 = appletUpdatesProto__tsickle_destructured_2 == null ? void 0 : appletUpdatesProto__tsickle_destructured_2.flatMap(module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_appletUpdateFromProto)) != null ? $jscomp$nullish$tmp50 : [];
  return {firmwareUpdates:firmwareUpdates, appletUpdates:appletUpdates};
}
function module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_appletUpdateFromProto(proto$jscomp$1) {
  var $jscomp$optchain$tmp124485065$3, $jscomp$destructuring$var65 = (0,$jscomp.makeIterator)([module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_getKeyIdFromProto(proto$jscomp$1.getKeyId()), ($jscomp$optchain$tmp124485065$3 = proto$jscomp$1.getKeyId()) == null ? void 0 : $jscomp$optchain$tmp124485065$3.getNickname(), proto$jscomp$1.getType(), proto$jscomp$1.getOperationCase()]), keyId__tsickle_destructured_9 = $jscomp$destructuring$var65.next().value, nickname__tsickle_destructured_10 = 
  $jscomp$destructuring$var65.next().value, appletType__tsickle_destructured_11 = $jscomp$destructuring$var65.next().value, operation__tsickle_destructured_12 = $jscomp$destructuring$var65.next().value;
  if (keyId__tsickle_destructured_9.type === module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.UNKNOWN && keyId__tsickle_destructured_9.rawId === "") {
    throw Error("invalid key id: " + JSON.stringify(proto$jscomp$1));
  }
  var t = keyId__tsickle_destructured_9.type;
  switch(t) {
    case module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.CPLC_ID:
      break;
    case module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.HAVEN_ID:
    case module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.CROS_EVE_ID:
    case module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.UNKNOWN:
      throw Error("invalid key type for applet update: " + JSON.stringify(keyId__tsickle_destructured_9));
    default:
      module$contents$google3$javascript$typescript$contrib$check_checkExhaustiveAllowing(t, void 0);
  }
  if (keyId__tsickle_destructured_9.rawId === "") {
    throw Error("no rawId found for applet update: " + JSON.stringify(keyId__tsickle_destructured_9));
  }
  if (appletType__tsickle_destructured_11 === jspb$e.gnubby$sysinfoconfig$api$AppletUpdate$Type.UNKNOWN) {
    throw Error("type not specified in applet update: " + JSON.stringify(proto$jscomp$1));
  }
  var update = null;
  switch(operation__tsickle_destructured_12) {
    case jspb$e.gnubby$sysinfoconfig$api$AppletUpdate$OperationCase.DELETE_OP:
      var proto = proto$jscomp$1.getDeleteOp(), $jscomp$inline_738 = (0,$jscomp.makeIterator)([proto.getForceOperation(), proto.getUseDevServer()]), force__tsickle_destructured_13 = $jscomp$inline_738.next().value, useDevServer__tsickle_destructured_14 = $jscomp$inline_738.next().value;
      update = {keyId:keyId__tsickle_destructured_9, appletType:appletType__tsickle_destructured_11, op:module$exports$google3$security$tools$gnubby$sysinfoconfig$interfaces.AppletUpdateType.DELETE, force:force__tsickle_destructured_13, useDevServer:useDevServer__tsickle_destructured_14};
      break;
    case jspb$e.gnubby$sysinfoconfig$api$AppletUpdate$OperationCase.INSTALL_OP:
      var proto$jscomp$0 = proto$jscomp$1.getInstallOp(), $jscomp$inline_745 = (0,$jscomp.makeIterator)([proto$jscomp$0.getForceOperation(), proto$jscomp$0.getUseDevServer(), module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_versionFromProto(proto$jscomp$0.getVersion())]), force__tsickle_destructured_15 = $jscomp$inline_745.next().value, useDevServer__tsickle_destructured_16 = $jscomp$inline_745.next().value, version__tsickle_destructured_17 = $jscomp$inline_745.next().value;
      if (!version__tsickle_destructured_17) {
        throw Error("no version found for applet install op: " + JSON.stringify(proto$jscomp$0));
      }
      update = {keyId:keyId__tsickle_destructured_9, appletType:appletType__tsickle_destructured_11, op:module$exports$google3$security$tools$gnubby$sysinfoconfig$interfaces.AppletUpdateType.INSTALL, force:force__tsickle_destructured_15, useDevServer:useDevServer__tsickle_destructured_16, version:version__tsickle_destructured_17};
      break;
    case jspb$e.gnubby$sysinfoconfig$api$AppletUpdate$OperationCase.RECOMMEND_REINSTALL_OP:
      update = {keyId:keyId__tsickle_destructured_9, appletType:appletType__tsickle_destructured_11, op:module$exports$google3$security$tools$gnubby$sysinfoconfig$interfaces.AppletUpdateType.RECOMMEND_REINSTALL};
      break;
    case jspb$e.gnubby$sysinfoconfig$api$AppletUpdate$OperationCase.OPERATION_NOT_SET:
      throw Error("no operation set for applet update: " + JSON.stringify(proto$jscomp$1));
    default:
      module$contents$google3$javascript$typescript$contrib$check_checkExhaustiveAllowing(operation__tsickle_destructured_12, void 0);
  }
  if (!update) {
    return [];
  }
  nickname__tsickle_destructured_10 && (update.nickname = nickname__tsickle_destructured_10);
  return [update];
}
function module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_versionFromProto(v) {
  if (v == null || v === void 0) {
    return null;
  }
  var $jscomp$destructuring$var68 = (0,$jscomp.makeIterator)([v.getMajor(), v.getMinor(), v.getBuild()]), major__tsickle_destructured_18 = $jscomp$destructuring$var68.next().value, minor__tsickle_destructured_19 = $jscomp$destructuring$var68.next().value, build__tsickle_destructured_20 = $jscomp$destructuring$var68.next().value;
  return major__tsickle_destructured_18 === 0 && minor__tsickle_destructured_19 === 0 && build__tsickle_destructured_20 === 0 ? null : {major:major__tsickle_destructured_18, minor:minor__tsickle_destructured_19, build:build__tsickle_destructured_20};
}
function module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_getKeyIdFromProto(keyIdProto) {
  if (keyIdProto === void 0) {
    return {type:module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.UNKNOWN, rawId:""};
  }
  var type = module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_toGnubbyIdType(keyIdProto.getType()), $jscomp$nullish$tmp51, rawId = ($jscomp$nullish$tmp51 = keyIdProto.getRawId()) != null ? $jscomp$nullish$tmp51 : "";
  return {type:type, rawId:rawId};
}
function module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_toGnubbyIdType(t) {
  switch(t) {
    case jspb$e.gnubby$sysinfoconfig$api$GnubbyId$Type.HAVEN_ID:
      return module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.HAVEN_ID;
    case jspb$e.gnubby$sysinfoconfig$api$GnubbyId$Type.CPLC_ID:
      return module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.CPLC_ID;
    case jspb$e.gnubby$sysinfoconfig$api$GnubbyId$Type.CROS_EVE_ID:
      return module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.CROS_EVE_ID;
    case jspb$e.gnubby$sysinfoconfig$api$GnubbyId$Type.UNKNOWN:
      return module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.UNKNOWN;
    default:
      module$contents$google3$javascript$typescript$contrib$check_checkExhaustiveAllowing(t, void 0);
  }
}
function module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_toAppletUpdateEntry(au) {
  var op = au.op;
  switch(op) {
    case module$exports$google3$security$tools$gnubby$sysinfoconfig$interfaces.AppletUpdateType.DELETE:
      var deleteApplet = !0;
      break;
    case module$exports$google3$security$tools$gnubby$sysinfoconfig$interfaces.AppletUpdateType.INSTALL:
      deleteApplet = !1;
      break;
    case module$exports$google3$security$tools$gnubby$sysinfoconfig$interfaces.AppletUpdateType.RECOMMEND_REINSTALL:
      return [];
    default:
      module$contents$google3$javascript$typescript$contrib$check_checkExhaustiveAllowing(op, void 0);
  }
  var JSCompiler_temp_const = au.keyId;
  a: {
    var appletType = au.appletType;
    switch(appletType) {
      case jspb$e.gnubby$sysinfoconfig$api$AppletUpdate$Type.U2F:
        var JSCompiler_inline_result = !1;
        break a;
      case jspb$e.gnubby$sysinfoconfig$api$AppletUpdate$Type.SSH:
        JSCompiler_inline_result = !0;
        break a;
      default:
        module$contents$google3$javascript$typescript$contrib$check_checkExhaustiveAllowing(appletType, void 0);
    }
    JSCompiler_inline_result = void 0;
  }
  return [{keyId:JSCompiler_temp_const, ssh:JSCompiler_inline_result, delete:deleteApplet, force:au.force, dev:au.useDevServer}];
}
;goog.corplogin = {};
goog.corplogin.gnubbydatafetcher = {};
function module$contents$goog$corplogin$gnubbydatafetcher_getSignDataList(signDataResponse) {
  for (var appIdSignData = {appId:module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.CORP_APPID, version:module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.FidoProtocolType.U2F_V2, challenge:signDataResponse.challenge, challenges:[]}, rpIdSignData = {appId:module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.CORP_RPID, version:module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.FidoProtocolType.WEBAUTHN, 
  challenge:signDataResponse.challenge, challenges:[]}, i = 0; i < signDataResponse.challenges.length; i++) {
    signDataResponse.challenges[i].version === module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.FidoProtocolType.WEBAUTHN ? rpIdSignData.challenges.push(signDataResponse.challenges[i]) : appIdSignData.challenges.push(signDataResponse.challenges[i]);
  }
  var appIdSignDataList = goog.cryptotoken.CryptoTokenHandler.getSignDataList(appIdSignData, module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.CORP_APPID), rpIdSignDataList = goog.cryptotoken.CryptoTokenHandler.getSignDataList(rpIdSignData, module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.CORP_RPID);
  return appIdSignDataList.concat(rpIdSignDataList).map(function(challenge) {
    challenge.appId === module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.CORP_RPID && (challenge.appId = void 0);
    return challenge;
  });
}
function module$contents$goog$corplogin$gnubbydatafetcher_fetchSignData(username, crd, signDataUpdateCallback, errorCallback, injectedXhrIoSend) {
  var key = JSON.stringify([username, module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.CORP_APPID]), doCacheSignDataList = !0;
  document.location && document.location.href && (document.location.href.indexOf("/enroll") !== -1 || document.location.href.indexOf("/unenroll") !== -1) && (doCacheSignDataList = !1, window.localStorage && window.localStorage.removeItem(key));
  var respJson = module$contents$goog$corplogin$gnubbydatafetcher_loadSignResp(key);
  if (respJson) {
    signDataUpdateCallback(module$contents$goog$corplogin$gnubbydatafetcher_getSignDataList(respJson), respJson);
  } else {
    var gnubbySignUrl = new URL("/gnubbysign", document.location.origin);
    username !== null && gnubbySignUrl.searchParams.set("u", username);
    crd && gnubbySignUrl.searchParams.set("crd", "1");
    (injectedXhrIoSend ? injectedXhrIoSend : goog.net.XhrIo.send)(gnubbySignUrl.toString(), function() {
      var status = this.getStatus();
      try {
        var respJson = this.getResponseJson(module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.XSSI_JSON_PREFIX);
      } catch (e) {
        goog.global.console.log("json parsing error", e);
      }
      if (respJson) {
        if (status === goog.net.HttpStatus.OK) {
          if (doCacheSignDataList && window.localStorage) {
            var data = [(new Date()).getTime(), respJson];
            try {
              window.localStorage.setItem(key, JSON.stringify(data));
            } catch (error) {
              console.error("While trying to cache Security Key challenge data:", error), window.localStorage && window.localStorage.removeItem(key);
            }
          }
          signDataUpdateCallback(module$contents$goog$corplogin$gnubbydatafetcher_getSignDataList(respJson), respJson);
        } else {
          goog.global.console.log("error: ", status, respJson), errorCallback(status, respJson.error || "");
        }
      } else {
        goog.global.console.log("Unknown error: ", status, this.getResponseText()), errorCallback(status, this.getResponseText());
      }
    }, "POST", null, {"X-Same-Domain":"True"});
  }
}
function module$contents$goog$corplogin$gnubbydatafetcher_loadSignResp(key) {
  if (!window.localStorage) {
    return null;
  }
  var dataStr = window.localStorage.getItem(key);
  if (!dataStr) {
    return null;
  }
  var data = JSON.parse(dataStr);
  if (!(data instanceof Array) || data.length < 2) {
    return null;
  }
  var ts = data[0];
  if (typeof ts !== "number") {
    return null;
  }
  var now = (new Date()).getTime();
  return isNaN(ts) || ts > now || now > ts + 6E4 ? null : data[1];
}
function module$contents$goog$corplogin$gnubbydatafetcher_fetchUpdates(sysinfos, username, injectedXhrIoSend) {
  var url, xhrIoSend;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1576377965$56) {
    goog.global.console.log("get gnubby updates");
    url = new URL("/gnubbyupdate", document.location.origin);
    url.searchParams.set("u", username ? username : "");
    url.searchParams.set("sysinfosProto", btoa(module$contents$goog$corplogin$gnubbydatafetcher_convertSysinfos(sysinfos).serialize()));
    xhrIoSend = injectedXhrIoSend ? injectedXhrIoSend : goog.net.XhrIo.send;
    return $jscomp$generator$context$1576377965$56.return(new Promise(function(resolve, reject) {
      xhrIoSend(url.toString(), function() {
        var $jscomp$async$this$1576377965$23 = this, respStatus, respText, updates, resp, validated;
        return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1576377965$55) {
          respStatus = $jscomp$async$this$1576377965$23.getStatus();
          respText = $jscomp$async$this$1576377965$23.getResponseText();
          if (respStatus !== goog.net.HttpStatus.OK) {
            return reject(Error("code: " + respStatus + ", message: " + respText)), $jscomp$generator$context$1576377965$55.return();
          }
          if (respText.indexOf(module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.XSSI_JSON_PREFIX) === -1) {
            return reject(Error("resp missing xssi prefix: " + respText)), $jscomp$generator$context$1576377965$55.return();
          }
          try {
            resp = $jscomp$async$this$1576377965$23.getResponseJson(module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.XSSI_JSON_PREFIX), updates = jspb$gnubby$sysinfoconfig$api$MutableUpdates.deserialize(resp.updates);
          } catch (e) {
            return reject(Error("error deserializing Updates from " + respText + ": " + e)), $jscomp$generator$context$1576377965$55.return();
          }
          try {
            validated = module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_validateUpdatesProto(updates, !0);
          } catch (e) {
            return reject(Error("invalid Updates proto from " + respText + ": " + e)), $jscomp$generator$context$1576377965$55.return();
          }
          goog.global.console.log("retrieved updates", JSON.stringify(validated));
          resolve(validated);
          $jscomp$generator$context$1576377965$55.jumpToEnd();
        });
      }, "GET", null, {"X-Same-Domain":"True"});
    }));
  });
}
function module$contents$goog$corplogin$gnubbydatafetcher_convertSysinfos(sysinfos) {
  return (new jspb$gnubby$sysinfoconfig$api$MutableSysinfos()).addAllSysinfo(sysinfos.flatMap(function(s) {
    var keyId = s.getKeyId();
    if (keyId) {
      var type = module$contents$goog$corplogin$gnubbydatafetcher_convertKeyIdType(keyId.getType());
      if (type === void 0) {
        var JSCompiler_inline_result = null;
      } else {
        var base16KeyId = keyId.getRawId();
        JSCompiler_inline_result = (new jspb$gnubby$sysinfoconfig$api$MutableGnubbyId()).setType(type).setRawId(module$contents$google3$java$com$google$corplogin$server$serverfiles$c$base64_base64EncodeBytesWebsafeNoPadding((new Uint8Array((0,goog.crypt.hexToByteArray)(base16KeyId))).buffer));
      }
    } else {
      JSCompiler_inline_result = null;
    }
    var keyId$jscomp$0 = JSCompiler_inline_result, fw = module$contents$goog$corplogin$gnubbydatafetcher_convertVersion(s.getFwVersion()), u2f = module$contents$goog$corplogin$gnubbydatafetcher_convertVersion(s.getU2fVersion()), ssh = module$contents$goog$corplogin$gnubbydatafetcher_convertVersion(s.getSshVersion());
    if (!keyId$jscomp$0 || !fw) {
      return [];
    }
    var converted = (new jspb$gnubby$sysinfoconfig$api$MutableSysinfo()).setKeyId(keyId$jscomp$0).setPlatformId(s.getPlatformId()).setFirmwareVersion(fw);
    u2f && converted.setU2fVersion(u2f);
    ssh && converted.setSshVersion(ssh);
    converted.setPinStatus(s.getPinStatus());
    return [converted];
  }));
}
function module$contents$goog$corplogin$gnubbydatafetcher_convertKeyIdType(t) {
  switch(t) {
    case jspb$e.corplogin$server$KeyId$GnubbyIdType.UNKNOWN:
      return jspb$e.gnubby$sysinfoconfig$api$GnubbyId$Type.UNKNOWN;
    case jspb$e.corplogin$server$KeyId$GnubbyIdType.HAVEN_ID:
      return jspb$e.gnubby$sysinfoconfig$api$GnubbyId$Type.HAVEN_ID;
    case jspb$e.corplogin$server$KeyId$GnubbyIdType.CPLC_ID:
      return jspb$e.gnubby$sysinfoconfig$api$GnubbyId$Type.CPLC_ID;
    case jspb$e.corplogin$server$KeyId$GnubbyIdType.CROS_EVE_ID:
      return jspb$e.gnubby$sysinfoconfig$api$GnubbyId$Type.CROS_EVE_ID;
  }
  return null;
}
function module$contents$goog$corplogin$gnubbydatafetcher_convertVersion(v) {
  return v ? (new jspb$gnubby$sysinfoconfig$api$MutableVersion()).setMajor(v.getMajor()).setMinor(v.getMinor()).setBuild(v.getBuild()) : null;
}
goog.corplogin.gnubbydatafetcher.XhrIoSend = void 0;
goog.corplogin.gnubbydatafetcher.fetchEnrollData = function(enrollDataUpdateCallback, errorCallback, injectedXhrIoSend) {
  goog.global.console.log("get enroll data");
  (injectedXhrIoSend ? injectedXhrIoSend : goog.net.XhrIo.send)(document.location.origin + "/gnubbyenroll?sysinfo=1", function() {
    var $jscomp$async$this$1576377965$17 = this, respText, resp, challenges, $jscomp$iter$107, $jscomp$key$1576377965$53$challenge, challenge;
    return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1576377965$54) {
      respText = $jscomp$async$this$1576377965$17.getResponseText();
      if ($jscomp$async$this$1576377965$17.getStatus() !== goog.net.HttpStatus.OK || respText.indexOf(module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.XSSI_JSON_PREFIX) === -1) {
        return goog.global.console.log("Http Error:" + respText), errorCallback(respText), $jscomp$generator$context$1576377965$54.jumpTo(0);
      }
      resp = $jscomp$async$this$1576377965$17.getResponseJson(module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.XSSI_JSON_PREFIX);
      challenges = resp.challenges;
      $jscomp$iter$107 = (0,$jscomp.makeIterator)(challenges);
      for ($jscomp$key$1576377965$53$challenge = $jscomp$iter$107.next(); !$jscomp$key$1576377965$53$challenge.done; $jscomp$key$1576377965$53$challenge = $jscomp$iter$107.next()) {
        challenge = $jscomp$key$1576377965$53$challenge.value, challenge.appId = module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.CORP_APPID;
      }
      return $jscomp$generator$context$1576377965$54.yield(enrollDataUpdateCallback(resp), 0);
    });
  }, "POST", null, {"X-Same-Domain":"True"});
};
goog.corplogin.gnubbydatafetcher.fetchSignData = module$contents$goog$corplogin$gnubbydatafetcher_fetchSignData;
goog.corplogin.gnubbydatafetcher.fetchUpdates = module$contents$goog$corplogin$gnubbydatafetcher_fetchUpdates;
goog.corplogin.gnubbydatafetcher.getSignDataList = module$contents$goog$corplogin$gnubbydatafetcher_getSignDataList;
goog.corplogin.GnubbyDeviceErrorCodes_ = {ERR_INVALID_CMD:1, ERR_INVALID_PAR:2, ERR_INVALID_LEN:3, ERR_INVALID_SEQ:4, ERR_MSG_TIMEOUT:5, ERR_CHANNEL_BUSY:6, ERR_ACCESS_DENIED:7, ERR_VERIFY_ERROR:9, ERR_LOCK_REQUIRED:10, ERR_SYNC_FAIL:11};
goog.corplogin.parseGnubbyError = function(errorMessage) {
  if (!errorMessage) {
    return null;
  }
  var colonPos = errorMessage.lastIndexOf(":");
  if (colonPos < 0) {
    return null;
  }
  var code = parseInt(errorMessage.substring(colonPos + 1), 16);
  switch(-code) {
    case goog.corplogin.GnubbyDeviceErrorCodes_.ERR_INVALID_CMD:
      return {code:code, message:"Invalid command", link:"go/skerror-invalidcmd"};
    case goog.corplogin.GnubbyDeviceErrorCodes_.ERR_INVALID_PAR:
      return {code:code, message:"Invalid message length", link:"go/skerror-invalidlen"};
    case goog.corplogin.GnubbyDeviceErrorCodes_.ERR_INVALID_SEQ:
      return {code:code, message:"Invalid message sequencing", link:"go/skerror-invalidseq"};
    case goog.corplogin.GnubbyDeviceErrorCodes_.ERR_MSG_TIMEOUT:
      return {code:code, message:"Message has timed out", link:"go/skerror-msgtimeout"};
    case goog.corplogin.GnubbyDeviceErrorCodes_.ERR_CHANNEL_BUSY:
      return {code:code, message:"Channel busy", link:"go/skerror-channelbusy"};
    case goog.corplogin.GnubbyDeviceErrorCodes_.ERR_ACCESS_DENIED:
      return {code:code, message:"Access denied", link:"go/skerror-accessdenied"};
    case goog.corplogin.GnubbyDeviceErrorCodes_.ERR_VERIFY_ERROR:
      return {code:code, message:"Verification error", link:"go/skerror-verifyerror"};
    case goog.corplogin.GnubbyDeviceErrorCodes_.ERR_LOCK_REQUIRED:
      return {code:code, message:"Command requires channel lock", link:"go/skerror-lockreq"};
    case goog.corplogin.GnubbyDeviceErrorCodes_.ERR_SYNC_FAIL:
      return {code:code, message:"SYNC command failed", link:"go/skerror-syncfail"};
    default:
      return null;
  }
};
goog.exportSymbol("goog.corplogin.parseGnubbyError", goog.corplogin.parseGnubbyError);
var module$exports$jspb$types$legacy_mutable_array = {};
module$exports$jspb$types$legacy_mutable_array.DO_NOT_FREEZE__LEGACY_OPTION = module$exports$jspb$internal.DO_NOT_FREEZE__LEGACY_OPTION;
module$exports$jspb$types$legacy_mutable_array.asLegacyMutableArray = function(value) {
  return value;
};
function module$contents$google3$security$tools$gnubby$ske$client_lib$client_interface_exchangeMessage(extensionId, request) {
  var timeoutPromise, exchangePromise;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1754553694$55) {
    if (!chrome || !chrome.runtime) {
      throw Error("chrome.runtime is not defined");
    }
    timeoutPromise = new Promise(function(resolve, reject) {
      var $jscomp$nullish$tmp52, timeoutMs = (($jscomp$nullish$tmp52 = request.timeoutSeconds) != null ? $jscomp$nullish$tmp52 : 60) * 1E3;
      setTimeout(function() {
        reject(Error("timeout error: request " + request.type + ":" + request.requestId + " to " + (extensionId != null ? extensionId : '"background script"') + " did not complete within " + timeoutMs + " milliseconds"));
      }, timeoutMs);
    });
    exchangePromise = new Promise(function(resolve, reject) {
      function callback(response) {
        chrome.runtime.lastError ? reject(Error("runtime.sendMessage failed: " + chrome.runtime.lastError.message)) : resolve(response);
      }
      extensionId ? chrome.runtime.sendMessage(extensionId, request, callback) : chrome.runtime.sendMessage(request, callback);
    });
    return $jscomp$generator$context$m1754553694$55.return(Promise.race([timeoutPromise, exchangePromise]));
  });
}
;var module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type = {GnubbydRequestType:{HELLO:"HELLO", SSH_AGENT_REQUEST:"auth-agent@openssh.com", U2F_REGISTER_REQUEST:"u2f_register_request", CRD_STATUS_REQUEST:"is_chromoting_session_request", SYSINFOS_REQUEST:"sysinfos_request", FIRMWARE_UPDATE_REQUEST:"firmware_update_request", APPLET_UPDATE_REQUEST:"applet_update_request", SSH_PIN_REQUEST:"ssh_pin_request", GET_NEW_CERT_REQUEST:"get_new_cert_request", CERT_STATUS_REQUEST:"cert_status_request", 
GET_LOGS:"get_logs_request", UNKNOWN_REQUEST:"unknown"}, GnubbydResponseType:{HELLO_RESPONSE:"HELLO", SSH_AGENT_RESPONSE:"auth-agent@openssh.com", U2F_REGISTER_RESPONSE:"u2f_register_response", DIAGNOSTIC_RESPONSE:"diagnostic_response", CRD_STATUS_RESPONSE:"is_chromoting_session_response", SYSINFOS_RESPONSE:"sysinfos_response", FIRMWARE_UPDATE_RESPONSE:"firmware_update_response", APPLET_UPDATE_RESPONSE:"applet_update_response", SSH_PIN_RESPONSE:"ssh_pin_response", GET_NEW_CERT_RESPONSE:"get_new_cert_response", 
CERT_STATUS_RESPONSE:"cert_status_response", GET_LOGS:"get_logs_response", ERROR_RESPONSE:"error_response"}, GnubbydErrReason:{OTHER_ERROR:"other error", REQUEST_EXPIRED:"request expired", ACL_FAIL:"acl failed", BAD_REQUEST_DATA:"bad request data", NATIVE_HELPER_ERROR:"native helper error", NETWORK_ERROR:"network error", GNUBBY_CERT_NOT_FOUND:"gnubby SSH cert missing", CANCELLED:"request is cancelled", GNUBBY_DETAIL:"gnubby detail"}, GnubbydError:function(reason, message) {
  var $jscomp$tmp$error$233862588$1 = Error.call(this, "[" + reason + "]: " + message);
  this.message = $jscomp$tmp$error$233862588$1.message;
  "stack" in $jscomp$tmp$error$233862588$1 && (this.stack = $jscomp$tmp$error$233862588$1.stack);
  this.reason = reason;
  this.name = "GnubbydError";
  Object.setPrototypeOf(this, module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydError.prototype);
}};
$jscomp.inherits(module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydError, Error);
module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydError.isReason = function(err, reason) {
  return err instanceof module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydError && err.reason === reason;
};
var jspb$gnubby$sysinfoconfig$api$ImmutableHavenAid = function() {
};
jspb$gnubby$sysinfoconfig$api$ImmutableHavenAid.deserialize = module$contents$jspb_internal_public_for_gencode_makeImmutableDeserializeFunction(jspb$gnubby$sysinfoconfig$api$MutableHavenAid);
jspb$gnubby$sysinfoconfig$api$ImmutableHavenAid.getDefaultInstance = module$contents$jspb_internal_public_for_gencode_makeGetDefaultInstanceFunction(jspb$gnubby$sysinfoconfig$api$MutableHavenAid);
jspb$gnubby$sysinfoconfig$api$ImmutableHavenAid.hasInstance = module$contents$jspb_internal_public_for_gencode_makeHasImmutableInstance(jspb$gnubby$sysinfoconfig$api$MutableHavenAid);
proto.gnubby.sysinfoconfig.api.ReadonlyHavenAid = {};
proto.gnubby.sysinfoconfig.api.HavenAid = jspb$gnubby$sysinfoconfig$api$MutableHavenAid;
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryFunction(jspb$gnubby$sysinfoconfig$api$MutableHavenAid, jspb$b$gnubby$sysinfoconfig$api$HavenAid.fields);
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.serializeBinary = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryFunction(jspb$b$gnubby$sysinfoconfig$api$HavenAid.fields);
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.serializeBinaryToByteString = module$contents$jspb_internal_public_for_gencode_makeSerializeBinaryToByteStringFunction(jspb$b$gnubby$sysinfoconfig$api$HavenAid.fields);
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.makeCrossSerializerComparisonsCompatible = module$contents$jspb_internal_public_for_gencode_makeCrossSerializerComparisonsCompatibleFunction(jspb$gnubby$sysinfoconfig$api$MutableHavenAid, jspb$b$gnubby$sysinfoconfig$api$HavenAid.fields);
jspb$gnubby$sysinfoconfig$api$MutableHavenAid.fromObject = jspb$o$gnubby$sysinfoconfig$api$HavenAid.fromObject;
proto.gnubby.sysinfoconfig.api.MutableHavenAid = jspb$gnubby$sysinfoconfig$api$MutableHavenAid;
jspb$gnubby$sysinfoconfig$api$ImmutableHavenAid.serializeBinary = jspb$gnubby$sysinfoconfig$api$MutableHavenAid.serializeBinary;
jspb$gnubby$sysinfoconfig$api$ImmutableHavenAid.serializeBinaryToByteString = jspb$gnubby$sysinfoconfig$api$MutableHavenAid.serializeBinaryToByteString;
jspb$gnubby$sysinfoconfig$api$ImmutableHavenAid.deserializeBinary = module$contents$jspb_internal_public_for_gencode_makeDeserializeBinaryImmutableFunction(jspb$gnubby$sysinfoconfig$api$MutableHavenAid.deserializeBinary);
jspb$gnubby$sysinfoconfig$api$ImmutableHavenAid.makeCrossSerializerComparisonsCompatible = jspb$gnubby$sysinfoconfig$api$MutableHavenAid.makeCrossSerializerComparisonsCompatible;
proto.gnubby.sysinfoconfig.api.ImmutableHavenAid = jspb$gnubby$sysinfoconfig$api$ImmutableHavenAid;
goog.corplogin.gnubbyutil = {};
function module$contents$goog$corplogin$gnubbyutil_getUpdates(client, username, xhrIoSend) {
  var sysinfos, sysinfoStatus, updates$jscomp$0, err;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1699907966$91) {
    switch($jscomp$generator$context$m1699907966$91.nextAddress) {
      case 1:
        return $jscomp$generator$context$m1699907966$91.yield(module$contents$goog$corplogin$gnubbyutil_getGnubbySysinfosFromSke(client), 2);
      case 2:
        sysinfos = $jscomp$generator$context$m1699907966$91.yieldResult;
        if (sysinfoStatus = sysinfos.getSysinfoStatus()) {
          return module$contents$goog$corplogin$gnubbyutil_error("getUpdates", "unable to update gnubby: " + JSON.stringify(module$contents$goog$corplogin$gnubbyutil_toSysinfoStatusJson(sysinfoStatus))), $jscomp$generator$context$m1699907966$91.return({failure:(new jspb$corplogin$server$MutableUpdateResult()).setSysinfoFailure(sysinfoStatus)});
        }
        if (sysinfos.getGnubbySysinfoCount() === 0) {
          return module$contents$goog$corplogin$gnubbyutil_error("getUpdates", "unable to update gnubby: no sysinfo found"), $jscomp$generator$context$m1699907966$91.return({failure:(new jspb$corplogin$server$MutableUpdateResult()).setZeroSysinfoFound(new jspb$google$protobuf$MutableEmpty())});
        }
        $jscomp$generator$context$m1699907966$91.setCatchFinallyBlocks(3);
        return $jscomp$generator$context$m1699907966$91.yield(module$contents$goog$corplogin$gnubbydatafetcher_fetchUpdates(sysinfos.getGnubbySysinfoList(module$exports$jspb$types$legacy_mutable_array.DO_NOT_FREEZE__LEGACY_OPTION), username, xhrIoSend), 5);
      case 5:
        updates$jscomp$0 = $jscomp$generator$context$m1699907966$91.yieldResult;
        $jscomp$generator$context$m1699907966$91.leaveTryBlock(4);
        break;
      case 3:
        return err = $jscomp$generator$context$m1699907966$91.enterCatchBlock(), module$contents$goog$corplogin$gnubbyutil_error("getUpdates", "unable to fetch updates: " + err), $jscomp$generator$context$m1699907966$91.return({failure:(new jspb$corplogin$server$MutableUpdateResult()).setFetchError("" + err)});
      case 4:
        if (updates$jscomp$0.firmwareUpdates.length === 0 && updates$jscomp$0.appletUpdates.length === 0) {
          return module$contents$goog$corplogin$gnubbyutil_log("getUpdates", "no updates to apply"), $jscomp$generator$context$m1699907966$91.return({failure:(new jspb$corplogin$server$MutableUpdateResult()).setAlreadyUptodate(new jspb$google$protobuf$MutableEmpty())});
        }
        var JSCompiler_temp_const = JSON, JSCompiler_temp_const$jscomp$0 = JSCompiler_temp_const.stringify, updates = updates$jscomp$0;
        var JSCompiler_inline_result = {firmwareUpdates:module$contents$goog$corplogin$gnubbyutil_convertToLoggableFirmwareUpdates(updates.firmwareUpdates), appletUpdates:updates.appletUpdates};
        module$contents$goog$corplogin$gnubbyutil_log("getUpdates", "updates retrieved: " + JSCompiler_temp_const$jscomp$0.call(JSCompiler_temp_const, JSCompiler_inline_result));
        return $jscomp$generator$context$m1699907966$91.return({updates:updates$jscomp$0});
    }
  });
}
function module$contents$goog$corplogin$gnubbyutil_sendUpdatesToGnubbyClient(client, updates) {
  var firmwareUpdateResults, applicableFirmwareUpdates, err, errMsg, hasAppletUpdateForSameKey, appletUpdateResults, err$jscomp$0, errMsg$jscomp$0, skeFailure;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1699907966$92) {
    switch($jscomp$generator$context$m1699907966$92.nextAddress) {
      case 1:
        applicableFirmwareUpdates = updates.firmwareUpdates.flatMap(function(u) {
          var $jscomp$optchain$tmpm1699907966$0;
          return ($jscomp$optchain$tmpm1699907966$0 = u.image) != null && $jscomp$optchain$tmpm1699907966$0.binary ? [{keyId:u.keyId, platformId:u.platformId, image:u.image.binary}] : [];
        });
        if (!(applicableFirmwareUpdates.length > 0)) {
          $jscomp$generator$context$m1699907966$92.jumpTo(2);
          break;
        }
        $jscomp$generator$context$m1699907966$92.setCatchFinallyBlocks(3);
        return $jscomp$generator$context$m1699907966$92.yield(client.updateFirmwares(applicableFirmwareUpdates), 5);
      case 5:
        firmwareUpdateResults = $jscomp$generator$context$m1699907966$92.yieldResult;
        $jscomp$generator$context$m1699907966$92.leaveTryBlock(2);
        break;
      case 3:
        return err = $jscomp$generator$context$m1699907966$92.enterCatchBlock(), errMsg = "firmware updates " + JSON.stringify(module$contents$goog$corplogin$gnubbyutil_convertToLoggableFirmwareUpdates(updates.firmwareUpdates)) + " failed: " + err, module$contents$goog$corplogin$gnubbyutil_error("sendUpdatesToGnubbyClient", errMsg), $jscomp$generator$context$m1699907966$92.return((new jspb$corplogin$server$MutableUpdateResult()).setSkeFailure((new jspb$corplogin$server$UpdateResult$MutableSkeFailure()).addFirmwareErrorMessage(errMsg)));
      case 2:
        hasAppletUpdateForSameKey = applicableFirmwareUpdates.some(function(fu) {
          return updates.appletUpdates.some(function(au) {
            return module$contents$goog$object_equals(fu.keyId, au.keyId);
          });
        });
        if (!hasAppletUpdateForSameKey) {
          $jscomp$generator$context$m1699907966$92.jumpTo(6);
          break;
        }
        return $jscomp$generator$context$m1699907966$92.yield(new Promise(function(resolve) {
          setTimeout(resolve, module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.GNUBBY_REBOOT_DELAY_MS);
        }), 6);
      case 6:
        if (!(updates.appletUpdates.length > 0)) {
          $jscomp$generator$context$m1699907966$92.jumpTo(8);
          break;
        }
        $jscomp$generator$context$m1699907966$92.setCatchFinallyBlocks(9);
        return $jscomp$generator$context$m1699907966$92.yield(client.updateApplets(updates.appletUpdates.flatMap(module$contents$google3$security$tools$gnubby$sysinfoconfig$validate_toAppletUpdateEntry)), 11);
      case 11:
        appletUpdateResults = $jscomp$generator$context$m1699907966$92.yieldResult;
        $jscomp$generator$context$m1699907966$92.leaveTryBlock(8);
        break;
      case 9:
        return err$jscomp$0 = $jscomp$generator$context$m1699907966$92.enterCatchBlock(), errMsg$jscomp$0 = "applet updates " + JSON.stringify(updates.appletUpdates) + " failed: " + err$jscomp$0, module$contents$goog$corplogin$gnubbyutil_error("sendUpdatesToGnubbyClient", errMsg$jscomp$0), $jscomp$generator$context$m1699907966$92.return((new jspb$corplogin$server$MutableUpdateResult()).setSkeFailure((new jspb$corplogin$server$UpdateResult$MutableSkeFailure()).addAppletErrorMessage(errMsg$jscomp$0)));
      case 8:
        return firmwareUpdateResults && firmwareUpdateResults.failureUpdates.length > 0 || appletUpdateResults && appletUpdateResults.failureUpdates.length > 0 ? (skeFailure = new jspb$corplogin$server$UpdateResult$MutableSkeFailure(), skeFailure.addAllFirmwareErrorMessage(firmwareUpdateResults.failureUpdates.map(function(failure) {
          return JSON.stringify(failure.keyId) + ": " + failure.errorMsg;
        })), skeFailure.addAllAppletErrorMessage(appletUpdateResults.failureUpdates.map(function(failure) {
          return JSON.stringify(failure.keyId) + ": " + failure.errorMsg;
        })), $jscomp$generator$context$m1699907966$92.return((new jspb$corplogin$server$MutableUpdateResult()).setSkeFailure(skeFailure))) : $jscomp$generator$context$m1699907966$92.return((new jspb$corplogin$server$MutableUpdateResult()).setSuccess(new jspb$google$protobuf$MutableEmpty()));
    }
  });
}
function module$contents$goog$corplogin$gnubbyutil_getGnubbySysinfosFromSke(client) {
  var JSCompiler_temp_const, err;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1699907966$93) {
    if ($jscomp$generator$context$m1699907966$93.nextAddress == 1) {
      if (!client.supportsUpdates()) {
        return $jscomp$generator$context$m1699907966$93.return((new jspb$corplogin$server$MutableSysinfos()).setSysinfoStatus((new jspb$corplogin$server$MutableSysinfoStatus()).setCode(jspb$e.corplogin$server$SysinfoStatus$Code.EXTENSION_MISSING)));
      }
      $jscomp$generator$context$m1699907966$93.setCatchFinallyBlocks(2);
      JSCompiler_temp_const = module$contents$goog$corplogin$gnubbyutil_convertSysinfos;
      return $jscomp$generator$context$m1699907966$93.yield(client.getSysinfo(), 4);
    }
    if ($jscomp$generator$context$m1699907966$93.nextAddress != 2) {
      return $jscomp$generator$context$m1699907966$93.return(JSCompiler_temp_const($jscomp$generator$context$m1699907966$93.yieldResult));
    }
    err = $jscomp$generator$context$m1699907966$93.enterCatchBlock();
    module$contents$goog$corplogin$gnubbyutil_log("getGnubbySysinfosFromSke", "sysinfo failed: " + err);
    return err instanceof module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydError ? $jscomp$generator$context$m1699907966$93.return((new jspb$corplogin$server$MutableSysinfos()).setSysinfoStatus((new jspb$corplogin$server$MutableSysinfoStatus()).setCode(jspb$e.corplogin$server$SysinfoStatus$Code.SKE_ERROR).setSkeError("" + err))) : $jscomp$generator$context$m1699907966$93.return((new jspb$corplogin$server$MutableSysinfos()).setSysinfoStatus((new jspb$corplogin$server$MutableSysinfoStatus()).setCode(jspb$e.corplogin$server$SysinfoStatus$Code.JAVASCRIPT_ERROR).setJavascriptError("" + 
    err)));
  });
}
function module$contents$goog$corplogin$gnubbyutil_convertSysinfos(sysinfos) {
  function convertVersion(v) {
    return (new jspb$corplogin$server$MutableVersion()).setMajor(v.major).setMinor(v.minor).setBuild(v.build);
  }
  function convertHavenAid(ha) {
    return (new jspb$gnubby$sysinfoconfig$api$MutableHavenAid()).setRoEpoch(ha.roEpoch).setRoMajor(ha.roMajor).setRoMinor(ha.roMinor).setKeyId(ha.roKeyId).setFipsStatusFlags(ha.fipsStatusFlags).setCapTouchShifts(ha.capTouchShifts).setBoardId(ha.boardId).setFipsErrorLineNo(ha.fipsErrorLineNo).setSleepCount(ha.sleepCount);
  }
  function convertPinStatus(ps) {
    switch(ps) {
      case module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType.NO_SSH_APPLET:
        return jspb$e.gnubby$sysinfoconfig$api$Sysinfo$SshPinStatus.NO_SSH_APPLET;
      case module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType.NO_PIN:
        return jspb$e.gnubby$sysinfoconfig$api$Sysinfo$SshPinStatus.NO_PIN;
      case module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType.KNOWLEDGE_BASED:
        return jspb$e.gnubby$sysinfoconfig$api$Sysinfo$SshPinStatus.KNOWLEDGE_BASED;
      case module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType.MACHINE_BASED:
        return jspb$e.gnubby$sysinfoconfig$api$Sysinfo$SshPinStatus.MACHINE_BASED;
      case module$exports$google3$security$tools$gnubby$ske$gnubby$types.PinStatusType.LOCKED:
        return jspb$e.gnubby$sysinfoconfig$api$Sysinfo$SshPinStatus.LOCKED;
    }
    return jspb$e.gnubby$sysinfoconfig$api$Sysinfo$SshPinStatus.UNKNOWN;
  }
  for (var conversion = new jspb$corplogin$server$MutableSysinfos(), $jscomp$iter$108 = (0,$jscomp.makeIterator)(sysinfos), $jscomp$key$m1699907966$90$sysinfo = $jscomp$iter$108.next(); !$jscomp$key$m1699907966$90$sysinfo.done; $jscomp$key$m1699907966$90$sysinfo = $jscomp$iter$108.next()) {
    var sysinfo = $jscomp$key$m1699907966$90$sysinfo.value, gs = (new jspb$corplogin$server$MutableGnubbySysinfo()).setFwVersion(convertVersion(sysinfo.fw)).setPlatformId(sysinfo.platformId).setKeyId((new jspb$corplogin$server$MutableKeyId()).setType(module$contents$goog$corplogin$gnubbyutil_convertToCorploginKeyType(sysinfo.keyId.type)).setRawId(goog.crypt.byteArrayToHex(new Uint8Array(module$contents$google3$java$com$google$corplogin$server$serverfiles$c$base64_base64DecodeString(sysinfo.keyId.rawId))).toLowerCase()));
    sysinfo.u2f && gs.setU2fVersion(convertVersion(sysinfo.u2f));
    sysinfo.ssh && gs.setSshVersion(convertVersion(sysinfo.ssh));
    sysinfo.havenAid && gs.setHavenAid(convertHavenAid(sysinfo.havenAid));
    sysinfo.pinStatus != null && gs.setPinStatus(convertPinStatus(sysinfo.pinStatus));
    conversion.addGnubbySysinfo(gs);
  }
  return conversion;
}
function module$contents$goog$corplogin$gnubbyutil_convertToCorploginKeyType(t) {
  switch(t) {
    case module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.HAVEN_ID:
      return jspb$e.corplogin$server$KeyId$GnubbyIdType.HAVEN_ID;
    case module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.CPLC_ID:
      return jspb$e.corplogin$server$KeyId$GnubbyIdType.CPLC_ID;
    case module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.CROS_EVE_ID:
      return jspb$e.corplogin$server$KeyId$GnubbyIdType.CROS_EVE_ID;
  }
  return jspb$e.corplogin$server$KeyId$GnubbyIdType.UNKNOWN;
}
function module$contents$goog$corplogin$gnubbyutil_getGnubbySysinfos_(handler, keys, appId) {
  var resp, data, sysinfosProto, sysinfos, i;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1699907966$95) {
    if ($jscomp$generator$context$m1699907966$95.nextAddress == 1) {
      return $jscomp$generator$context$m1699907966$95.yield(handler.supportsSysinfo(), 2);
    }
    if ($jscomp$generator$context$m1699907966$95.nextAddress != 3) {
      return $jscomp$generator$context$m1699907966$95.yieldResult ? $jscomp$generator$context$m1699907966$95.yield(handler.handleSysinfoRequest(keys, appId, null, 5), 3) : $jscomp$generator$context$m1699907966$95.return((new jspb$corplogin$server$MutableSysinfos()).setSysinfoStatus((new jspb$corplogin$server$MutableSysinfoStatus()).setCode(jspb$e.corplogin$server$SysinfoStatus$Code.NOT_SUPPORTED)));
    }
    resp = $jscomp$generator$context$m1699907966$95.yieldResult;
    data = resp.responseData;
    if (!data) {
      return $jscomp$generator$context$m1699907966$95.return((new jspb$corplogin$server$MutableSysinfos()).setSysinfoStatus((new jspb$corplogin$server$MutableSysinfoStatus()).setCode(jspb$e.corplogin$server$SysinfoStatus$Code.BAD_GNUBBYD_DATA).setErrorDetail("missing responseData")));
    }
    sysinfosProto = new jspb$corplogin$server$MutableSysinfos();
    data.errorCode && sysinfosProto.setSysinfoStatus((new jspb$corplogin$server$MutableSysinfoStatus()).setCode(jspb$e.corplogin$server$SysinfoStatus$Code.GNUBBYD_ERROR).setGnubbydCode(data.errorCode).setErrorDetail(data.errorDetail));
    if (sysinfos = data.sysinfosData) {
      for (i = 0; i < sysinfos.length; i++) {
        sysinfosProto.addGnubbySysinfo(module$contents$goog$corplogin$gnubbyutil_sysinfoProtoFromObject(sysinfos[i]));
      }
    }
    return $jscomp$generator$context$m1699907966$95.return(sysinfosProto);
  });
}
function module$contents$goog$corplogin$gnubbyutil_sysinfoProtoFromObject(sysinfoObj) {
  function convertVersion(versionName) {
    if (sysinfoObj[versionName]) {
      var version = new jspb$corplogin$server$MutableVersion();
      version.setMajor(sysinfoObj[versionName].major);
      version.setMinor(sysinfoObj[versionName].minor);
      version.setBuild(sysinfoObj[versionName].build);
      return version;
    }
    return null;
  }
  var sysinfoProto = new jspb$corplogin$server$MutableGnubbySysinfo();
  sysinfoProto.setFwVersion(convertVersion("fwVersion"));
  sysinfoProto.setSshVersion(convertVersion("sshVersion"));
  sysinfoProto.setU2fVersion(convertVersion("u2fVersion"));
  sysinfoProto.setPlatformId(sysinfoObj.platformId);
  sysinfoProto.setHavenDeviceId(sysinfoObj.havenDeviceId);
  sysinfoProto.setKeyHandle(sysinfoObj.keyHandle);
  if (sysinfoObj.keyId) {
    var keyId = new jspb$corplogin$server$MutableKeyId();
    keyId.setType(sysinfoObj.keyId.type);
    keyId.setRawId(goog.crypt.byteArrayToHex(new Uint8Array(module$contents$google3$java$com$google$corplogin$server$serverfiles$c$base64_base64DecodeString(sysinfoObj.keyId.rawId))).toLowerCase());
    sysinfoProto.setKeyId(keyId);
  }
  return sysinfoProto;
}
function module$contents$goog$corplogin$gnubbyutil_toSysinfoStatusJson(sysinfoStatus) {
  var conversion = {};
  sysinfoStatus.hasCode() && (conversion.sysinfoStatusCode = sysinfoStatus.getCode());
  sysinfoStatus.hasGnubbydCode() && (conversion.gnubbydCode = sysinfoStatus.getGnubbydCode());
  sysinfoStatus.hasErrorDetail() && (conversion.gnubbydErrorDetail = sysinfoStatus.getErrorDetail());
  sysinfoStatus.hasJavascriptError() && (conversion.javascriptError = sysinfoStatus.getJavascriptError());
  sysinfoStatus.hasSkeError() && (conversion.skeError = sysinfoStatus.getSkeError());
  return conversion;
}
function module$contents$goog$corplogin$gnubbyutil_isPromptlyResolved(invocation) {
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1699907966$96) {
    return $jscomp$generator$context$m1699907966$96.nextAddress == 1 ? $jscomp$generator$context$m1699907966$96.yield(Promise.race([invocation.then(function() {
      return !0;
    }), module$contents$goog$corplogin$gnubbyutil_sleep(500).then(function() {
      return !1;
    })]), 2) : $jscomp$generator$context$m1699907966$96.return($jscomp$generator$context$m1699907966$96.yieldResult);
  });
}
function module$contents$goog$corplogin$gnubbyutil_sleep(durationMs) {
  return new Promise(function(resolve) {
    setTimeout(resolve, durationMs);
  });
}
function module$contents$goog$corplogin$gnubbyutil_convertToLoggableFirmwareUpdates(updates) {
  return updates.map(function(firmwareUpdate) {
    var loggable = Object.assign({}, firmwareUpdate), $jscomp$optchain$tmpm1699907966$1, binary = ($jscomp$optchain$tmpm1699907966$1 = firmwareUpdate.image) == null ? void 0 : $jscomp$optchain$tmpm1699907966$1.binary;
    binary && (loggable.image = Object.assign({}, firmwareUpdate.image), loggable.image.binary = binary.length > 10 ? binary.substring(0, 5) + "..." + binary.substring(binary.length - 5) : binary);
    return loggable;
  });
}
function module$contents$goog$corplogin$gnubbyutil_error(fn, entry) {
  entry = entry === void 0 ? "called" : entry;
  goog.global.console.error((new Date()).toISOString(), "[" + fn + "]", entry);
}
function module$contents$goog$corplogin$gnubbyutil_log(fn, entry) {
  entry = entry === void 0 ? "called" : entry;
  goog.global.console.log((new Date()).toISOString(), "[" + fn + "]", entry);
}
goog.corplogin.gnubbyutil.MIN_UPDATE_VIEW_DURATION_MS = 4E3;
goog.corplogin.gnubbyutil.convertToSkeKeyType = function(t) {
  switch(t) {
    case jspb$e.corplogin$server$KeyId$GnubbyIdType.HAVEN_ID:
      return module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.HAVEN_ID;
    case jspb$e.corplogin$server$KeyId$GnubbyIdType.CPLC_ID:
      return module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.CPLC_ID;
    case jspb$e.corplogin$server$KeyId$GnubbyIdType.CROS_EVE_ID:
      return module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.CROS_EVE_ID;
  }
  return module$exports$google3$security$tools$gnubby$ske$gnubby$types.GnubbyIdType.UNKNOWN;
};
goog.corplogin.gnubbyutil.getGnubbySysinfos = function(handler) {
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m1699907966$94) {
    return $jscomp$generator$context$m1699907966$94.nextAddress == 1 ? $jscomp$generator$context$m1699907966$94.yield(module$contents$goog$corplogin$gnubbyutil_getGnubbySysinfos_(handler, [], module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.CORP_APPID), 2) : $jscomp$generator$context$m1699907966$94.return($jscomp$generator$context$m1699907966$94.yieldResult);
  });
};
goog.corplogin.gnubbyutil.getGnubbySysinfosFromSke = module$contents$goog$corplogin$gnubbyutil_getGnubbySysinfosFromSke;
goog.corplogin.gnubbyutil.getUpdates = module$contents$goog$corplogin$gnubbyutil_getUpdates;
goog.corplogin.gnubbyutil.isPromptlyResolved = module$contents$goog$corplogin$gnubbyutil_isPromptlyResolved;
goog.corplogin.gnubbyutil.sendUpdatesToGnubbyClient = module$contents$goog$corplogin$gnubbyutil_sendUpdatesToGnubbyClient;
goog.corplogin.gnubbyutil.sleep = module$contents$goog$corplogin$gnubbyutil_sleep;
goog.corplogin.gnubbyutil.toSysinfoStatusJson = module$contents$goog$corplogin$gnubbyutil_toSysinfoStatusJson;
goog.corplogin.gnubbyutil.TEST_ONLY = {PROMPT_RESOLUTION_MS:500};
var $jscomp$templatelit$m1654746903$0 = $jscomp.createTemplateTagFirstArg(["/c/lock.js"]);
goog.corplogin.server = {};
goog.corplogin.server.lock = {};
goog.corplogin.server.lock.Lock = function(workerUrl) {
  workerUrl = workerUrl === void 0 ? module$contents$google3$third_party$javascript$safevalues$builders$resource_url_builders_trustedResourceUrl($jscomp$templatelit$m1654746903$0) : workerUrl;
  this.worker = null;
  this.workerUrl = workerUrl;
  this.acquired = !1;
};
goog.corplogin.server.lock.Lock.prototype.acquire = function(callback, error_callback) {
  this.worker = module$exports$google3$third_party$javascript$safevalues$dom$index.createSharedWorker(this.workerUrl);
  this.worker.port.start();
  var lock = this;
  this.worker.port.addEventListener("message", function(e) {
    goog.asserts.assertInstanceof(e, MessageEvent);
    switch(e.data.type) {
      case "acquired":
        lock.acquired = !0;
        callback(lock.acquired);
        break;
      case "error":
        lock.acquired = !1;
        error_callback(e.data.error);
        break;
      case "ping":
        lock.worker.port.postMessage({type:"pong"});
        break;
      default:
        console.log("Unexpected message: " + JSON.stringify(e.data));
    }
  });
  this.worker.port.postMessage({type:"acquire"});
};
goog.corplogin.server.lock.Lock.prototype.release = function(error) {
  this.acquired = !1;
  this.worker.port.postMessage({type:"release", error:error === void 0 ? null : error});
};
if (typeof SharedWorkerGlobalScope !== "undefined") {
  var keepalive = function(scope, port) {
    pingTime = new Date();
    pingIntervalId = setInterval(function() {
      Math.abs((new Date()).getTime() - pingTime.getTime()) > 1500 ? release$jscomp$1(scope) : port.postMessage({type:"ping"});
    }, 500);
  }, release$jscomp$1 = function(scope, port, error) {
    port = port === void 0 ? null : port;
    error = error === void 0 ? null : error;
    console.log("release()");
    if (port === null || port === queue[0]) {
      if (scope.clearInterval(pingIntervalId), pingIntervalId = pingTime = null, queue.shift(), error === null) {
        acquire(scope, queue[0]);
      } else {
        for (; port = queue.shift();) {
          port.postMessage({type:"error", error:error});
        }
      }
    }
  }, acquire = function(scope, port) {
    console.log("acquire()");
    port !== void 0 && queue[0] === port && (port.postMessage({type:"acquired"}), keepalive(scope, port));
  }, queue = [], pingTime = null, pingIntervalId = null;
  this.addEventListener("connect", function(e) {
    goog.asserts.assertInstanceof(e, MessageEvent);
    var port = goog.asserts.assertExists(e.ports[0]);
    port.start();
    port.addEventListener("message", function(e) {
      goog.asserts.assertInstanceof(e, MessageEvent);
      switch(e.data.type) {
        case "acquire":
          queue.push(port);
          acquire(self, port);
          break;
        case "release":
          release$jscomp$1(self, port, e.data.error);
          break;
        case "pong":
          pingTime = new Date();
      }
    });
  });
}
;var $jscomp$compprop64 = {}, module$contents$goog$cryptotoken$WebAuthnHandler_authenticatorTransportMapping = ($jscomp$compprop64[jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.USB] = "usb", $jscomp$compprop64[jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.NFC] = "nfc", $jscomp$compprop64[jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.BLE] = "ble", $jscomp$compprop64[jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.INTERNAL] = "internal", $jscomp$compprop64[jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.CABLE] = 
"cable", $jscomp$compprop64[jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.LIGHTNING] = "lightning", $jscomp$compprop64[jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.HYBRID] = "hybrid", $jscomp$compprop64), module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler = function(successCallback, errorCallback) {
  this.logger_ = goog.log.getLogger("goog.cryptotoken.WebAuthnHandler");
  this.successCallback_ = successCallback;
  this.errorCallback_ = errorCallback;
};
module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.prototype.requestCredential = function(requestOptions, allowedCredentialList, signal, mediation) {
  var $jscomp$this$2027692270$6 = this, options = {challenge:requestOptions.challenge};
  requestOptions.timeout && (options.timeout = requestOptions.timeout);
  requestOptions.rpId && (options.rpId = requestOptions.rpId);
  requestOptions.userVerification && (options.userVerification = requestOptions.userVerification);
  if (allowedCredentialList !== void 0 && allowedCredentialList.length !== 0) {
    for (var credentialList = [], $jscomp$iter$109 = (0,$jscomp.makeIterator)(allowedCredentialList), $jscomp$key$2027692270$20$value = $jscomp$iter$109.next(); !$jscomp$key$2027692270$20$value.done; $jscomp$key$2027692270$20$value = $jscomp$iter$109.next()) {
      var value = $jscomp$key$2027692270$20$value.value, credential = {type:"public-key", id:value.id};
      value.transports && (credential.transports = module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.parseTransportList_(value.transports));
      credentialList.push(credential);
    }
    options.allowCredentials = credentialList;
  }
  requestOptions.extensions && (options.extensions = module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.parseExtensions(requestOptions.extensions));
  var request = {publicKey:options};
  signal && (request.signal = signal);
  mediation && (request.mediation = mediation);
  goog.log.info(this.logger_, "Sending WebAuthn credential request: " + module$contents$goog$cryptotoken$WebAuthnHandler_toDebugString(request));
  return navigator.credentials.get(request).then(function(assertion) {
    return $jscomp$this$2027692270$6.requestSuccess_(assertion);
  }, function(err) {
    return $jscomp$this$2027692270$6.requestError_(err);
  });
};
module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.requestCredentialViaSmartLock = function(requestOptions, allowedCredentialList, flowProperties) {
  var iosSignRequest = {challenge:module$contents$goog$cryptotoken$WebAuthnHandler_base64EncodeBytes(requestOptions.challenge, !0)};
  requestOptions.timeout && (iosSignRequest.timeout = requestOptions.timeout);
  requestOptions.rpId && (iosSignRequest.rpId = requestOptions.rpId);
  requestOptions.userVerification && (iosSignRequest.userVerification = requestOptions.userVerification);
  requestOptions.extensions && (iosSignRequest.extensions = requestOptions.extensions);
  if (allowedCredentialList && allowedCredentialList.length > 0) {
    iosSignRequest.allowCredentials = [];
    for (var $jscomp$iter$110 = (0,$jscomp.makeIterator)(allowedCredentialList), $jscomp$key$2027692270$21$value = $jscomp$iter$110.next(); !$jscomp$key$2027692270$21$value.done; $jscomp$key$2027692270$21$value = $jscomp$iter$110.next()) {
      var value = $jscomp$key$2027692270$21$value.value, credential = {type:"public-key", id:module$contents$goog$cryptotoken$WebAuthnHandler_base64EncodeBytes(value.id, !0)};
      value.transports && (credential.transports = module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.parseTransportList_(value.transports));
      iosSignRequest.allowCredentials.push(credential);
    }
  }
  var jsonRequest = JSON.stringify(iosSignRequest), url = "";
  if (flowProperties.returnUrl) {
    var uriObject = flowProperties.useIosSecurityKeyUniversalLink ? new goog.Uri(goog.cryptotoken.IosSecurityKeyAppRequestSender.UNIVERSAL_LINK_FIDO2_AUTH_PREFIX) : new goog.Uri(goog.cryptotoken.IosSecurityKeyAppRequestSender.CUSTOM_SCHEME_FIDO2_AUTH_PREFIX);
    uriObject.setParameterValue("data", encodeURI(jsonRequest));
    uriObject.setParameterValue("returnUrl", flowProperties.returnUrl);
    flowProperties.displayIdentifier && uriObject.setParameterValue("displayIdentifier", flowProperties.displayIdentifier);
    flowProperties.isBrowser && uriObject.setParameterValue("isBrowser", 1);
    navigator.userAgent.indexOf("CriOS") > -1 && uriObject.setParameterValue("isChrome", 1);
    url = uriObject.toString();
  }
  goog.cryptotoken.IosSecurityKeyAppRequestSender.replaceLocation(url);
};
module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.parseExtensions = function(extensionString, useBase64Encoding) {
  useBase64Encoding = useBase64Encoding === void 0 ? !1 : useBase64Encoding;
  var providedExtensions = JSON.parse(extensionString), extensions = {};
  providedExtensions.appid && (extensions.appid = providedExtensions.appid);
  providedExtensions.appidExclude && (extensions.appidExclude = providedExtensions.appidExclude);
  providedExtensions.hasOwnProperty("googleLegacyAppidSupport") && (extensions.googleLegacyAppidSupport = providedExtensions.googleLegacyAppidSupport);
  if (providedExtensions.cableAuthentication) {
    for (var cableAuthenticationData = [], $jscomp$iter$111 = (0,$jscomp.makeIterator)(providedExtensions.cableAuthentication), $jscomp$key$2027692270$22$cableData = $jscomp$iter$111.next(); !$jscomp$key$2027692270$22$cableData.done; $jscomp$key$2027692270$22$cableData = $jscomp$iter$111.next()) {
      var cableData = $jscomp$key$2027692270$22$cableData.value, cableElement = {version:cableData.version, clientEid:useBase64Encoding ? cableData.clientEid : module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.base64DecodeString_(cableData.clientEid), authenticatorEid:useBase64Encoding ? cableData.authenticatorEid : module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.base64DecodeString_(cableData.authenticatorEid), sessionPreKey:useBase64Encoding ? cableData.sessionPreKey : 
      module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.base64DecodeString_(cableData.sessionPreKey)};
      cableAuthenticationData.push(cableElement);
    }
    extensions.cableAuthentication = cableAuthenticationData;
  }
  return extensions;
};
module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.parseTransportList_ = function(authenticatorTransportList) {
  for (var transportStringList = [], $jscomp$iter$112 = (0,$jscomp.makeIterator)(authenticatorTransportList), $jscomp$key$2027692270$23$transport = $jscomp$iter$112.next(); !$jscomp$key$2027692270$23$transport.done; $jscomp$key$2027692270$23$transport = $jscomp$iter$112.next()) {
    var stringTransport = module$contents$goog$cryptotoken$WebAuthnHandler_authenticatorTransportMapping[$jscomp$key$2027692270$23$transport.value];
    stringTransport && transportStringList.push(stringTransport);
  }
  return transportStringList;
};
module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.prototype.createCredential = function(creationOptions, excludedCredentialList) {
  for (var $jscomp$this$2027692270$10 = this, options = {rp:creationOptions.rp, user:creationOptions.user, challenge:creationOptions.challenge, pubKeyCredParams:[]}, $jscomp$iter$113 = (0,$jscomp.makeIterator)(creationOptions.supportedAlgs), $jscomp$key$2027692270$24$algorithm = $jscomp$iter$113.next(); !$jscomp$key$2027692270$24$algorithm.done; $jscomp$key$2027692270$24$algorithm = $jscomp$iter$113.next()) {
    options.pubKeyCredParams.push({type:"public-key", alg:$jscomp$key$2027692270$24$algorithm.value});
  }
  creationOptions.timeout && (options.timeout = creationOptions.timeout);
  options.excludeCredentials = [];
  if (excludedCredentialList !== void 0 && excludedCredentialList.length !== 0) {
    for (var $jscomp$iter$114 = (0,$jscomp.makeIterator)(excludedCredentialList), $jscomp$key$2027692270$25$credential = $jscomp$iter$114.next(); !$jscomp$key$2027692270$25$credential.done; $jscomp$key$2027692270$25$credential = $jscomp$iter$114.next()) {
      var credential = $jscomp$key$2027692270$25$credential.value;
      options.excludeCredentials.push({type:"public-key", id:credential.id, transports:credential.transports});
    }
  }
  var selectionCriteria = {};
  creationOptions.platformAttachment != void 0 && (selectionCriteria.authenticatorAttachment = creationOptions.platformAttachment ? "platform" : "cross-platform");
  creationOptions.requireResidentKey != void 0 && (selectionCriteria.requireResidentKey = creationOptions.requireResidentKey);
  creationOptions.residentKeyRequirement != void 0 && (selectionCriteria.residentKey = creationOptions.residentKeyRequirement);
  creationOptions.userVerificationRequirement != void 0 && (selectionCriteria.userVerification = creationOptions.userVerificationRequirement);
  Object.keys(selectionCriteria).length !== 0 && (options.authenticatorSelection = selectionCriteria);
  creationOptions.attestationConveyancePreference != void 0 && (options.attestation = creationOptions.attestationConveyancePreference);
  creationOptions.extensions && (options.extensions = module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.parseExtensions(creationOptions.extensions));
  navigator.credentials.create({publicKey:options}).then(function(attestation) {
    return $jscomp$this$2027692270$10.creationSuccess_(attestation);
  }, function(err) {
    return $jscomp$this$2027692270$10.requestError_(err);
  });
};
module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.prototype.requestSuccess_ = function(assertion) {
  goog.log.info(this.logger_, "Received successful credential request assertion: " + module$contents$goog$cryptotoken$WebAuthnHandler_toDebugString(assertion));
  if (assertion) {
    var response = assertion.response, requestResponse = {credentialId:assertion.rawId, authenticatorData:response.authenticatorData, clientData:response.clientDataJSON, signature:response.signature};
    "userHandle" in response && (requestResponse.userHandle = response.userHandle);
    "authenticatorAttachment" in assertion && (requestResponse.authenticatorAttachment = assertion.authenticatorAttachment);
    this.successCallback_(requestResponse);
  }
};
module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.prototype.requestError_ = function(error) {
  goog.log.error(this.logger_, "Received error from credential request: " + error.message);
  this.errorCallback_(error);
};
module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.prototype.creationSuccess_ = function(attestation) {
  if (attestation) {
    var response = attestation.response, creationResponse = {credentialId:attestation.rawId, clientData:response.clientDataJSON, attestationObject:response.attestationObject};
    if (response.getTransports) {
      for (var transports = [], $jscomp$iter$115 = (0,$jscomp.makeIterator)(response.getTransports()), $jscomp$key$2027692270$26$transport = $jscomp$iter$115.next(); !$jscomp$key$2027692270$26$transport.done; $jscomp$key$2027692270$26$transport = $jscomp$iter$115.next()) {
        transports.push($jscomp$key$2027692270$26$transport.value);
      }
      creationResponse.transports = transports;
    }
    "authenticatorAttachment" in attestation && (creationResponse.authenticatorAttachment = attestation.authenticatorAttachment);
    this.successCallback_(creationResponse);
  }
};
module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.base64EncodeFields = function(data) {
  return module$contents$goog$object_map(data, function(value) {
    return module$contents$goog$cryptotoken$WebAuthnHandler_base64EncodeBytes(value);
  });
};
module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.base64DecodeFields = function(data) {
  return module$contents$goog$object_map(data, function(value) {
    return module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.base64DecodeString_(value);
  });
};
module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.base64DecodeString_ = function(inputString) {
  return (new Uint8Array(goog.crypt.base64.decodeStringToByteArray(inputString))).buffer;
};
goog.exportProperty(module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler, "base64DecodeFields", module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.base64DecodeFields);
goog.exportProperty(module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler, "base64EncodeFields", module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.base64EncodeFields);
goog.exportProperty(module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.prototype, "createCredential", module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.prototype.createCredential);
goog.exportProperty(module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler, "requestCredentialViaSmartLock", module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.requestCredentialViaSmartLock);
goog.exportProperty(module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.prototype, "requestCredential", module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.prototype.requestCredential);
function module$contents$goog$cryptotoken$WebAuthnHandler_toDebugString(message) {
  var recreatedMessage = message;
  if ((message == null ? void 0 : message.toJSON) == null) {
    recreatedMessage = {};
    for (var key in message) {
      recreatedMessage[key] = message[key];
    }
  }
  return JSON.stringify(recreatedMessage, function(name, value) {
    return value instanceof ArrayBuffer ? module$contents$goog$cryptotoken$WebAuthnHandler_base64EncodeBytes(value, !0) : value;
  });
}
function module$contents$goog$cryptotoken$WebAuthnHandler_base64EncodeBytes(data, websafe) {
  websafe = websafe === void 0 ? !1 : websafe;
  return goog.crypt.base64.encodeByteArray(new Uint8Array(data), websafe ? goog.crypt.base64.Alphabet.WEBSAFE_DOT_PADDING : goog.crypt.base64.Alphabet.DEFAULT);
}
goog.cryptotoken.WebAuthnHandler = module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler;
module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler.CreationResponse = void 0;
goog.corplogin.webAuthnHandler = {};
var module$contents$goog$corplogin$webAuthnHandler_authenticatorTransportMapping = {unknown_transport_type:jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.UNKNOWN_TRANSPORT_TYPE, usb:jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.USB, nfc:jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.NFC, ble:jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.BLE, internal:jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.INTERNAL, cable:jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.CABLE, 
lightning:jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.LIGHTNING, hybrid:jspb$e.cryptauth$v2$securitykey$AuthenticatorTransport.HYBRID};
function module$contents$goog$corplogin$webAuthnHandler_getEnrolledCredentials(registeredKeys) {
  return registeredKeys ? registeredKeys.map(function(signData) {
    return {id:module$contents$google3$java$com$google$corplogin$server$serverfiles$c$base64_base64DecodeString(signData.keyHandle), transports:signData.transports.map(function(transport) {
      return module$contents$goog$corplogin$webAuthnHandler_authenticatorTransportMapping[transport];
    })};
  }) : [];
}
var module$contents$goog$corplogin$webAuthnHandler_WebAuthnAuthenticationHandler = function(cryptoTokenWebAuthnHandler) {
  this.webAuthnHandler = cryptoTokenWebAuthnHandler;
};
module$contents$goog$corplogin$webAuthnHandler_WebAuthnAuthenticationHandler.prototype.handleAuthenticationRequest = function(signDataList, enrolledCredentials, extensions) {
  var challenge = signDataList[0].challenge, signDataWithAppId = signDataList.find(function(data) {
    return data.appId !== void 0;
  });
  extensions || (extensions = {});
  signDataWithAppId && (extensions.appid = signDataWithAppId.appId);
  var requestOptions = {challenge:module$contents$google3$java$com$google$corplogin$server$serverfiles$c$base64_base64DecodeString(challenge), rpId:"google.com", extensions:JSON.stringify(extensions), userVerification:"discouraged"}, abortController = new AbortController(), timeoutID = setTimeout(function() {
    abortController.abort();
  }, 12E4);
  return this.webAuthnHandler.requestCredential(requestOptions, enrolledCredentials, abortController.signal).finally(function() {
    clearTimeout(timeoutID);
  });
};
goog.corplogin.webAuthnHandler.WebAuthnAuthenticationHandler = module$contents$goog$corplogin$webAuthnHandler_WebAuthnAuthenticationHandler;
goog.corplogin.webAuthnHandler.WebAuthnRegistrationHandler = function(cryptoTokenWebAuthnHandler) {
  this.webAuthnHandler = cryptoTokenWebAuthnHandler;
};
goog.corplogin.webAuthnHandler.getEnrolledCredentials = module$contents$goog$corplogin$webAuthnHandler_getEnrolledCredentials;
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$xsrf_loadXsrfIntoForm(fetchFn) {
  var xsrfFieldOpt, $jscomp$nullish$tmp54, resp, text, jsonText, json, xsrfToken, xsrfField, newXsrfField;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1514781227$3) {
    if ($jscomp$generator$context$1514781227$3.nextAddress == 1) {
      return xsrfFieldOpt = module$contents$google3$java$com$google$corplogin$server$serverfiles$c$forms_loginForm().querySelector('input[name="x"]'), $jscomp$generator$context$1514781227$3.yield((($jscomp$nullish$tmp54 = fetchFn) != null ? $jscomp$nullish$tmp54 : fetch)("/xsrf", {method:"POST"}), 2);
    }
    if ($jscomp$generator$context$1514781227$3.nextAddress != 3) {
      resp = $jscomp$generator$context$1514781227$3.yieldResult;
      if (resp.status !== 200) {
        throw Error("Fetching XSRF token failed");
      }
      return $jscomp$generator$context$1514781227$3.yield(resp.text(), 3);
    }
    text = $jscomp$generator$context$1514781227$3.yieldResult;
    if (text.indexOf(module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.XSSI_JSON_PREFIX) !== 0) {
      throw Error("Missing XSSI");
    }
    jsonText = text.substring(module$exports$google3$java$com$google$corplogin$server$serverfiles$c$constants.XSSI_JSON_PREFIX.length);
    json = JSON.parse(jsonText);
    xsrfToken = json.xsrfToken;
    xsrfFieldOpt ? (xsrfField = module$contents$goog$asserts$dom_assertIsHtmlInputElement(xsrfFieldOpt), xsrfField.value = xsrfToken) : (newXsrfField = document.createElement("input"), newXsrfField.type = "hidden", newXsrfField.name = "x", newXsrfField.value = xsrfToken, module$contents$google3$java$com$google$corplogin$server$serverfiles$c$forms_loginForm().appendChild(newXsrfField));
    $jscomp$generator$context$1514781227$3.jumpToEnd();
  });
}
;var module$exports$google3$security$tools$gnubby$gnubbyd$corp$messagetype = {MessageType:{U2F_REGISTER_REQUEST:"u2f_register_request", U2F_REGISTER_RESPONSE:"u2f_register_response", U2F_SIGN_REQUEST:"u2f_sign_request", U2F_SIGN_RESPONSE:"u2f_sign_response", U2F_GET_API_VERSION_REQUEST:"u2f_get_api_version_request", U2F_GET_API_VERSION_RESPONSE:"u2f_get_api_version_response", SSH_AGENT_REQUEST:"auth-agent@openssh.com", UPDATE_HELPER_REQUEST:"update_helper_request", UPDATE_HELPER_RESPONSE:"update_helper_reply", 
FIRMWARE_UPDATE_REQUEST:"firmware_update_request", FIRMWARE_UPDATE_RESPONSE:"firmware_update_reply", SECURITY_KEY_SYSINFOS_REQUEST:"security_key_sysinfos_request", SECURITY_KEY_SYSINFOS_RESPONSE:"security_key_sysinfos_response", VERSIONS_REQUEST:"versions_request", VERSIONS_RESPONSE:"versions_response", DIAGNOSTIC_REQUEST:"diagnostic_request", DIAGNOSTIC_RESPONSE:"diagnostic_response", IS_CHROMOTING_SESSION_REQUEST:"is_chromoting_session_request", IS_CHROMOTING_SESSION_RESPONSE:"is_chromoting_session_response", 
HELLO:"HELLO", RELOAD:"reload"}, InternalMessageType:{ADD_LOG:"ADD_LOG", GET_LOG:"GET_LOG", RELOAD_BACKGROUND:"RELOAD_BACKGROUND"}};
var module$exports$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client = {GNUBBYD_ID_SEQUENCE:["klnjmillfildbbimkincljmfoepfhjjj", "lkjlajklkdhaneeelolkfgbpikkgnkpk", "dlfcjilkjfhdnfiecknlnddkmmiofjbg", "beknehfpfkghjoafdifaflglpjkojoco"]};
function module$contents$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client_checkResponse(expectedType, response) {
  if (response.type !== expectedType) {
    throw Error("Invalid Gnubbyd response, got: " + response.type + ", but want: " + expectedType);
  }
}
module$exports$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client.GnubbydClient = function(id, log) {
  this.id = id;
  this.log = log;
};
module$exports$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client.GnubbydClient.create = function(logFunc) {
  var $jscomp$iter$116, $jscomp$key$1849034262$33$extId, extId, response, err;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1849034262$35) {
    switch($jscomp$generator$context$1849034262$35.nextAddress) {
      case 1:
        $jscomp$iter$116 = (0,$jscomp.makeIterator)(module$exports$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client.GNUBBYD_ID_SEQUENCE), $jscomp$key$1849034262$33$extId = $jscomp$iter$116.next();
      case 2:
        if ($jscomp$key$1849034262$33$extId.done) {
          $jscomp$generator$context$1849034262$35.jumpTo(4);
          break;
        }
        extId = $jscomp$key$1849034262$33$extId.value;
        $jscomp$generator$context$1849034262$35.setCatchFinallyBlocks(5);
        return $jscomp$generator$context$1849034262$35.yield(module$contents$google3$security$tools$gnubby$ske$client_lib$client_interface_exchangeMessage(extId, {type:module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydRequestType.HELLO}), 7);
      case 7:
        return response = $jscomp$generator$context$1849034262$35.yieldResult, module$contents$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client_checkResponse(module$exports$google3$security$tools$gnubby$gnubbyd$corp$messagetype.MessageType.HELLO, response), $jscomp$generator$context$1849034262$35.return(new module$exports$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client.GnubbydClient(extId, logFunc));
      case 5:
        err = $jscomp$generator$context$1849034262$35.enterCatchBlock(), logFunc("Ping Gnubbyd[" + extId + "] failed: " + err);
      case 3:
        $jscomp$key$1849034262$33$extId = $jscomp$iter$116.next();
        $jscomp$generator$context$1849034262$35.jumpTo(2);
        break;
      case 4:
        throw Error("Failed to create GnubbydClient, all candidate IDs failed.");
    }
  });
};
module$exports$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client.GnubbydClient.prototype.isChromotingSession = function() {
  var $jscomp$async$this$1849034262$7 = this, request, response, err;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1849034262$36) {
    if ($jscomp$generator$context$1849034262$36.nextAddress == 1) {
      return request = {type:module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydRequestType.CRD_STATUS_REQUEST}, $jscomp$generator$context$1849034262$36.setCatchFinallyBlocks(2), $jscomp$generator$context$1849034262$36.yield(module$contents$google3$security$tools$gnubby$ske$client_lib$client_interface_exchangeMessage($jscomp$async$this$1849034262$7.id, request), 4);
    }
    if ($jscomp$generator$context$1849034262$36.nextAddress != 2) {
      response = $jscomp$generator$context$1849034262$36.yieldResult;
      module$contents$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client_checkResponse(module$exports$google3$security$tools$gnubby$gnubbyd$corp$messagetype.MessageType.IS_CHROMOTING_SESSION_RESPONSE, response);
      if (!response.isChromotingSessionResponse) {
        throw Error("isChromotingSessionResponse is empty");
      }
      return $jscomp$generator$context$1849034262$36.return(!!response.isChromotingSessionResponse.isChromotingSession);
    }
    err = $jscomp$generator$context$1849034262$36.enterCatchBlock();
    $jscomp$async$this$1849034262$7.log("GnubbydClient.isChromotingSession failed: " + err);
    return $jscomp$generator$context$1849034262$36.return(!1);
  });
};
module$exports$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client.GnubbydClient.prototype.supportsUpdates = function() {
  return !1;
};
module$exports$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client.GnubbydClient.prototype.getSysinfo = function() {
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function() {
    throw Error("getSysinfo not supported");
  });
};
module$exports$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client.GnubbydClient.prototype.updateFirmwares = function() {
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function() {
    throw Error("updateFirmwares not supported");
  });
};
module$exports$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client.GnubbydClient.prototype.updateApplets = function() {
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function() {
    throw Error("updateApplets not supported");
  });
};
var module$exports$google3$security$tools$gnubby$ske$common$constants = {DEFAULT_REQUEST_TIMEOUT_SECONDS:300, MILLISECONDS_PER_HOUR:36E5, SKE_PROMPT_NAME:"skePromptSession", SKE_PROD_EXTENSION_ID:"lfboplenmmjcmpbkeemecobbadnmpfhi", SKE_DEV_EXTENSION_ID:"ckcendljdlmgnhghiaomidhiiclmapok", SKE_LOCAL_EXTENSION_ID:"pebbhcjfokadbgbnlmogdkkaahmamnap", GOOGLE_CORP_APPID:"https://www.gstatic.com/securitykey/a/google.com/origins.json", GOOGLE_CORP_RPID:"google.com", CORPLOGIN_PROD_ORIGIN:"https://login.corp.google.com", 
CORPLOGIN_ORIGINS:["https://login.corp.google.com", "https://login-canary.corp.google.com", "https://login-dev.corp.google.com", "https://login-stable.corp.google.com", "https://login-test.corp.google.com"], CORPLOGIN_XSSI_PREFIX:")]}'\n", SSO_COOKIE_NAME:"__Host-SSO", SSO_SERVICE_TICKET_NAME_PREFIX:"GSSO_", CORPLOGIN_FORWARD_SIGN_URLS:{dev:"https://login-dev.corp.google.com/o/trusted/forwardsign", prod:"https://login.corp.google.com/o/trusted/forwardsign"}, MessageSourceAcl:function() {
}, SKMS_URL_ACLS:[{originOrExtId:"https://pwchange-dev.corp.google.com", paths:["/skms"]}, {originOrExtId:"https://pwchange.corp.google.com", paths:["/skms"]}]};
module$exports$google3$security$tools$gnubby$ske$common$constants.SKMS_URLS = {dev:new URL("https://pwchange-dev.corp.google.com/skms"), prod:new URL("https://pwchange.corp.google.com/skms")};
module$exports$google3$security$tools$gnubby$ske$common$constants.NATIVE_MSG_HOST_NAME = "com.google.ske.native_helper";
module$exports$google3$security$tools$gnubby$ske$common$constants.CORPLOGIN_PROD_HOST_PERMISSION = "https://login.corp.google.com/*";
module$exports$google3$security$tools$gnubby$ske$common$constants.CORPLOGIN_DEV_HOST_PERMISSION = "https://login-dev.corp.google.com/*";
var module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client = {}, module$contents$google3$security$tools$gnubby$ske$client_lib$ske_client_SKE_ID_SEQUENCE = [module$exports$google3$security$tools$gnubby$ske$common$constants.SKE_DEV_EXTENSION_ID, module$exports$google3$security$tools$gnubby$ske$common$constants.SKE_PROD_EXTENSION_ID];
function module$contents$google3$security$tools$gnubby$ske$client_lib$ske_client_checkResponse(expectedType, response) {
  if (response.type !== expectedType) {
    if (response.type !== module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydResponseType.ERROR_RESPONSE) {
      throw Error("Invalid SKE response, got: " + response.type + ", but want: " + expectedType);
    }
    throw new module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydError(response.errorReason, response.errorDetail);
  }
}
module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client.checkResponse = module$contents$google3$security$tools$gnubby$ske$client_lib$ske_client_checkResponse;
module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client.SkeClient = function(id, log) {
  this.id = id;
  this.log = log;
};
module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client.SkeClient.create = function(errorLogFunc, options) {
  var $jscomp$iter$118, $jscomp$key$268290026$39$extId, extId, $jscomp$optchain$tmp268290026$0, $jscomp$nullish$tmp56, response, $jscomp$optchain$tmp268290026$1, err;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$268290026$40) {
    switch($jscomp$generator$context$268290026$40.nextAddress) {
      case 1:
        $jscomp$iter$118 = (0,$jscomp.makeIterator)(module$contents$google3$security$tools$gnubby$ske$client_lib$ske_client_SKE_ID_SEQUENCE), $jscomp$key$268290026$39$extId = $jscomp$iter$118.next();
      case 2:
        if ($jscomp$key$268290026$39$extId.done) {
          $jscomp$generator$context$268290026$40.jumpTo(4);
          break;
        }
        extId = $jscomp$key$268290026$39$extId.value;
        $jscomp$generator$context$268290026$40.setCatchFinallyBlocks(5);
        $jscomp$nullish$tmp56 = $jscomp$optchain$tmp268290026$0 = void 0;
        return $jscomp$generator$context$268290026$40.yield(module$contents$google3$security$tools$gnubby$ske$client_lib$client_interface_exchangeMessage(extId, {type:module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydRequestType.HELLO, timeoutSeconds:($jscomp$nullish$tmp56 = ($jscomp$optchain$tmp268290026$0 = options) == null ? void 0 : $jscomp$optchain$tmp268290026$0.timeoutSeconds) != null ? $jscomp$nullish$tmp56 : 2}), 7);
      case 7:
        response = $jscomp$generator$context$268290026$40.yieldResult;
        module$contents$google3$security$tools$gnubby$ske$client_lib$ske_client_checkResponse(module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydResponseType.HELLO_RESPONSE, response);
        $jscomp$optchain$tmp268290026$1 = void 0;
        if ((($jscomp$optchain$tmp268290026$1 = options) == null ? void 0 : $jscomp$optchain$tmp268290026$1.minVersion) !== void 0 && (response.majorVersion === void 0 || response.majorVersion < options.minVersion)) {
          throw Error("Invalid SKE version, got: " + response.majorVersion + ", but want as least: " + options.minVersion);
        }
        return $jscomp$generator$context$268290026$40.return(new module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client.SkeClient(extId, errorLogFunc));
      case 5:
        err = $jscomp$generator$context$268290026$40.enterCatchBlock(), errorLogFunc("Ping SKE[" + extId + "] failed: " + err);
      case 3:
        $jscomp$key$268290026$39$extId = $jscomp$iter$118.next();
        $jscomp$generator$context$268290026$40.jumpTo(2);
        break;
      case 4:
        throw Error("Failed to create SkeClient, all candidate IDs failed");
    }
  });
};
module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client.SkeClient.prototype.isChromotingSession = function() {
  var $jscomp$async$this$268290026$9 = this, request, response, err;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$268290026$41) {
    if ($jscomp$generator$context$268290026$41.nextAddress == 1) {
      return request = {type:module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydRequestType.CRD_STATUS_REQUEST}, $jscomp$generator$context$268290026$41.setCatchFinallyBlocks(2), $jscomp$generator$context$268290026$41.yield(module$contents$google3$security$tools$gnubby$ske$client_lib$client_interface_exchangeMessage($jscomp$async$this$268290026$9.id, request), 4);
    }
    if ($jscomp$generator$context$268290026$41.nextAddress != 2) {
      return response = $jscomp$generator$context$268290026$41.yieldResult, module$contents$google3$security$tools$gnubby$ske$client_lib$ske_client_checkResponse(module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydResponseType.CRD_STATUS_RESPONSE, response), $jscomp$generator$context$268290026$41.return(response.isChromotingSession);
    }
    err = $jscomp$generator$context$268290026$41.enterCatchBlock();
    $jscomp$async$this$268290026$9.log("SkeClient.isChromotingSession failed: " + err);
    throw err;
  });
};
module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client.SkeClient.prototype.supportsUpdates = function() {
  return !0;
};
module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client.SkeClient.prototype.getSysinfo = function($jscomp$destructuring$var69) {
  var $jscomp$destructuring$var70 = $jscomp$destructuring$var69 === void 0 ? {} : $jscomp$destructuring$var69;
  var requestId = $jscomp$destructuring$var70.requestId;
  var preferRoamingGnubby = $jscomp$destructuring$var70.preferRoamingGnubby === void 0 ? !1 : $jscomp$destructuring$var70.preferRoamingGnubby;
  var $jscomp$async$this$268290026$19 = this, request, response;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$268290026$44) {
    if ($jscomp$generator$context$268290026$44.nextAddress == 1) {
      return request = {type:module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydRequestType.SYSINFOS_REQUEST, requestId:requestId, checkPin:!0, preferRoamingGnubby:preferRoamingGnubby}, $jscomp$generator$context$268290026$44.yield(module$contents$google3$security$tools$gnubby$ske$client_lib$client_interface_exchangeMessage($jscomp$async$this$268290026$19.id, request), 2);
    }
    response = $jscomp$generator$context$268290026$44.yieldResult;
    module$contents$google3$security$tools$gnubby$ske$client_lib$ske_client_checkResponse(module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydResponseType.SYSINFOS_RESPONSE, response);
    return $jscomp$generator$context$268290026$44.return(response.sysinfos);
  });
};
module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client.SkeClient.prototype.updateFirmwares = function(updateEntries, $jscomp$destructuring$var71) {
  var $jscomp$destructuring$var72 = $jscomp$destructuring$var71 === void 0 ? {} : $jscomp$destructuring$var71;
  var requestId = $jscomp$destructuring$var72.requestId;
  var timeoutSeconds = $jscomp$destructuring$var72.timeoutSeconds;
  var $jscomp$async$this$268290026$21 = this, request, response;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$268290026$45) {
    if ($jscomp$generator$context$268290026$45.nextAddress == 1) {
      return request = {type:module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydRequestType.FIRMWARE_UPDATE_REQUEST, updateEntries:updateEntries, requestId:requestId, timeoutSeconds:timeoutSeconds}, $jscomp$generator$context$268290026$45.yield(module$contents$google3$security$tools$gnubby$ske$client_lib$client_interface_exchangeMessage($jscomp$async$this$268290026$21.id, request), 2);
    }
    response = $jscomp$generator$context$268290026$45.yieldResult;
    module$contents$google3$security$tools$gnubby$ske$client_lib$ske_client_checkResponse(module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydResponseType.FIRMWARE_UPDATE_RESPONSE, response);
    return $jscomp$generator$context$268290026$45.return({successUpdates:response.successUpdates, failureUpdates:response.failureUpdates});
  });
};
module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client.SkeClient.prototype.updateApplets = function(updateEntries, $jscomp$destructuring$var73) {
  var $jscomp$destructuring$var74 = $jscomp$destructuring$var73 === void 0 ? {} : $jscomp$destructuring$var73;
  var requestId = $jscomp$destructuring$var74.requestId;
  var timeoutSeconds = $jscomp$destructuring$var74.timeoutSeconds;
  var $jscomp$async$this$268290026$23 = this, request, response;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$268290026$46) {
    if ($jscomp$generator$context$268290026$46.nextAddress == 1) {
      return request = {type:module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydRequestType.APPLET_UPDATE_REQUEST, updateEntries:updateEntries, requestId:requestId, timeoutSeconds:timeoutSeconds}, $jscomp$generator$context$268290026$46.yield(module$contents$google3$security$tools$gnubby$ske$client_lib$client_interface_exchangeMessage($jscomp$async$this$268290026$23.id, request), 2);
    }
    response = $jscomp$generator$context$268290026$46.yieldResult;
    module$contents$google3$security$tools$gnubby$ske$client_lib$ske_client_checkResponse(module$exports$google3$security$tools$gnubby$ske$common$gnubbyd_api_type.GnubbydResponseType.APPLET_UPDATE_RESPONSE, response);
    return $jscomp$generator$context$268290026$46.return({successUpdates:response.successUpdates, failureUpdates:response.failureUpdates});
  });
};
module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client.SkeClientOptions = function() {
};
module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client.TEST_ONLY = {DEFAULT_TIMEOUT_SECONDS:2};
function module$contents$google3$security$tools$gnubby$ske$client_lib$client_lib_initialize(logFunc, initializationTimeout) {
  var client, err, client$jscomp$0, err$jscomp$0;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$m76403050$8) {
    switch($jscomp$generator$context$m76403050$8.nextAddress) {
      case 1:
        return logFunc || (logFunc = function(content) {
          console.info("SkeClient", content);
        }), $jscomp$generator$context$m76403050$8.setCatchFinallyBlocks(2), $jscomp$generator$context$m76403050$8.yield(module$exports$google3$security$tools$gnubby$ske$client_lib$ske_client.SkeClient.create(logFunc, {timeoutSeconds:initializationTimeout}), 4);
      case 4:
        return client = $jscomp$generator$context$m76403050$8.yieldResult, $jscomp$generator$context$m76403050$8.return(client);
      case 2:
        err = $jscomp$generator$context$m76403050$8.enterCatchBlock(), logFunc("" + err);
      case 3:
        return $jscomp$generator$context$m76403050$8.setCatchFinallyBlocks(5), $jscomp$generator$context$m76403050$8.yield(module$exports$google3$security$tools$gnubby$ske$client_lib$gnubbyd_client.GnubbydClient.create(logFunc), 7);
      case 7:
        return client$jscomp$0 = $jscomp$generator$context$m76403050$8.yieldResult, $jscomp$generator$context$m76403050$8.return(client$jscomp$0);
      case 5:
        err$jscomp$0 = $jscomp$generator$context$m76403050$8.enterCatchBlock(), logFunc("" + err$jscomp$0);
      case 6:
        throw Error("Both SKE and Gnubbyd failed");
    }
  });
}
;goog.debug.RelativeTimeProvider = function() {
  this.relativeTimeStart_ = goog.now();
};
goog.debug.RelativeTimeProvider.defaultInstance_ = null;
goog.debug.RelativeTimeProvider.prototype.set = function(timeStamp) {
  this.relativeTimeStart_ = timeStamp;
};
goog.debug.RelativeTimeProvider.prototype.reset = function() {
  this.set(goog.now());
};
goog.debug.RelativeTimeProvider.prototype.get = function() {
  return this.relativeTimeStart_;
};
goog.debug.RelativeTimeProvider.getDefaultInstance = function() {
  goog.debug.RelativeTimeProvider.defaultInstance_ || (goog.debug.RelativeTimeProvider.defaultInstance_ = new goog.debug.RelativeTimeProvider());
  return goog.debug.RelativeTimeProvider.defaultInstance_;
};
goog.debug.formatter = {};
goog.debug.formatter.Formatter = function(opt_prefix) {
  this.prefix_ = opt_prefix || "";
  this.startTimeProvider_ = goog.debug.RelativeTimeProvider.getDefaultInstance();
};
goog.debug.formatter.Formatter.prototype.appendNewline = !0;
goog.debug.formatter.Formatter.prototype.showAbsoluteTime = !0;
goog.debug.formatter.Formatter.prototype.showRelativeTime = !0;
goog.debug.formatter.Formatter.prototype.showLoggerName = !0;
goog.debug.formatter.Formatter.prototype.showExceptionText = !1;
goog.debug.formatter.Formatter.prototype.showSeverityLevel = !1;
goog.debug.formatter.Formatter.getDateTimeStamp_ = function(logRecord) {
  var time = new Date(logRecord.time_);
  return goog.debug.formatter.Formatter.getTwoDigitString_(time.getFullYear() - 2E3) + goog.debug.formatter.Formatter.getTwoDigitString_(time.getMonth() + 1) + goog.debug.formatter.Formatter.getTwoDigitString_(time.getDate()) + " " + goog.debug.formatter.Formatter.getTwoDigitString_(time.getHours()) + ":" + goog.debug.formatter.Formatter.getTwoDigitString_(time.getMinutes()) + ":" + goog.debug.formatter.Formatter.getTwoDigitString_(time.getSeconds()) + "." + goog.debug.formatter.Formatter.getTwoDigitString_(Math.floor(time.getMilliseconds() / 
  10));
};
goog.debug.formatter.Formatter.getTwoDigitString_ = function(n) {
  return n < 10 ? "0" + n : String(n);
};
goog.debug.formatter.Formatter.getRelativeTime_ = function(logRecord, relativeTimeStart) {
  var sec = (logRecord.time_ - relativeTimeStart) / 1E3, str = sec.toFixed(3), spacesToPrepend = 0;
  if (sec < 1) {
    spacesToPrepend = 2;
  } else {
    for (; sec < 100;) {
      spacesToPrepend++, sec *= 10;
    }
  }
  for (; spacesToPrepend-- > 0;) {
    str = " " + str;
  }
  return str;
};
goog.debug.formatter.HtmlFormatter = function(opt_prefix) {
  goog.debug.formatter.Formatter.call(this, opt_prefix);
};
goog.inherits(goog.debug.formatter.HtmlFormatter, goog.debug.formatter.Formatter);
goog.debug.formatter.HtmlFormatter.exposeException = function(err, fn) {
  var html = goog.debug.formatter.HtmlFormatter.exposeExceptionAsHtml(err, fn);
  return module$exports$google3$third_party$javascript$safevalues$index.unwrapHtml(html).toString();
};
goog.debug.formatter.HtmlFormatter.exposeExceptionAsHtml = function(err, fn) {
  try {
    var e = goog.debug.normalizeErrorObject(err), viewSourceUrl = goog.debug.formatter.HtmlFormatter.createViewSourceUrl_(e.fileName);
    return module$exports$google3$third_party$javascript$safevalues$index.concatHtmls([module$exports$google3$third_party$javascript$safevalues$index.htmlEscape("Message: " + e.message + "\nUrl: ", {preserveNewlines:!0, preserveSpaces:!0}), module$exports$google3$third_party$javascript$safevalues$index.createHtml("a", {href:viewSourceUrl, target:"_new"}, e.fileName), module$exports$google3$third_party$javascript$safevalues$index.htmlEscape("\nLine: " + e.lineNumber + "\n\nBrowser stack:\n" + e.stack + 
    "-> [end]\n\nJS stack traversal:\n" + goog.debug.getStacktrace(fn) + "-> ", {preserveNewlines:!0, preserveSpaces:!0})]);
  } catch (e2) {
    return module$exports$google3$third_party$javascript$safevalues$index.htmlEscape("Exception trying to expose exception! You win, we lose. " + e2, {preserveNewlines:!0, preserveSpaces:!0});
  }
};
goog.debug.formatter.HtmlFormatter.createViewSourceUrl_ = function(fileName) {
  fileName == null && (fileName = "");
  if (!/^https?:\/\//i.test(fileName)) {
    return module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeUrl("sanitizedviewsrc");
  }
  var sanitizedFileName = module$contents$google3$third_party$javascript$safevalues$builders$url_builders_sanitizeUrl(fileName);
  return module$contents$google3$third_party$javascript$safevalues$restricted$reviewed_urlSafeByReview("view-source:" + module$contents$google3$third_party$javascript$safevalues$internals$url_impl_unwrapUrl(sanitizedFileName), {justification:"view-source scheme plus HTTP/HTTPS URL"});
};
goog.debug.formatter.HtmlFormatter.prototype.showExceptionText = !0;
goog.debug.formatter.HtmlFormatter.prototype.formatRecord = function(logRecord) {
  return logRecord ? this.formatRecordAsHtml(logRecord).toString() : "";
};
goog.debug.formatter.HtmlFormatter.prototype.formatRecordAsHtml = function(logRecord) {
  if (!logRecord) {
    return module$exports$google3$third_party$javascript$safevalues$index.EMPTY_HTML;
  }
  switch(logRecord.getLevel().value) {
    case goog.log.Level.SHOUT.value:
      var className = "dbg-sh";
      break;
    case goog.log.Level.SEVERE.value:
      className = "dbg-sev";
      break;
    case goog.log.Level.WARNING.value:
      className = "dbg-w";
      break;
    case goog.log.Level.INFO.value:
      className = "dbg-i";
      break;
    default:
      className = "dbg-f";
  }
  var sb = [];
  sb.push(this.prefix_, " ");
  this.showAbsoluteTime && sb.push("[", goog.debug.formatter.Formatter.getDateTimeStamp_(logRecord), "] ");
  this.showRelativeTime && sb.push("[", goog.debug.formatter.Formatter.getRelativeTime_(logRecord, this.startTimeProvider_.get()), "s] ");
  this.showLoggerName && sb.push("[", logRecord.loggerName_, "] ");
  this.showSeverityLevel && sb.push("[", logRecord.getLevel().name, "] ");
  var fullPrefixHtml = module$exports$google3$third_party$javascript$safevalues$index.htmlEscape(sb.join(""), {preserveNewlines:!0, preserveSpaces:!0}), exceptionHtml = module$exports$google3$third_party$javascript$safevalues$index.EMPTY_HTML;
  this.showExceptionText && logRecord.exception_ && (exceptionHtml = module$exports$google3$third_party$javascript$safevalues$index.concatHtmls([module$exports$google3$third_party$javascript$safevalues$index.createHtml("br"), goog.debug.formatter.HtmlFormatter.exposeExceptionAsHtml(logRecord.exception_)]));
  var logRecordHtml = module$exports$google3$third_party$javascript$safevalues$index.htmlEscape(logRecord.getMessage(), {preserveNewlines:!0, preserveSpaces:!0}), recordAndExceptionHtml = module$exports$google3$third_party$javascript$safevalues$index.createHtml("span", {"class":className}, module$exports$google3$third_party$javascript$safevalues$index.concatHtmls([logRecordHtml, exceptionHtml]));
  return this.appendNewline ? module$exports$google3$third_party$javascript$safevalues$index.concatHtmls([fullPrefixHtml, recordAndExceptionHtml, module$exports$google3$third_party$javascript$safevalues$index.createHtml("br")]) : module$exports$google3$third_party$javascript$safevalues$index.concatHtmls([fullPrefixHtml, recordAndExceptionHtml]);
};
goog.debug.formatter.TextFormatter = function(opt_prefix) {
  goog.debug.formatter.Formatter.call(this, opt_prefix);
};
goog.inherits(goog.debug.formatter.TextFormatter, goog.debug.formatter.Formatter);
goog.debug.formatter.TextFormatter.prototype.formatRecord = function(logRecord) {
  var sb = [];
  sb.push(this.prefix_, " ");
  this.showAbsoluteTime && sb.push("[", goog.debug.formatter.Formatter.getDateTimeStamp_(logRecord), "] ");
  this.showRelativeTime && sb.push("[", goog.debug.formatter.Formatter.getRelativeTime_(logRecord, this.startTimeProvider_.get()), "s] ");
  this.showLoggerName && sb.push("[", logRecord.loggerName_, "] ");
  this.showSeverityLevel && sb.push("[", logRecord.getLevel().name, "] ");
  sb.push(logRecord.getMessage());
  if (this.showExceptionText) {
    var exception = logRecord.exception_;
    exception !== void 0 && sb.push("\n", exception instanceof Error ? exception.message : String(exception));
  }
  this.appendNewline && sb.push("\n");
  return sb.join("");
};
goog.debug.formatter.TextFormatter.prototype.formatRecordAsHtml = function(logRecord) {
  return module$exports$google3$third_party$javascript$safevalues$index.htmlEscape(goog.debug.formatter.TextFormatter.prototype.formatRecord(logRecord), {preserveNewlines:!0, preserveSpaces:!0});
};
goog.debug.Formatter = goog.debug.formatter.Formatter;
goog.debug.TextFormatter = goog.debug.formatter.TextFormatter;
goog.debug.HtmlFormatter = goog.debug.formatter.HtmlFormatter;
goog.debug.Console = function() {
  this.publishHandler_ = goog.bind(this.addLogRecord, this);
  this.formatter_ = new goog.debug.TextFormatter();
  this.formatter_.showAbsoluteTime = !1;
  this.formatter_.showExceptionText = !1;
  this.isCapturing_ = this.formatter_.appendNewline = !1;
  this.logBuffer_ = "";
  this.filteredLoggers_ = {};
};
goog.debug.Console.prototype.setCapturing = function(capturing) {
  if (capturing != this.isCapturing_) {
    var rootLogger = goog.log.getRootLogger();
    capturing ? goog.log.addHandler(rootLogger, this.publishHandler_) : goog.log.removeHandler(rootLogger, this.publishHandler_);
    this.isCapturing_ = capturing;
  }
};
goog.debug.Console.prototype.addLogRecord = function(logRecord) {
  function getConsoleMethodName_(level) {
    if (level) {
      if (level.value >= goog.log.Level.SEVERE.value) {
        return "error";
      }
      if (level.value >= goog.log.Level.WARNING.value) {
        return "warn";
      }
      if (level.value >= goog.log.Level.CONFIG.value) {
        return "log";
      }
    }
    return "debug";
  }
  if (!this.filteredLoggers_[logRecord.loggerName_]) {
    var record = this.formatter_.formatRecord(logRecord), console = goog.debug.Console.console_;
    if (console) {
      var logMethod = getConsoleMethodName_(logRecord.getLevel());
      goog.debug.Console.logToConsole_(console, logMethod, record, logRecord.exception_);
    } else {
      this.logBuffer_ += record;
    }
  }
};
goog.debug.Console.instance = null;
goog.debug.Console.console_ = goog.global.console;
goog.debug.Console.setConsole = function(console) {
  goog.debug.Console.console_ = console;
};
goog.debug.Console.autoInstall = function() {
  goog.debug.Console.instance || (goog.debug.Console.instance = new goog.debug.Console());
  goog.global.location && goog.global.location.href.indexOf("Debug=true") != -1 && goog.debug.Console.instance.setCapturing(!0);
};
goog.debug.Console.show = function() {
  alert(goog.debug.Console.instance.logBuffer_);
};
goog.debug.Console.logToConsole_ = function(console, fnName, record, exception) {
  if (console[fnName]) {
    console[fnName](record, exception === void 0 ? "" : exception);
  } else {
    console.log(record, exception === void 0 ? "" : exception);
  }
};
var module$exports$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw = {GnubbyVerifier:function(fetchFn, loginFormSubmit, webAuthnHandlerConstructor, xhrIoSend) {
  this.fetchFn = fetchFn;
  this.loginFormSubmit = loginFormSubmit;
  this.webAuthnHandler = new module$contents$goog$corplogin$webAuthnHandler_WebAuthnAuthenticationHandler(webAuthnHandlerConstructor(this));
  this.xhrIoSend = xhrIoSend;
}};
module$exports$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw.GnubbyVerifier.prototype.doStartSign = function() {
  var $jscomp$async$this$1206668635$16 = this, usernamefield, username, crd;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1206668635$162) {
    if ($jscomp$generator$context$1206668635$162.nextAddress == 1) {
      return usernamefield = document.getElementById("username"), username = usernamefield != null ? goog.asserts.assertInstanceof(usernamefield, HTMLInputElement).value : goog.asserts.assertInstanceof(document.getElementById("u"), HTMLInputElement).value, module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("Fetching signature challenges"), $jscomp$generator$context$1206668635$162.yield($jscomp$async$this$1206668635$16.isChromotingSession(), 2);
    }
    crd = $jscomp$generator$context$1206668635$162.yieldResult;
    module$contents$goog$corplogin$gnubbydatafetcher_fetchSignData(username, crd instanceof Error ? !1 : crd, function(signDataList, resp) {
      return void $jscomp$async$this$1206668635$16.onReceivedSignData(signDataList, resp);
    }, module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_fetchDataFailedError, $jscomp$async$this$1206668635$16.xhrIoSend);
    $jscomp$generator$context$1206668635$162.jumpToEnd();
  });
};
module$exports$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw.GnubbyVerifier.prototype.onReceivedSignData = function(signDataList, resp) {
  if (signDataList.length === 0) {
    module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("No challenges found for any valid origin");
    var a = module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_createLinkObject("Register it now!", "/enroll?gnubby=0");
    module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_showError("No keys have been enrolled for this user.\n", a);
  } else {
    module$contents$google3$java$com$google$corplogin$server$serverfiles$c$forms_loginForm();
    module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("Send the request to authentication handler.");
    try {
      var isMobile = document.getElementById("isMobile");
      if (!isMobile || goog.asserts.assertInstanceof(isMobile, HTMLInputElement).value !== "true") {
        var $jscomp$optchain$tmp1206668635$0;
        ($jscomp$optchain$tmp1206668635$0 = document.getElementById("signin-content")) == null || $jscomp$optchain$tmp1206668635$0.classList.add("webauthn-lowered");
        var contentArea = document.getElementById("contentarea");
        contentArea.setAttribute("class", "showspinner");
        contentArea.querySelector("#waitfortouch").setAttribute("role", "alert");
      }
    } catch (err) {
      module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("Failed to update the content area: " + err);
    }
    this.webAuthnHandler.handleAuthenticationRequest(signDataList, module$contents$goog$corplogin$webAuthnHandler_getEnrolledCredentials(resp.challenges), resp.extensions);
  }
};
module$exports$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw.GnubbyVerifier.prototype.onWebAuthnSignSuccess = function(responseData) {
  var $jscomp$async$this$1206668635$24 = this, authenticatorData, responseDataNext;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1206668635$164) {
    if ($jscomp$generator$context$1206668635$164.nextAddress == 1) {
      return authenticatorData = goog.asserts.assertInstanceof(document.getElementById("authenticatorData"), HTMLInputElement), authenticatorData.value = module$contents$google3$java$com$google$corplogin$server$serverfiles$c$base64_base64EncodeBytesWebsafeNoPadding(responseData.authenticatorData), responseDataNext = {appId:null, browserData:"", challenge:null, clientData:module$contents$google3$java$com$google$corplogin$server$serverfiles$c$base64_base64EncodeBytesWebsafeNoPadding(responseData.clientData), 
      keyHandle:module$contents$google3$java$com$google$corplogin$server$serverfiles$c$base64_base64EncodeBytesWebsafeNoPadding(responseData.credentialId), signatureData:module$contents$google3$java$com$google$corplogin$server$serverfiles$c$base64_base64EncodeBytesWebsafeNoPadding(responseData.signature), sessionId:""}, $jscomp$generator$context$1206668635$164.yield($jscomp$async$this$1206668635$24.onSignSuccess(responseDataNext), 2);
    }
    if ($jscomp$generator$context$1206668635$164.nextAddress != 3) {
      return $jscomp$generator$context$1206668635$164.yield(module$contents$google3$java$com$google$corplogin$server$serverfiles$c$xsrf_loadXsrfIntoForm($jscomp$async$this$1206668635$24.fetchFn), 3);
    }
    $jscomp$async$this$1206668635$24.loginFormSubmit();
    $jscomp$generator$context$1206668635$164.jumpToEnd();
  });
};
module$exports$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw.GnubbyVerifier.prototype.onSignSuccess = function(responseData) {
  var $jscomp$async$this$1206668635$26 = this, browserDataField, signDataField, keyHandleField, sessionIdField;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1206668635$165) {
    if ($jscomp$generator$context$1206668635$165.nextAddress == 1) {
      browserDataField = goog.asserts.assertInstanceof(document.getElementById("bd"), HTMLInputElement);
      browserDataField.value = responseData.clientData;
      signDataField = goog.asserts.assertInstanceof(document.getElementById("sign"), HTMLInputElement);
      signDataField.value = responseData.signatureData;
      (keyHandleField = document.getElementById("keyHandle")) && responseData.keyHandle && (goog.asserts.assertInstanceof(keyHandleField, HTMLInputElement).value = responseData.keyHandle);
      (sessionIdField = document.getElementById("sessionId")) && responseData.sessionId && (goog.asserts.assertInstanceof(sessionIdField, HTMLInputElement).value = responseData.sessionId);
      var $jscomp$inline_766;
      ($jscomp$inline_766 = document.getElementById("waitfortouch-text")) == null || $jscomp$inline_766.setAttribute("class", "touched");
      var $jscomp$inline_767;
      ($jscomp$inline_767 = document.getElementById("waitfortouch-image")) == null || $jscomp$inline_767.setAttribute("class", "touched");
      var $jscomp$inline_768;
      ($jscomp$inline_768 = document.getElementById("pleasewait-container")) == null || $jscomp$inline_768.setAttribute("class", "touched");
      var $jscomp$inline_769;
      ($jscomp$inline_769 = document.getElementById("waitfortouch-spinner")) == null || $jscomp$inline_769.setAttribute("class", "hide");
      var $jscomp$inline_770;
      ($jscomp$inline_770 = document.getElementById("signin-content")) == null || $jscomp$inline_770.classList.remove("webauthn-lowered");
      return $jscomp$generator$context$1206668635$165.yield($jscomp$async$this$1206668635$26.handleSysinfo(), 2);
    }
    return $jscomp$generator$context$1206668635$165.yield(module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_collectBscSnapshotDataIntoField(), 0);
  });
};
module$exports$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw.GnubbyVerifier.prototype.handleSysinfo = function() {
  var $jscomp$async$this$1206668635$28 = this, skClient, result, updateResult, JSCompiler_temp, sysinfos, sysinfosInput;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1206668635$166) {
    switch($jscomp$generator$context$1206668635$166.nextAddress) {
      case 1:
        return $jscomp$generator$context$1206668635$166.yield($jscomp$async$this$1206668635$28.getSkClient(), 2);
      case 2:
        return skClient = $jscomp$generator$context$1206668635$166.yieldResult, $jscomp$generator$context$1206668635$166.yield($jscomp$async$this$1206668635$28.attemptToUpdateSecurityKeys(), 3);
      case 3:
        result = $jscomp$generator$context$1206668635$166.yieldResult;
        if (updateResult = document.getElementById("updateResult")) {
          goog.asserts.assertInstanceof(updateResult, HTMLInputElement).value = result.serialize();
        }
        if (!skClient) {
          JSCompiler_temp = (new jspb$corplogin$server$MutableSysinfos()).setSysinfoStatus((new jspb$corplogin$server$MutableSysinfoStatus()).setCode(jspb$e.corplogin$server$SysinfoStatus$Code.EXTENSION_MISSING));
          $jscomp$generator$context$1206668635$166.jumpTo(4);
          break;
        }
        return $jscomp$generator$context$1206668635$166.yield(module$contents$goog$corplogin$gnubbyutil_getGnubbySysinfosFromSke(skClient), 5);
      case 5:
        JSCompiler_temp = $jscomp$generator$context$1206668635$166.yieldResult;
      case 4:
        sysinfos = JSCompiler_temp, sysinfosInput = document.getElementById("sysinfosProto"), goog.asserts.assertInstanceof(sysinfosInput, HTMLInputElement).value = sysinfos.serialize(), $jscomp$generator$context$1206668635$166.jumpToEnd();
    }
  });
};
module$exports$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw.GnubbyVerifier.prototype.attemptToUpdateSecurityKeys = function() {
  var $jscomp$async$this$1206668635$30 = this, uInput, usernameInput, username, skClient, crdStatus;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1206668635$167) {
    switch($jscomp$generator$context$1206668635$167.nextAddress) {
      case 1:
        return uInput = document.getElementById("u"), usernameInput = document.getElementById("username"), username = uInput ? goog.asserts.assertInstanceof(uInput, HTMLInputElement).value : usernameInput ? goog.asserts.assertInstanceof(usernameInput, HTMLInputElement).value : "", $jscomp$generator$context$1206668635$167.yield($jscomp$async$this$1206668635$30.getSkClient(), 2);
      case 2:
        return (skClient = $jscomp$generator$context$1206668635$167.yieldResult) ? $jscomp$generator$context$1206668635$167.yield($jscomp$async$this$1206668635$30.isChromotingSession(), 3) : $jscomp$generator$context$1206668635$167.return((new jspb$corplogin$server$MutableUpdateResult()).setSysinfoFailure((new jspb$corplogin$server$MutableSysinfoStatus()).setCode(jspb$e.corplogin$server$SysinfoStatus$Code.EXTENSION_MISSING)));
      case 3:
        return crdStatus = $jscomp$generator$context$1206668635$167.yieldResult, crdStatus instanceof Error ? $jscomp$generator$context$1206668635$167.return((new jspb$corplogin$server$MutableUpdateResult()).setCrdError(crdStatus.message)) : crdStatus ? $jscomp$generator$context$1206668635$167.return((new jspb$corplogin$server$MutableUpdateResult()).setInCrd(new jspb$google$protobuf$MutableEmpty())) : $jscomp$generator$context$1206668635$167.yield($jscomp$async$this$1206668635$30.updateSecurityKeys(username, 
        skClient), 4);
      case 4:
        return $jscomp$generator$context$1206668635$167.return($jscomp$generator$context$1206668635$167.yieldResult);
    }
  });
};
module$exports$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw.GnubbyVerifier.prototype.isChromotingSession = function() {
  var $jscomp$async$this$1206668635$32 = this, skClient, err;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1206668635$168) {
    switch($jscomp$generator$context$1206668635$168.nextAddress) {
      case 1:
        return $jscomp$async$this$1206668635$32.isCrd !== void 0 ? $jscomp$generator$context$1206668635$168.return($jscomp$async$this$1206668635$32.isCrd) : $jscomp$generator$context$1206668635$168.yield($jscomp$async$this$1206668635$32.getSkClient(), 2);
      case 2:
        skClient = $jscomp$generator$context$1206668635$168.yieldResult;
        if (!skClient) {
          return $jscomp$async$this$1206668635$32.isCrd = !1, $jscomp$generator$context$1206668635$168.return($jscomp$async$this$1206668635$32.isCrd);
        }
        $jscomp$generator$context$1206668635$168.setCatchFinallyBlocks(3);
        return $jscomp$generator$context$1206668635$168.yield(skClient.isChromotingSession(), 5);
      case 5:
        $jscomp$async$this$1206668635$32.isCrd = $jscomp$generator$context$1206668635$168.yieldResult;
        $jscomp$generator$context$1206668635$168.leaveTryBlock(4);
        break;
      case 3:
        err = $jscomp$generator$context$1206668635$168.enterCatchBlock(), $jscomp$async$this$1206668635$32.isCrd = err;
      case 4:
        return $jscomp$generator$context$1206668635$168.return($jscomp$async$this$1206668635$32.isCrd);
    }
  });
};
module$exports$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw.GnubbyVerifier.prototype.getSkClient = function() {
  var $jscomp$async$this$1206668635$34 = this;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1206668635$169) {
    switch($jscomp$generator$context$1206668635$169.nextAddress) {
      case 1:
        if ($jscomp$async$this$1206668635$34.skClient !== void 0) {
          return $jscomp$generator$context$1206668635$169.return($jscomp$async$this$1206668635$34.skClient);
        }
        $jscomp$generator$context$1206668635$169.setCatchFinallyBlocks(2);
        return $jscomp$generator$context$1206668635$169.yield(module$contents$google3$security$tools$gnubby$ske$client_lib$client_lib_initialize(), 4);
      case 4:
        $jscomp$async$this$1206668635$34.skClient = $jscomp$generator$context$1206668635$169.yieldResult;
        $jscomp$generator$context$1206668635$169.leaveTryBlock(3);
        break;
      case 2:
        $jscomp$generator$context$1206668635$169.enterCatchBlock(), $jscomp$async$this$1206668635$34.skClient = null;
      case 3:
        return $jscomp$generator$context$1206668635$169.return($jscomp$async$this$1206668635$34.skClient);
    }
  });
};
module$exports$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw.GnubbyVerifier.prototype.updateSecurityKeys = function(username, skClient) {
  var $jscomp$async$this$1206668635$36 = this, getUpdatesResponse, updateResultPromise, contentarea;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1206668635$170) {
    switch($jscomp$generator$context$1206668635$170.nextAddress) {
      case 1:
        return $jscomp$generator$context$1206668635$170.yield(module$contents$goog$corplogin$gnubbyutil_getUpdates(skClient, username, $jscomp$async$this$1206668635$36.xhrIoSend), 2);
      case 2:
        getUpdatesResponse = $jscomp$generator$context$1206668635$170.yieldResult;
        if (getUpdatesResponse.failure != null) {
          return $jscomp$generator$context$1206668635$170.return(getUpdatesResponse.failure);
        }
        if (getUpdatesResponse.updates == null) {
          return $jscomp$generator$context$1206668635$170.return((new jspb$corplogin$server$MutableUpdateResult()).setSysinfoFailure((new jspb$corplogin$server$MutableSysinfoStatus()).setCode(jspb$e.corplogin$server$SysinfoStatus$Code.JAVASCRIPT_ERROR).setJavascriptError("neither failure nor updates were found")));
        }
        updateResultPromise = module$contents$goog$corplogin$gnubbyutil_sendUpdatesToGnubbyClient(skClient, getUpdatesResponse.updates);
        if (!document.getElementById("waitforupdate")) {
          $jscomp$generator$context$1206668635$170.jumpTo(3);
          break;
        }
        return $jscomp$generator$context$1206668635$170.yield(module$contents$goog$corplogin$gnubbyutil_isPromptlyResolved(updateResultPromise), 4);
      case 4:
        if ($jscomp$generator$context$1206668635$170.yieldResult) {
          $jscomp$generator$context$1206668635$170.jumpTo(3);
          break;
        }
        contentarea = document.getElementById("contentarea");
        contentarea.setAttribute("class", "showwaitforupdate");
        return $jscomp$generator$context$1206668635$170.yield(module$contents$goog$corplogin$gnubbyutil_sleep(4E3), 6);
      case 6:
        return $jscomp$generator$context$1206668635$170.yield(updateResultPromise, 3);
      case 3:
        return $jscomp$generator$context$1206668635$170.return(updateResultPromise);
    }
  });
};
(new goog.debug.Console()).setCapturing(!0);
var module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_logger = goog.log.getLogger("gnubbyloginscript");
goog.log.setLevel(module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_logger, goog.log.Level.INFO);
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log(text) {
  goog.log.log(module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_logger, goog.log.Level.INFO, text);
}
module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("Starting logging at " + new Date());
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_collectBscSnapshotDataIntoField() {
  var btData;
  return (0,$jscomp.asyncExecutePromiseGeneratorProgram)(function($jscomp$generator$context$1206668635$172) {
    if ($jscomp$generator$context$1206668635$172.nextAddress == 1) {
      if (module$contents$google3$java$com$google$corplogin$server$serverfiles$c$botguard_vm === null) {
        return $jscomp$generator$context$1206668635$172.jumpTo(0);
      }
      $jscomp$generator$context$1206668635$172.setCatchFinallyBlocks(3);
      return $jscomp$generator$context$1206668635$172.yield(module$contents$google3$java$com$google$corplogin$server$serverfiles$c$botguard_snapshot(), 5);
    }
    if ($jscomp$generator$context$1206668635$172.nextAddress != 3) {
      return btData = $jscomp$generator$context$1206668635$172.yieldResult, goog.asserts.assertInstanceof(document.getElementById("bsc"), HTMLInputElement).value = btData, module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("botguard collected snapshot"), $jscomp$generator$context$1206668635$172.leaveTryBlock(0);
    }
    $jscomp$generator$context$1206668635$172.enterCatchBlock();
    goog.log.log(module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_logger, goog.log.Level.SEVERE, "failing snapshotting botguard");
    $jscomp$generator$context$1206668635$172.jumpToEnd();
  });
}
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_startSign() {
  "SharedWorker" in window ? module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_lockAndSign() : (new module$exports$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw.GnubbyVerifier(fetch, function() {
    return module$contents$google3$java$com$google$corplogin$server$serverfiles$c$forms_loginForm().submit();
  }, function(verifier) {
    return new module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler(function(responseData) {
      return void verifier.onWebAuthnSignSuccess(responseData);
    }, function(errorMessage) {
      return void module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_onWebAuthnSignError(errorMessage);
    });
  }, goog.net.XhrIo.send)).doStartSign();
}
var module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_lock = null;
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_lockAndSign() {
  module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_lock = new goog.corplogin.server.lock.Lock();
  module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("Trying to acquire gnubby master lock");
  module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_lock.acquire(function() {
    module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("Tab is gnubby signature master");
    window.addEventListener("unload", function() {
      module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_lock.release();
    });
    goog.net.Cookies.getInstance().get("LOGINDONE") === void 0 ? (module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("Starting gnubby signature process"), (new module$exports$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw.GnubbyVerifier(fetch, function() {
      return module$contents$google3$java$com$google$corplogin$server$serverfiles$c$forms_loginForm().submit();
    }, function(verifier) {
      return new module$contents$goog$cryptotoken$WebAuthnHandler_WebAuthnHandler(function(responseData) {
        return void verifier.onWebAuthnSignSuccess(responseData);
      }, function(errorMessage) {
        return void module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_onWebAuthnSignError(errorMessage);
      });
    }, goog.net.XhrIo.send)).doStartSign()) : (module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("LOGINDONE indicates user is logged in. Not asking for touch"), module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_lock.release());
  }, function(error) {
    module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("Tab master notified error, showing it to user");
    var link = error.link === null ? null : module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_createLinkObject(error.link.text, error.link.url);
    module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_showError(error.message, link);
  });
}
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_onWebAuthnSignError(errorMessage) {
  var displayedErrorMessage = errorMessage.toString();
  errorMessage.name === "NotAllowedError" && (displayedErrorMessage = "Security key signing failed. See go/corplogin-error-message for troubleshooting guides. If you cannot access this document, please contact Techstop at go/techstop or at: https://static.corp.google.com/corpsso/techstop/techstop-phones.html");
  module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_showError(displayedErrorMessage, null);
}
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_fetchDataFailedError(status, errText) {
  module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_showError("Error " + status + " while fetching challenges: " + errText + "\n", null);
}
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_showError(message, element) {
  var $jscomp$inline_774;
  ($jscomp$inline_774 = document.getElementById("waitfortouch-text")) == null || $jscomp$inline_774.setAttribute("class", "waiting");
  var $jscomp$inline_775;
  ($jscomp$inline_775 = document.getElementById("waitfortouch-image")) == null || $jscomp$inline_775.setAttribute("class", "waiting");
  var $jscomp$inline_776;
  ($jscomp$inline_776 = document.getElementById("pleasewait-container")) == null || $jscomp$inline_776.setAttribute("class", "waiting");
  var $jscomp$inline_777;
  ($jscomp$inline_777 = document.getElementById("signin-content")) == null || $jscomp$inline_777.classList.remove("webauthn-lowered");
  var signerror = document.getElementById("signerror");
  signerror != void 0 && (signerror.textContent = message, element && (signerror.childNodes[1] == void 0 ? signerror.appendChild(element) : signerror.replaceChild(signerror.childNodes[1], element)), signerror.setAttribute("class", "signerrorvisible"));
  var contentarea = document.getElementById("contentarea");
  contentarea && contentarea.setAttribute("class", "showlogin");
  var signinbutton = document.getElementById("signInButton");
  if (signinbutton != void 0) {
    var signinInputButton = goog.asserts.assertInstanceof(signinbutton, HTMLInputElement);
    signinInputButton.disabled = !1;
    signinInputButton.focus();
  }
  var $jscomp$optchain$tmp1206668635$1;
  ($jscomp$optchain$tmp1206668635$1 = document.getElementById("waitfortouch-spinner")) == null || $jscomp$optchain$tmp1206668635$1.setAttribute("class", "hide");
  module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_lock !== null && module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_lock.acquired && module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_lock.release({message:message, link:element === null ? null : {text:element.title, url:element.href}});
}
function module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_createLinkObject(text, link) {
  var a = goog.dom.createElement(goog.dom.TagName.A);
  a.appendChild(document.createTextNode(text));
  a.title = text;
  (0,module$exports$google3$third_party$javascript$safevalues$dom$index.setAnchorHref)(a, link);
  return a;
}
goog.exportSymbol("gnubbySignInOnSubmit", function(e) {
  e.preventDefault();
  document.getElementById("signerror").setAttribute("class", "signerrorhidden");
  var formElement = module$contents$google3$java$com$google$corplogin$server$serverfiles$c$forms_loginForm(), toFocus = null;
  formElement.u && !formElement.u.value ? toFocus = formElement.u : formElement.pw && !formElement.pw.value && (toFocus = formElement.pw);
  if (toFocus) {
    toFocus.focus();
    var JSCompiler_inline_result = !1;
  } else {
    var intervalId = goog.global.ssoIntervalId;
    intervalId && window.clearInterval(intervalId);
    JSCompiler_inline_result = !0;
  }
  if (JSCompiler_inline_result) {
    try {
      goog.asserts.assertInstanceof(document.getElementById("signInButton"), HTMLInputElement).disabled = !0;
    } catch (err) {
    }
    goog.asserts.assertInstanceof(document.getElementById("sf"), HTMLInputElement).value !== "true" && module$contents$google3$java$com$google$corplogin$server$serverfiles$c$forms_loginForm().submit();
    try {
      var isMobile = document.getElementById("isMobile");
      if (!isMobile || goog.asserts.assertInstanceof(isMobile, HTMLInputElement).value !== "true") {
        var contentArea = document.getElementById("contentarea");
        contentArea.setAttribute("class", "showwaitforserver");
        contentArea.querySelector("#waitforserver").setAttribute("role", "alert");
      }
    } catch (err) {
      module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("Failed to update the content area: " + err);
    }
    module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_startSign();
  }
});
goog.exportSymbol("gnubbyTouch", function() {
  module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_startSign();
  return !1;
});
goog.exportSymbol("disableLso", function() {
  var lsoUrl = goog.asserts.assertInstanceof(document.getElementById("loginUrl"), HTMLInputElement).value;
  (0,module$exports$google3$third_party$javascript$safevalues$dom$index.setFormAction)(module$contents$google3$java$com$google$corplogin$server$serverfiles$c$forms_loginForm(), lsoUrl);
  document.getElementById("gnubbytouch").setAttribute("class", "gnubbytouchhidden");
  document.getElementById("logintable").setAttribute("class", "logintablevisible");
});
goog.exportSymbol("gnubbySetupBotguard", function() {
  module$contents$google3$java$com$google$corplogin$server$serverfiles$c$botguard_setup();
  module$contents$google3$java$com$google$corplogin$server$serverfiles$c$gnubbyloginscript_raw_log("Set up botguard");
});
/*

 Copyright 2014-2016 GitHub, Inc.
 SPDX-License-Identifier: MIT
*/
(function(self) {
  function normalizeName(name) {
    typeof name !== "string" && (name = String(name));
    if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)) {
      throw new TypeError("Invalid character in header field name");
    }
    return name.toLowerCase();
  }
  function normalizeValue(value) {
    typeof value !== "string" && (value = String(value));
    return value;
  }
  function iteratorFor(items) {
    var iterator = {next:function() {
      var value = items.shift();
      return {done:value === void 0, value:value};
    }};
    support.iterable && (iterator[Symbol.iterator] = function() {
      return iterator;
    });
    return iterator;
  }
  function Headers(headers) {
    this.map = {};
    headers instanceof Headers ? headers.forEach(function(value, name) {
      this.append(name, value);
    }, this) : headers && Object.getOwnPropertyNames(headers).forEach(function(name) {
      this.append(name, headers[name]);
    }, this);
  }
  function consumed(body) {
    if (body.bodyUsed) {
      return Promise.reject(new TypeError("Already read"));
    }
    body.bodyUsed = !0;
  }
  function fileReaderReady(reader) {
    return new Promise(function(resolve, reject) {
      reader.onload = function() {
        resolve(reader.result);
      };
      reader.onerror = function() {
        reject(reader.error);
      };
    });
  }
  function readBlobAsArrayBuffer(blob) {
    var reader = new FileReader(), promise = fileReaderReady(reader);
    reader.readAsArrayBuffer(blob);
    return promise;
  }
  function bufferClone(buf) {
    if (buf.slice) {
      return buf.slice(0);
    }
    var view = new Uint8Array(buf.byteLength);
    view.set(new Uint8Array(buf));
    return view.buffer;
  }
  function Body() {
    this.bodyUsed = !1;
    this._initBody = function(body) {
      if (this._bodyInit = body) {
        if (typeof body === "string") {
          this._bodyText = body;
        } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
          this._bodyBlob = body;
        } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
          this._bodyFormData = body;
        } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
          this._bodyText = body.toString();
        } else if (support.arrayBuffer && support.blob && body && DataView.prototype.isPrototypeOf(body)) {
          this._bodyArrayBuffer = bufferClone(body.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer]);
        } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {
          this._bodyArrayBuffer = bufferClone(body);
        } else {
          throw Error("unsupported BodyInit type");
        }
      } else {
        this._bodyText = "";
      }
      this.headers.get("content-type") || (typeof body === "string" ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : support.searchParams && URLSearchParams.prototype.isPrototypeOf(body) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"));
    };
    support.blob && (this.blob = function() {
      var rejected = consumed(this);
      if (rejected) {
        return rejected;
      }
      if (this._bodyBlob) {
        return Promise.resolve(this._bodyBlob);
      }
      if (this._bodyArrayBuffer) {
        return Promise.resolve(new Blob([this._bodyArrayBuffer]));
      }
      if (this._bodyFormData) {
        throw Error("could not read FormData body as blob");
      }
      return Promise.resolve(new Blob([this._bodyText]));
    }, this.arrayBuffer = function() {
      return this._bodyArrayBuffer ? consumed(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(readBlobAsArrayBuffer);
    });
    this.text = function() {
      var rejected = consumed(this);
      if (rejected) {
        return rejected;
      }
      if (this._bodyBlob) {
        var blob = this._bodyBlob, reader = new FileReader(), promise = fileReaderReady(reader);
        reader.readAsText(blob);
        return promise;
      }
      if (this._bodyArrayBuffer) {
        for (var JSCompiler_temp_const = Promise, JSCompiler_temp_const$jscomp$0 = JSCompiler_temp_const.resolve, view = new Uint8Array(this._bodyArrayBuffer), chars = Array(view.length), i = 0; i < view.length; i++) {
          chars[i] = String.fromCharCode(view[i]);
        }
        return JSCompiler_temp_const$jscomp$0.call(JSCompiler_temp_const, chars.join(""));
      }
      if (this._bodyFormData) {
        throw Error("could not read FormData body as text");
      }
      return Promise.resolve(this._bodyText);
    };
    support.formData && (this.formData = function() {
      return this.text().then(decode);
    });
    this.json = function() {
      return this.text().then(JSON.parse);
    };
    return this;
  }
  function Request(input, options) {
    options = options || {};
    var body = options.body;
    if (typeof input === "string") {
      this.url = input;
    } else {
      if (input.bodyUsed) {
        throw new TypeError("Already read");
      }
      this.url = input.url;
      this.credentials = input.credentials;
      options.headers || (this.headers = new Headers(input.headers));
      this.method = input.method;
      this.mode = input.mode;
      body || input._bodyInit == null || (body = input._bodyInit, input.bodyUsed = !0);
    }
    this.credentials = options.credentials || this.credentials || "omit";
    if (options.headers || !this.headers) {
      this.headers = new Headers(options.headers);
    }
    var method = options.method || this.method || "GET", upcased = method.toUpperCase();
    this.method = methods.indexOf(upcased) > -1 ? upcased : method;
    this.mode = options.mode || this.mode || null;
    this.referrer = null;
    if ((this.method === "GET" || this.method === "HEAD") && body) {
      throw new TypeError("Body not allowed for GET or HEAD requests");
    }
    this._initBody(body);
  }
  function decode(body) {
    var form = new FormData();
    body.trim().split("&").forEach(function(bytes) {
      if (bytes) {
        var split = bytes.split("="), name = split.shift().replace(/\+/g, " "), value = split.join("=").replace(/\+/g, " ");
        form.append(decodeURIComponent(name), decodeURIComponent(value));
      }
    });
    return form;
  }
  function parseHeaders(rawHeaders) {
    var headers = new Headers();
    rawHeaders.split("\r\n").forEach(function(line) {
      var parts = line.split(":"), key = parts.shift().trim();
      key && headers.append(key, parts.join(":").trim());
    });
    return headers;
  }
  function Response(bodyInit, options) {
    options || (options = {});
    this.type = "default";
    this.status = "status" in options ? options.status : 200;
    this.ok = this.status >= 200 && this.status < 300;
    this.statusText = "statusText" in options ? options.statusText : "OK";
    this.headers = new Headers(options.headers);
    this.url = options.url || "";
    this._initBody(bodyInit);
  }
  if (!self.fetch) {
    var JSCompiler_temp;
    if (JSCompiler_temp = "FileReader" in self && "Blob" in self) {
      try {
        JSCompiler_temp = !0;
      } catch (e) {
        JSCompiler_temp = !1;
      }
    }
    var support = {searchParams:"URLSearchParams" in self, iterable:"Symbol" in self && "iterator" in Symbol, blob:JSCompiler_temp, formData:"FormData" in self, arrayBuffer:"ArrayBuffer" in self};
    if (support.arrayBuffer) {
      var viewClasses = "[object Int8Array];[object Uint8Array];[object Uint8ClampedArray];[object Int16Array];[object Uint16Array];[object Int32Array];[object Uint32Array];[object Float32Array];[object Float64Array]".split(";"), isArrayBufferView = ArrayBuffer.isView || function(obj) {
        return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1;
      };
    }
    Headers.prototype.append = function(name, value) {
      name = normalizeName(name);
      value = normalizeValue(value);
      var list = this.map[name];
      list || (list = [], this.map[name] = list);
      list.push(value);
    };
    Headers.prototype["delete"] = function(name) {
      delete this.map[normalizeName(name)];
    };
    Headers.prototype.get = function(name) {
      var values = this.map[normalizeName(name)];
      return values ? values[0] : null;
    };
    Headers.prototype.getAll = function(name) {
      return this.map[normalizeName(name)] || [];
    };
    Headers.prototype.has = function(name) {
      return this.map.hasOwnProperty(normalizeName(name));
    };
    Headers.prototype.set = function(name, value) {
      this.map[normalizeName(name)] = [normalizeValue(value)];
    };
    Headers.prototype.forEach = function(callback, thisArg) {
      Object.getOwnPropertyNames(this.map).forEach(function(name) {
        this.map[name].forEach(function(value) {
          callback.call(thisArg, value, name, this);
        }, this);
      }, this);
    };
    Headers.prototype.keys = function() {
      var items = [];
      this.forEach(function(value, name) {
        items.push(name);
      });
      return iteratorFor(items);
    };
    Headers.prototype.values = function() {
      var items = [];
      this.forEach(function(value) {
        items.push(value);
      });
      return iteratorFor(items);
    };
    Headers.prototype.entries = function() {
      var items = [];
      this.forEach(function(value, name) {
        items.push([name, value]);
      });
      return iteratorFor(items);
    };
    support.iterable && (Headers.prototype[Symbol.iterator] = Headers.prototype.entries);
    var methods = "DELETE GET HEAD OPTIONS POST PUT".split(" ");
    Request.prototype.clone = function() {
      return new Request(this, {body:this._bodyInit});
    };
    Body.call(Request.prototype);
    Body.call(Response.prototype);
    Response.prototype.clone = function() {
      return new Response(this._bodyInit, {status:this.status, statusText:this.statusText, headers:new Headers(this.headers), url:this.url});
    };
    Response.error = function() {
      var response = new Response(null, {status:0, statusText:""});
      response.type = "error";
      return response;
    };
    var redirectStatuses = [301, 302, 303, 307, 308];
    Response.redirect = function(url, status) {
      if (redirectStatuses.indexOf(status) === -1) {
        throw new RangeError("Invalid status code");
      }
      return new Response(null, {status:status, headers:{location:url}});
    };
    self.Headers = Headers;
    self.Request = Request;
    self.Response = Response;
    self.fetch = function(input, init) {
      return new Promise(function(resolve, reject) {
        var request = new Request(input, init), xhr = new XMLHttpRequest();
        xhr.onload = function() {
          var options = {status:xhr.status, statusText:xhr.statusText, headers:parseHeaders(xhr.getAllResponseHeaders() || "")};
          options.url = "responseURL" in xhr ? xhr.responseURL : options.headers.get("X-Request-URL");
          resolve(new Response("response" in xhr ? xhr.response : xhr.responseText, options));
        };
        xhr.onerror = function() {
          reject(new TypeError("Network request failed"));
        };
        xhr.ontimeout = function() {
          reject(new TypeError("Network request failed"));
        };
        xhr.open(request.method, request.url, !0);
        request.credentials === "include" && (xhr.withCredentials = !0);
        "responseType" in xhr && support.blob && (xhr.responseType = "blob");
        request.headers.forEach(function(value, name) {
          xhr.setRequestHeader(name, value);
        });
        xhr.send(typeof request._bodyInit === "undefined" ? null : request._bodyInit);
      });
    };
    self.fetch.polyfill = !0;
  }
})(typeof self !== "undefined" ? self : this);
}).call(this);