["^ ","~:resource-id",["~:shadow.build.classpath/resource","goog/useragent/useragent.js"],"~:js","goog.provide(\"goog.userAgent\");\ngoog.require(\"goog.labs.userAgent.browser\");\ngoog.require(\"goog.labs.userAgent.engine\");\ngoog.require(\"goog.labs.userAgent.platform\");\ngoog.require(\"goog.labs.userAgent.util\");\ngoog.require(\"goog.reflect\");\ngoog.require(\"goog.string.internal\");\ngoog.userAgent.ASSUME_IE = goog.define(\"goog.userAgent.ASSUME_IE\", false);\ngoog.userAgent.ASSUME_EDGE = goog.define(\"goog.userAgent.ASSUME_EDGE\", false);\ngoog.userAgent.ASSUME_GECKO = goog.define(\"goog.userAgent.ASSUME_GECKO\", false);\ngoog.userAgent.ASSUME_WEBKIT = goog.define(\"goog.userAgent.ASSUME_WEBKIT\", false);\ngoog.userAgent.ASSUME_MOBILE_WEBKIT = goog.define(\"goog.userAgent.ASSUME_MOBILE_WEBKIT\", false);\ngoog.userAgent.ASSUME_OPERA = goog.define(\"goog.userAgent.ASSUME_OPERA\", false);\ngoog.userAgent.ASSUME_ANY_VERSION = goog.define(\"goog.userAgent.ASSUME_ANY_VERSION\", false);\ngoog.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;\ngoog.userAgent.getUserAgentString = function() {\n return goog.labs.userAgent.util.getUserAgent();\n};\ngoog.userAgent.getNavigatorTyped = function() {\n return goog.global[\"navigator\"] || null;\n};\ngoog.userAgent.getNavigator = function() {\n return goog.userAgent.getNavigatorTyped();\n};\ngoog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_OPERA : goog.labs.userAgent.browser.isOpera();\ngoog.userAgent.IE = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_IE : goog.labs.userAgent.browser.isIE();\ngoog.userAgent.EDGE = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_EDGE : goog.labs.userAgent.engine.isEdge();\ngoog.userAgent.EDGE_OR_IE = goog.userAgent.EDGE || goog.userAgent.IE;\ngoog.userAgent.GECKO = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_GECKO : goog.labs.userAgent.engine.isGecko();\ngoog.userAgent.WEBKIT = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT : goog.labs.userAgent.engine.isWebKit();\ngoog.userAgent.isMobile_ = function() {\n return goog.userAgent.WEBKIT && goog.labs.userAgent.util.matchUserAgent(\"Mobile\");\n};\ngoog.userAgent.MOBILE = goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();\ngoog.userAgent.SAFARI = goog.userAgent.WEBKIT;\ngoog.userAgent.determinePlatform_ = function() {\n var navigator = goog.userAgent.getNavigatorTyped();\n return navigator && navigator.platform || \"\";\n};\ngoog.userAgent.PLATFORM = goog.userAgent.determinePlatform_();\ngoog.userAgent.ASSUME_MAC = goog.define(\"goog.userAgent.ASSUME_MAC\", false);\ngoog.userAgent.ASSUME_WINDOWS = goog.define(\"goog.userAgent.ASSUME_WINDOWS\", false);\ngoog.userAgent.ASSUME_LINUX = goog.define(\"goog.userAgent.ASSUME_LINUX\", false);\ngoog.userAgent.ASSUME_X11 = goog.define(\"goog.userAgent.ASSUME_X11\", false);\ngoog.userAgent.ASSUME_ANDROID = goog.define(\"goog.userAgent.ASSUME_ANDROID\", false);\ngoog.userAgent.ASSUME_IPHONE = goog.define(\"goog.userAgent.ASSUME_IPHONE\", false);\ngoog.userAgent.ASSUME_IPAD = goog.define(\"goog.userAgent.ASSUME_IPAD\", false);\ngoog.userAgent.ASSUME_IPOD = goog.define(\"goog.userAgent.ASSUME_IPOD\", false);\ngoog.userAgent.ASSUME_KAIOS = goog.define(\"goog.userAgent.ASSUME_KAIOS\", false);\ngoog.userAgent.PLATFORM_KNOWN_ = goog.userAgent.ASSUME_MAC || goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX || goog.userAgent.ASSUME_X11 || goog.userAgent.ASSUME_ANDROID || goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD;\ngoog.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_MAC : goog.labs.userAgent.platform.isMacintosh();\ngoog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_WINDOWS : goog.labs.userAgent.platform.isWindows();\ngoog.userAgent.isLegacyLinux_ = function() {\n return goog.labs.userAgent.platform.isLinux() || goog.labs.userAgent.platform.isChromeOS();\n};\ngoog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_LINUX : goog.userAgent.isLegacyLinux_();\ngoog.userAgent.isX11_ = function() {\n var navigator = goog.userAgent.getNavigatorTyped();\n return !!navigator && goog.string.internal.contains(navigator[\"appVersion\"] || \"\", \"X11\");\n};\ngoog.userAgent.X11 = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_X11 : goog.userAgent.isX11_();\ngoog.userAgent.ANDROID = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_ANDROID : goog.labs.userAgent.platform.isAndroid();\ngoog.userAgent.IPHONE = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE : goog.labs.userAgent.platform.isIphone();\ngoog.userAgent.IPAD = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad();\ngoog.userAgent.IPOD = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform.isIpod();\ngoog.userAgent.IOS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform.isIos();\ngoog.userAgent.KAIOS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_KAIOS : goog.labs.userAgent.platform.isKaiOS();\ngoog.userAgent.determineVersion_ = function() {\n var version = \"\";\n var arr = goog.userAgent.getVersionRegexResult_();\n if (arr) {\n version = arr ? arr[1] : \"\";\n }\n if (goog.userAgent.IE) {\n var docMode = goog.userAgent.getDocumentMode_();\n if (docMode != null && docMode > parseFloat(version)) {\n return String(docMode);\n }\n }\n return version;\n};\ngoog.userAgent.getVersionRegexResult_ = function() {\n var userAgent = goog.userAgent.getUserAgentString();\n if (goog.userAgent.GECKO) {\n return /rv:([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.EDGE) {\n return /Edge\\/([\\d\\.]+)/.exec(userAgent);\n }\n if (goog.userAgent.IE) {\n return /\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.WEBKIT) {\n return /WebKit\\/(\\S+)/.exec(userAgent);\n }\n if (goog.userAgent.OPERA) {\n return /(?:Version)[ \\/]?(\\S+)/.exec(userAgent);\n }\n return undefined;\n};\ngoog.userAgent.getDocumentMode_ = function() {\n var doc = goog.global[\"document\"];\n return doc ? doc[\"documentMode\"] : undefined;\n};\ngoog.userAgent.VERSION = goog.userAgent.determineVersion_();\ngoog.userAgent.compare = function(v1, v2) {\n return goog.string.internal.compareVersions(v1, v2);\n};\ngoog.userAgent.isVersionOrHigherCache_ = {};\ngoog.userAgent.isVersionOrHigher = function(version) {\n return goog.userAgent.ASSUME_ANY_VERSION || goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_, version, function() {\n return goog.string.internal.compareVersions(goog.userAgent.VERSION, version) >= 0;\n });\n};\ngoog.userAgent.isDocumentModeOrHigher = function(documentMode) {\n return Number(goog.userAgent.DOCUMENT_MODE) >= documentMode;\n};\ngoog.userAgent.isDocumentMode = goog.userAgent.isDocumentModeOrHigher;\ngoog.userAgent.DOCUMENT_MODE = function() {\n var doc = goog.global[\"document\"];\n if (!doc || !goog.userAgent.IE) {\n return undefined;\n }\n var documentMode = goog.userAgent.getDocumentMode_();\n if (documentMode) {\n return documentMode;\n }\n var ieVersion = parseInt(goog.userAgent.VERSION, 10);\n return ieVersion || undefined;\n}();\n","~:source","/**\n * @license\n * Copyright The Closure Library Authors.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Rendering engine detection.\n * @see User agent strings\n * For information on the browser brand (such as Safari versus Chrome), see\n * goog.userAgent.product.\n * @see ../demos/useragent.html\n */\n\ngoog.provide('goog.userAgent');\n\ngoog.require('goog.labs.userAgent.browser');\ngoog.require('goog.labs.userAgent.engine');\ngoog.require('goog.labs.userAgent.platform');\ngoog.require('goog.labs.userAgent.util');\ngoog.require('goog.reflect');\ngoog.require('goog.string.internal');\n\n\n/**\n * @define {boolean} Whether we know at compile-time that the browser is IE.\n */\ngoog.userAgent.ASSUME_IE = goog.define('goog.userAgent.ASSUME_IE', false);\n\n\n/**\n * @define {boolean} Whether we know at compile-time that the browser is EDGE,\n * referring to EdgeHTML based Edge.\n */\ngoog.userAgent.ASSUME_EDGE = goog.define('goog.userAgent.ASSUME_EDGE', false);\n\n\n/**\n * @define {boolean} Whether we know at compile-time that the browser is GECKO.\n */\ngoog.userAgent.ASSUME_GECKO = goog.define('goog.userAgent.ASSUME_GECKO', false);\n\n\n/**\n * @define {boolean} Whether we know at compile-time that the browser is WEBKIT.\n */\ngoog.userAgent.ASSUME_WEBKIT =\n goog.define('goog.userAgent.ASSUME_WEBKIT', false);\n\n\n/**\n * @define {boolean} Whether we know at compile-time that the browser is a\n * mobile device running WebKit e.g. iPhone or Android.\n */\ngoog.userAgent.ASSUME_MOBILE_WEBKIT =\n goog.define('goog.userAgent.ASSUME_MOBILE_WEBKIT', false);\n\n\n/**\n * @define {boolean} Whether we know at compile-time that the browser is OPERA,\n * referring to Presto-based Opera.\n */\ngoog.userAgent.ASSUME_OPERA = goog.define('goog.userAgent.ASSUME_OPERA', false);\n\n\n/**\n * @define {boolean} Whether the\n * `goog.userAgent.isVersionOrHigher`\n * function will return true for any version.\n */\ngoog.userAgent.ASSUME_ANY_VERSION =\n goog.define('goog.userAgent.ASSUME_ANY_VERSION', false);\n\n\n/**\n * Whether we know the browser engine at compile-time.\n * @type {boolean}\n * @private\n */\ngoog.userAgent.BROWSER_KNOWN_ = goog.userAgent.ASSUME_IE ||\n goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_GECKO ||\n goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT ||\n goog.userAgent.ASSUME_OPERA;\n\n\n/**\n * Returns the userAgent string for the current browser.\n *\n * @return {string} The userAgent string.\n */\ngoog.userAgent.getUserAgentString = function() {\n 'use strict';\n return goog.labs.userAgent.util.getUserAgent();\n};\n\n\n/**\n * @return {?Navigator} The native navigator object.\n */\ngoog.userAgent.getNavigatorTyped = function() {\n 'use strict';\n // Need a local navigator reference instead of using the global one,\n // to avoid the rare case where they reference different objects.\n // (in a WorkerPool, for example).\n return goog.global['navigator'] || null;\n};\n\n\n/**\n * TODO(nnaze): Change type to \"Navigator\" and update compilation targets.\n * @return {?Object} The native navigator object.\n */\ngoog.userAgent.getNavigator = function() {\n 'use strict';\n return goog.userAgent.getNavigatorTyped();\n};\n\n\n/**\n * Whether the user agent is Presto-based Opera.\n * @type {boolean}\n */\ngoog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ?\n goog.userAgent.ASSUME_OPERA :\n goog.labs.userAgent.browser.isOpera();\n\n\n/**\n * Whether the user agent is Internet Explorer.\n * @type {boolean}\n */\ngoog.userAgent.IE = goog.userAgent.BROWSER_KNOWN_ ?\n goog.userAgent.ASSUME_IE :\n goog.labs.userAgent.browser.isIE();\n\n\n/**\n * Whether the user agent is Microsoft Edge (EdgeHTML based).\n * @type {boolean}\n */\ngoog.userAgent.EDGE = goog.userAgent.BROWSER_KNOWN_ ?\n goog.userAgent.ASSUME_EDGE :\n goog.labs.userAgent.engine.isEdge();\n\n\n/**\n * Whether the user agent is MS Internet Explorer or MS Edge (EdgeHTML based).\n * @type {boolean}\n */\ngoog.userAgent.EDGE_OR_IE = goog.userAgent.EDGE || goog.userAgent.IE;\n\n\n/**\n * Whether the user agent is Gecko. Gecko is the rendering engine used by\n * Mozilla, Firefox, and others.\n * @type {boolean}\n */\ngoog.userAgent.GECKO = goog.userAgent.BROWSER_KNOWN_ ?\n goog.userAgent.ASSUME_GECKO :\n goog.labs.userAgent.engine.isGecko();\n\n\n/**\n * Whether the user agent is WebKit. WebKit is the rendering engine that\n * Safari, Edge Chromium, Opera Chromium, Android and others use.\n * @type {boolean}\n */\ngoog.userAgent.WEBKIT = goog.userAgent.BROWSER_KNOWN_ ?\n goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT :\n goog.labs.userAgent.engine.isWebKit();\n\n\n/**\n * Whether the user agent is running on a mobile device.\n *\n * This is a separate function so that the logic can be tested.\n *\n * TODO(nnaze): Investigate swapping in goog.labs.userAgent.device.isMobile().\n *\n * @return {boolean} Whether the user agent is running on a mobile device.\n * @private\n */\ngoog.userAgent.isMobile_ = function() {\n 'use strict';\n return goog.userAgent.WEBKIT &&\n goog.labs.userAgent.util.matchUserAgent('Mobile');\n};\n\n\n/**\n * Whether the user agent is running on a mobile device.\n *\n * TODO(nnaze): Consider deprecating MOBILE when labs.userAgent\n * is promoted as the gecko/webkit logic is likely inaccurate.\n *\n * @type {boolean}\n */\ngoog.userAgent.MOBILE =\n goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();\n\n\n/**\n * Used while transitioning code to use WEBKIT instead.\n * @type {boolean}\n * @deprecated Use {@link goog.userAgent.product.SAFARI} instead.\n * TODO(nicksantos): Delete this from goog.userAgent.\n */\ngoog.userAgent.SAFARI = goog.userAgent.WEBKIT;\n\n\n/**\n * @return {string} the platform (operating system) the user agent is running\n * on. Default to empty string because navigator.platform may not be defined\n * (on Rhino, for example).\n * @private\n */\ngoog.userAgent.determinePlatform_ = function() {\n 'use strict';\n var navigator = goog.userAgent.getNavigatorTyped();\n return navigator && navigator.platform || '';\n};\n\n\n/**\n * The platform (operating system) the user agent is running on. Default to\n * empty string because navigator.platform may not be defined (on Rhino, for\n * example).\n * @type {string}\n */\ngoog.userAgent.PLATFORM = goog.userAgent.determinePlatform_();\n\n\n/**\n * @define {boolean} Whether the user agent is running on a Macintosh operating\n * system.\n */\ngoog.userAgent.ASSUME_MAC = goog.define('goog.userAgent.ASSUME_MAC', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on a Windows operating\n * system.\n */\ngoog.userAgent.ASSUME_WINDOWS =\n goog.define('goog.userAgent.ASSUME_WINDOWS', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on a Linux operating\n * system.\n */\ngoog.userAgent.ASSUME_LINUX = goog.define('goog.userAgent.ASSUME_LINUX', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on a X11 windowing\n * system.\n */\ngoog.userAgent.ASSUME_X11 = goog.define('goog.userAgent.ASSUME_X11', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on Android.\n */\ngoog.userAgent.ASSUME_ANDROID =\n goog.define('goog.userAgent.ASSUME_ANDROID', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on an iPhone.\n */\ngoog.userAgent.ASSUME_IPHONE =\n goog.define('goog.userAgent.ASSUME_IPHONE', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on an iPad.\n */\ngoog.userAgent.ASSUME_IPAD = goog.define('goog.userAgent.ASSUME_IPAD', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on an iPod.\n */\ngoog.userAgent.ASSUME_IPOD = goog.define('goog.userAgent.ASSUME_IPOD', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on KaiOS.\n */\ngoog.userAgent.ASSUME_KAIOS = goog.define('goog.userAgent.ASSUME_KAIOS', false);\n\n\n/**\n * @type {boolean}\n * @private\n */\ngoog.userAgent.PLATFORM_KNOWN_ = goog.userAgent.ASSUME_MAC ||\n goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX ||\n goog.userAgent.ASSUME_X11 || goog.userAgent.ASSUME_ANDROID ||\n goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD ||\n goog.userAgent.ASSUME_IPOD;\n\n\n/**\n * Whether the user agent is running on a Macintosh operating system.\n * @type {boolean}\n */\ngoog.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_MAC :\n goog.labs.userAgent.platform.isMacintosh();\n\n\n/**\n * Whether the user agent is running on a Windows operating system.\n * @type {boolean}\n */\ngoog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_WINDOWS :\n goog.labs.userAgent.platform.isWindows();\n\n\n/**\n * Whether the user agent is Linux per the legacy behavior of\n * goog.userAgent.LINUX, which considered ChromeOS to also be\n * Linux.\n * @return {boolean}\n * @private\n */\ngoog.userAgent.isLegacyLinux_ = function() {\n 'use strict';\n return goog.labs.userAgent.platform.isLinux() ||\n goog.labs.userAgent.platform.isChromeOS();\n};\n\n\n/**\n * Whether the user agent is running on a Linux operating system.\n *\n * Note that goog.userAgent.LINUX considers ChromeOS to be Linux,\n * while goog.labs.userAgent.platform considers ChromeOS and\n * Linux to be different OSes.\n *\n * @type {boolean}\n */\ngoog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_LINUX :\n goog.userAgent.isLegacyLinux_();\n\n\n/**\n * @return {boolean} Whether the user agent is an X11 windowing system.\n * @private\n */\ngoog.userAgent.isX11_ = function() {\n 'use strict';\n var navigator = goog.userAgent.getNavigatorTyped();\n return !!navigator &&\n goog.string.internal.contains(navigator['appVersion'] || '', 'X11');\n};\n\n\n/**\n * Whether the user agent is running on a X11 windowing system.\n * @type {boolean}\n */\ngoog.userAgent.X11 = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_X11 :\n goog.userAgent.isX11_();\n\n\n/**\n * Whether the user agent is running on Android.\n * @type {boolean}\n */\ngoog.userAgent.ANDROID = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_ANDROID :\n goog.labs.userAgent.platform.isAndroid();\n\n\n/**\n * Whether the user agent is running on an iPhone.\n * @type {boolean}\n */\ngoog.userAgent.IPHONE = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_IPHONE :\n goog.labs.userAgent.platform.isIphone();\n\n\n/**\n * Whether the user agent is running on an iPad.\n * @type {boolean}\n */\ngoog.userAgent.IPAD = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_IPAD :\n goog.labs.userAgent.platform.isIpad();\n\n\n/**\n * Whether the user agent is running on an iPod.\n * @type {boolean}\n */\ngoog.userAgent.IPOD = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_IPOD :\n goog.labs.userAgent.platform.isIpod();\n\n\n/**\n * Whether the user agent is running on iOS.\n * @type {boolean}\n */\ngoog.userAgent.IOS = goog.userAgent.PLATFORM_KNOWN_ ?\n (goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD ||\n goog.userAgent.ASSUME_IPOD) :\n goog.labs.userAgent.platform.isIos();\n\n/**\n * Whether the user agent is running on KaiOS.\n * @type {boolean}\n */\ngoog.userAgent.KAIOS = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_KAIOS :\n goog.labs.userAgent.platform.isKaiOS();\n\n\n/**\n * @return {string} The string that describes the version number of the user\n * agent.\n * @private\n */\ngoog.userAgent.determineVersion_ = function() {\n 'use strict';\n // All browsers have different ways to detect the version and they all have\n // different naming schemes.\n // version is a string rather than a number because it may contain 'b', 'a',\n // and so on.\n var version = '';\n var arr = goog.userAgent.getVersionRegexResult_();\n if (arr) {\n version = arr ? arr[1] : '';\n }\n\n if (goog.userAgent.IE) {\n // IE9 can be in document mode 9 but be reporting an inconsistent user agent\n // version. If it is identifying as a version lower than 9 we take the\n // documentMode as the version instead. IE8 has similar behavior.\n // It is recommended to set the X-UA-Compatible header to ensure that IE9\n // uses documentMode 9.\n var docMode = goog.userAgent.getDocumentMode_();\n if (docMode != null && docMode > parseFloat(version)) {\n return String(docMode);\n }\n }\n\n return version;\n};\n\n\n/**\n * @return {?IArrayLike|undefined} The version regex matches from\n * parsing the user\n * agent string. These regex statements must be executed inline so they can\n * be compiled out by the closure compiler with the rest of the useragent\n * detection logic when ASSUME_* is specified.\n * @private\n */\ngoog.userAgent.getVersionRegexResult_ = function() {\n 'use strict';\n var userAgent = goog.userAgent.getUserAgentString();\n if (goog.userAgent.GECKO) {\n return /rv\\:([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.EDGE) {\n return /Edge\\/([\\d\\.]+)/.exec(userAgent);\n }\n if (goog.userAgent.IE) {\n return /\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.WEBKIT) {\n // WebKit/125.4\n return /WebKit\\/(\\S+)/.exec(userAgent);\n }\n if (goog.userAgent.OPERA) {\n // If none of the above browsers were detected but the browser is Opera, the\n // only string that is of interest is 'Version/'.\n return /(?:Version)[ \\/]?(\\S+)/.exec(userAgent);\n }\n return undefined;\n};\n\n\n/**\n * @return {number|undefined} Returns the document mode (for testing).\n * @private\n */\ngoog.userAgent.getDocumentMode_ = function() {\n 'use strict';\n // NOTE(user): goog.userAgent may be used in context where there is no DOM.\n var doc = goog.global['document'];\n return doc ? doc['documentMode'] : undefined;\n};\n\n\n/**\n * The version of the user agent. This is a string because it might contain\n * 'b' (as in beta) as well as multiple dots.\n * @type {string}\n */\ngoog.userAgent.VERSION = goog.userAgent.determineVersion_();\n\n\n/**\n * Compares two version numbers.\n *\n * @param {string} v1 Version of first item.\n * @param {string} v2 Version of second item.\n *\n * @return {number} 1 if first argument is higher\n * 0 if arguments are equal\n * -1 if second argument is higher.\n * @deprecated Use goog.string.compareVersions.\n */\ngoog.userAgent.compare = function(v1, v2) {\n 'use strict';\n return goog.string.internal.compareVersions(v1, v2);\n};\n\n\n/**\n * Cache for {@link goog.userAgent.isVersionOrHigher}.\n * Calls to compareVersions are surprisingly expensive and, as a browser's\n * version number is unlikely to change during a session, we cache the results.\n * @const\n * @private\n */\ngoog.userAgent.isVersionOrHigherCache_ = {};\n\n\n/**\n * Whether the user agent version is higher or the same as the given version.\n * NOTE: When checking the version numbers for Firefox and Safari, be sure to\n * use the engine's version, not the browser's version number. For example,\n * Firefox 3.0 corresponds to Gecko 1.9 and Safari 3.0 to Webkit 522.11.\n * Opera and Internet Explorer versions match the product release number.
\n * @see \n * Webkit\n * @see Gecko\n *\n * @param {string|number} version The version to check.\n * @return {boolean} Whether the user agent version is higher or the same as\n * the given version.\n */\ngoog.userAgent.isVersionOrHigher = function(version) {\n 'use strict';\n return goog.userAgent.ASSUME_ANY_VERSION ||\n goog.reflect.cache(\n goog.userAgent.isVersionOrHigherCache_, version, function() {\n 'use strict';\n return goog.string.internal.compareVersions(\n goog.userAgent.VERSION, version) >= 0;\n });\n};\n\n\n/**\n * Whether the IE effective document mode is higher or the same as the given\n * document mode version.\n * NOTE: Only for IE, return false for another browser.\n *\n * @param {number} documentMode The document mode version to check.\n * @return {boolean} Whether the IE effective document mode is higher or the\n * same as the given version.\n */\ngoog.userAgent.isDocumentModeOrHigher = function(documentMode) {\n 'use strict';\n return Number(goog.userAgent.DOCUMENT_MODE) >= documentMode;\n};\n\n\n/**\n * Deprecated alias to `goog.userAgent.isDocumentModeOrHigher`.\n * @param {number} version The version to check.\n * @return {boolean} Whether the IE effective document mode is higher or the\n * same as the given version.\n * @deprecated Use goog.userAgent.isDocumentModeOrHigher().\n */\ngoog.userAgent.isDocumentMode = goog.userAgent.isDocumentModeOrHigher;\n\n\n/**\n * For IE version < 7, documentMode is undefined, so attempt to use the\n * CSS1Compat property to see if we are in standards mode. If we are in\n * standards mode, treat the browser version as the document mode. Otherwise,\n * IE is emulating version 5.\n *\n * NOTE(user): Support for IE < 7 is long gone, so this is now simplified.\n * It returns document.documentMode for IE and undefined for everything else.\n *\n * @type {number|undefined}\n * @const\n */\ngoog.userAgent.DOCUMENT_MODE = (function() {\n 'use strict';\n var doc = goog.global['document'];\n if (!doc || !goog.userAgent.IE) return undefined;\n // This must be an IE user agent.\n var documentMode = goog.userAgent.getDocumentMode_();\n if (documentMode) return documentMode;\n // The user agent version string begins with the major version.\n // Parse the major version and truncate anything following.\n var ieVersion = parseInt(goog.userAgent.VERSION, 10);\n return ieVersion || undefined;\n})();\n","~:compiled-at",1684858197958,"~:source-map-json","{\n\"version\":3,\n\"file\":\"goog.useragent.useragent.js\",\n\"lineCount\":131,\n\"mappings\":\"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\",\n\"sources\":[\"goog/useragent/useragent.js\"],\n\"sourcesContent\":[\"/**\\n * @license\\n * Copyright The Closure Library Authors.\\n * SPDX-License-Identifier: Apache-2.0\\n */\\n\\n/**\\n * @fileoverview Rendering engine detection.\\n * @see User agent strings\\n * For information on the browser brand (such as Safari versus Chrome), see\\n * goog.userAgent.product.\\n * @see ../demos/useragent.html\\n */\\n\\ngoog.provide('goog.userAgent');\\n\\ngoog.require('goog.labs.userAgent.browser');\\ngoog.require('goog.labs.userAgent.engine');\\ngoog.require('goog.labs.userAgent.platform');\\ngoog.require('goog.labs.userAgent.util');\\ngoog.require('goog.reflect');\\ngoog.require('goog.string.internal');\\n\\n\\n/**\\n * @define {boolean} Whether we know at compile-time that the browser is IE.\\n */\\ngoog.userAgent.ASSUME_IE = goog.define('goog.userAgent.ASSUME_IE', false);\\n\\n\\n/**\\n * @define {boolean} Whether we know at compile-time that the browser is EDGE,\\n * referring to EdgeHTML based Edge.\\n */\\ngoog.userAgent.ASSUME_EDGE = goog.define('goog.userAgent.ASSUME_EDGE', false);\\n\\n\\n/**\\n * @define {boolean} Whether we know at compile-time that the browser is GECKO.\\n */\\ngoog.userAgent.ASSUME_GECKO = goog.define('goog.userAgent.ASSUME_GECKO', false);\\n\\n\\n/**\\n * @define {boolean} Whether we know at compile-time that the browser is WEBKIT.\\n */\\ngoog.userAgent.ASSUME_WEBKIT =\\n goog.define('goog.userAgent.ASSUME_WEBKIT', false);\\n\\n\\n/**\\n * @define {boolean} Whether we know at compile-time that the browser is a\\n * mobile device running WebKit e.g. iPhone or Android.\\n */\\ngoog.userAgent.ASSUME_MOBILE_WEBKIT =\\n goog.define('goog.userAgent.ASSUME_MOBILE_WEBKIT', false);\\n\\n\\n/**\\n * @define {boolean} Whether we know at compile-time that the browser is OPERA,\\n * referring to Presto-based Opera.\\n */\\ngoog.userAgent.ASSUME_OPERA = goog.define('goog.userAgent.ASSUME_OPERA', false);\\n\\n\\n/**\\n * @define {boolean} Whether the\\n * `goog.userAgent.isVersionOrHigher`\\n * function will return true for any version.\\n */\\ngoog.userAgent.ASSUME_ANY_VERSION =\\n goog.define('goog.userAgent.ASSUME_ANY_VERSION', false);\\n\\n\\n/**\\n * Whether we know the browser engine at compile-time.\\n * @type {boolean}\\n * @private\\n */\\ngoog.userAgent.BROWSER_KNOWN_ = goog.userAgent.ASSUME_IE ||\\n goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_GECKO ||\\n goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT ||\\n goog.userAgent.ASSUME_OPERA;\\n\\n\\n/**\\n * Returns the userAgent string for the current browser.\\n *\\n * @return {string} The userAgent string.\\n */\\ngoog.userAgent.getUserAgentString = function() {\\n 'use strict';\\n return goog.labs.userAgent.util.getUserAgent();\\n};\\n\\n\\n/**\\n * @return {?Navigator} The native navigator object.\\n */\\ngoog.userAgent.getNavigatorTyped = function() {\\n 'use strict';\\n // Need a local navigator reference instead of using the global one,\\n // to avoid the rare case where they reference different objects.\\n // (in a WorkerPool, for example).\\n return goog.global['navigator'] || null;\\n};\\n\\n\\n/**\\n * TODO(nnaze): Change type to \\\"Navigator\\\" and update compilation targets.\\n * @return {?Object} The native navigator object.\\n */\\ngoog.userAgent.getNavigator = function() {\\n 'use strict';\\n return goog.userAgent.getNavigatorTyped();\\n};\\n\\n\\n/**\\n * Whether the user agent is Presto-based Opera.\\n * @type {boolean}\\n */\\ngoog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ?\\n goog.userAgent.ASSUME_OPERA :\\n goog.labs.userAgent.browser.isOpera();\\n\\n\\n/**\\n * Whether the user agent is Internet Explorer.\\n * @type {boolean}\\n */\\ngoog.userAgent.IE = goog.userAgent.BROWSER_KNOWN_ ?\\n goog.userAgent.ASSUME_IE :\\n goog.labs.userAgent.browser.isIE();\\n\\n\\n/**\\n * Whether the user agent is Microsoft Edge (EdgeHTML based).\\n * @type {boolean}\\n */\\ngoog.userAgent.EDGE = goog.userAgent.BROWSER_KNOWN_ ?\\n goog.userAgent.ASSUME_EDGE :\\n goog.labs.userAgent.engine.isEdge();\\n\\n\\n/**\\n * Whether the user agent is MS Internet Explorer or MS Edge (EdgeHTML based).\\n * @type {boolean}\\n */\\ngoog.userAgent.EDGE_OR_IE = goog.userAgent.EDGE || goog.userAgent.IE;\\n\\n\\n/**\\n * Whether the user agent is Gecko. Gecko is the rendering engine used by\\n * Mozilla, Firefox, and others.\\n * @type {boolean}\\n */\\ngoog.userAgent.GECKO = goog.userAgent.BROWSER_KNOWN_ ?\\n goog.userAgent.ASSUME_GECKO :\\n goog.labs.userAgent.engine.isGecko();\\n\\n\\n/**\\n * Whether the user agent is WebKit. WebKit is the rendering engine that\\n * Safari, Edge Chromium, Opera Chromium, Android and others use.\\n * @type {boolean}\\n */\\ngoog.userAgent.WEBKIT = goog.userAgent.BROWSER_KNOWN_ ?\\n goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT :\\n goog.labs.userAgent.engine.isWebKit();\\n\\n\\n/**\\n * Whether the user agent is running on a mobile device.\\n *\\n * This is a separate function so that the logic can be tested.\\n *\\n * TODO(nnaze): Investigate swapping in goog.labs.userAgent.device.isMobile().\\n *\\n * @return {boolean} Whether the user agent is running on a mobile device.\\n * @private\\n */\\ngoog.userAgent.isMobile_ = function() {\\n 'use strict';\\n return goog.userAgent.WEBKIT &&\\n goog.labs.userAgent.util.matchUserAgent('Mobile');\\n};\\n\\n\\n/**\\n * Whether the user agent is running on a mobile device.\\n *\\n * TODO(nnaze): Consider deprecating MOBILE when labs.userAgent\\n * is promoted as the gecko/webkit logic is likely inaccurate.\\n *\\n * @type {boolean}\\n */\\ngoog.userAgent.MOBILE =\\n goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();\\n\\n\\n/**\\n * Used while transitioning code to use WEBKIT instead.\\n * @type {boolean}\\n * @deprecated Use {@link goog.userAgent.product.SAFARI} instead.\\n * TODO(nicksantos): Delete this from goog.userAgent.\\n */\\ngoog.userAgent.SAFARI = goog.userAgent.WEBKIT;\\n\\n\\n/**\\n * @return {string} the platform (operating system) the user agent is running\\n * on. Default to empty string because navigator.platform may not be defined\\n * (on Rhino, for example).\\n * @private\\n */\\ngoog.userAgent.determinePlatform_ = function() {\\n 'use strict';\\n var navigator = goog.userAgent.getNavigatorTyped();\\n return navigator && navigator.platform || '';\\n};\\n\\n\\n/**\\n * The platform (operating system) the user agent is running on. Default to\\n * empty string because navigator.platform may not be defined (on Rhino, for\\n * example).\\n * @type {string}\\n */\\ngoog.userAgent.PLATFORM = goog.userAgent.determinePlatform_();\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on a Macintosh operating\\n * system.\\n */\\ngoog.userAgent.ASSUME_MAC = goog.define('goog.userAgent.ASSUME_MAC', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on a Windows operating\\n * system.\\n */\\ngoog.userAgent.ASSUME_WINDOWS =\\n goog.define('goog.userAgent.ASSUME_WINDOWS', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on a Linux operating\\n * system.\\n */\\ngoog.userAgent.ASSUME_LINUX = goog.define('goog.userAgent.ASSUME_LINUX', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on a X11 windowing\\n * system.\\n */\\ngoog.userAgent.ASSUME_X11 = goog.define('goog.userAgent.ASSUME_X11', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on Android.\\n */\\ngoog.userAgent.ASSUME_ANDROID =\\n goog.define('goog.userAgent.ASSUME_ANDROID', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on an iPhone.\\n */\\ngoog.userAgent.ASSUME_IPHONE =\\n goog.define('goog.userAgent.ASSUME_IPHONE', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on an iPad.\\n */\\ngoog.userAgent.ASSUME_IPAD = goog.define('goog.userAgent.ASSUME_IPAD', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on an iPod.\\n */\\ngoog.userAgent.ASSUME_IPOD = goog.define('goog.userAgent.ASSUME_IPOD', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on KaiOS.\\n */\\ngoog.userAgent.ASSUME_KAIOS = goog.define('goog.userAgent.ASSUME_KAIOS', false);\\n\\n\\n/**\\n * @type {boolean}\\n * @private\\n */\\ngoog.userAgent.PLATFORM_KNOWN_ = goog.userAgent.ASSUME_MAC ||\\n goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX ||\\n goog.userAgent.ASSUME_X11 || goog.userAgent.ASSUME_ANDROID ||\\n goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD ||\\n goog.userAgent.ASSUME_IPOD;\\n\\n\\n/**\\n * Whether the user agent is running on a Macintosh operating system.\\n * @type {boolean}\\n */\\ngoog.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_MAC :\\n goog.labs.userAgent.platform.isMacintosh();\\n\\n\\n/**\\n * Whether the user agent is running on a Windows operating system.\\n * @type {boolean}\\n */\\ngoog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_WINDOWS :\\n goog.labs.userAgent.platform.isWindows();\\n\\n\\n/**\\n * Whether the user agent is Linux per the legacy behavior of\\n * goog.userAgent.LINUX, which considered ChromeOS to also be\\n * Linux.\\n * @return {boolean}\\n * @private\\n */\\ngoog.userAgent.isLegacyLinux_ = function() {\\n 'use strict';\\n return goog.labs.userAgent.platform.isLinux() ||\\n goog.labs.userAgent.platform.isChromeOS();\\n};\\n\\n\\n/**\\n * Whether the user agent is running on a Linux operating system.\\n *\\n * Note that goog.userAgent.LINUX considers ChromeOS to be Linux,\\n * while goog.labs.userAgent.platform considers ChromeOS and\\n * Linux to be different OSes.\\n *\\n * @type {boolean}\\n */\\ngoog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_LINUX :\\n goog.userAgent.isLegacyLinux_();\\n\\n\\n/**\\n * @return {boolean} Whether the user agent is an X11 windowing system.\\n * @private\\n */\\ngoog.userAgent.isX11_ = function() {\\n 'use strict';\\n var navigator = goog.userAgent.getNavigatorTyped();\\n return !!navigator &&\\n goog.string.internal.contains(navigator['appVersion'] || '', 'X11');\\n};\\n\\n\\n/**\\n * Whether the user agent is running on a X11 windowing system.\\n * @type {boolean}\\n */\\ngoog.userAgent.X11 = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_X11 :\\n goog.userAgent.isX11_();\\n\\n\\n/**\\n * Whether the user agent is running on Android.\\n * @type {boolean}\\n */\\ngoog.userAgent.ANDROID = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_ANDROID :\\n goog.labs.userAgent.platform.isAndroid();\\n\\n\\n/**\\n * Whether the user agent is running on an iPhone.\\n * @type {boolean}\\n */\\ngoog.userAgent.IPHONE = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_IPHONE :\\n goog.labs.userAgent.platform.isIphone();\\n\\n\\n/**\\n * Whether the user agent is running on an iPad.\\n * @type {boolean}\\n */\\ngoog.userAgent.IPAD = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_IPAD :\\n goog.labs.userAgent.platform.isIpad();\\n\\n\\n/**\\n * Whether the user agent is running on an iPod.\\n * @type {boolean}\\n */\\ngoog.userAgent.IPOD = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_IPOD :\\n goog.labs.userAgent.platform.isIpod();\\n\\n\\n/**\\n * Whether the user agent is running on iOS.\\n * @type {boolean}\\n */\\ngoog.userAgent.IOS = goog.userAgent.PLATFORM_KNOWN_ ?\\n (goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD ||\\n goog.userAgent.ASSUME_IPOD) :\\n goog.labs.userAgent.platform.isIos();\\n\\n/**\\n * Whether the user agent is running on KaiOS.\\n * @type {boolean}\\n */\\ngoog.userAgent.KAIOS = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_KAIOS :\\n goog.labs.userAgent.platform.isKaiOS();\\n\\n\\n/**\\n * @return {string} The string that describes the version number of the user\\n * agent.\\n * @private\\n */\\ngoog.userAgent.determineVersion_ = function() {\\n 'use strict';\\n // All browsers have different ways to detect the version and they all have\\n // different naming schemes.\\n // version is a string rather than a number because it may contain 'b', 'a',\\n // and so on.\\n var version = '';\\n var arr = goog.userAgent.getVersionRegexResult_();\\n if (arr) {\\n version = arr ? arr[1] : '';\\n }\\n\\n if (goog.userAgent.IE) {\\n // IE9 can be in document mode 9 but be reporting an inconsistent user agent\\n // version. If it is identifying as a version lower than 9 we take the\\n // documentMode as the version instead. IE8 has similar behavior.\\n // It is recommended to set the X-UA-Compatible header to ensure that IE9\\n // uses documentMode 9.\\n var docMode = goog.userAgent.getDocumentMode_();\\n if (docMode != null && docMode > parseFloat(version)) {\\n return String(docMode);\\n }\\n }\\n\\n return version;\\n};\\n\\n\\n/**\\n * @return {?IArrayLike|undefined} The version regex matches from\\n * parsing the user\\n * agent string. These regex statements must be executed inline so they can\\n * be compiled out by the closure compiler with the rest of the useragent\\n * detection logic when ASSUME_* is specified.\\n * @private\\n */\\ngoog.userAgent.getVersionRegexResult_ = function() {\\n 'use strict';\\n var userAgent = goog.userAgent.getUserAgentString();\\n if (goog.userAgent.GECKO) {\\n return /rv\\\\:([^\\\\);]+)(\\\\)|;)/.exec(userAgent);\\n }\\n if (goog.userAgent.EDGE) {\\n return /Edge\\\\/([\\\\d\\\\.]+)/.exec(userAgent);\\n }\\n if (goog.userAgent.IE) {\\n return /\\\\b(?:MSIE|rv)[: ]([^\\\\);]+)(\\\\)|;)/.exec(userAgent);\\n }\\n if (goog.userAgent.WEBKIT) {\\n // WebKit/125.4\\n return /WebKit\\\\/(\\\\S+)/.exec(userAgent);\\n }\\n if (goog.userAgent.OPERA) {\\n // If none of the above browsers were detected but the browser is Opera, the\\n // only string that is of interest is 'Version/'.\\n return /(?:Version)[ \\\\/]?(\\\\S+)/.exec(userAgent);\\n }\\n return undefined;\\n};\\n\\n\\n/**\\n * @return {number|undefined} Returns the document mode (for testing).\\n * @private\\n */\\ngoog.userAgent.getDocumentMode_ = function() {\\n 'use strict';\\n // NOTE(user): goog.userAgent may be used in context where there is no DOM.\\n var doc = goog.global['document'];\\n return doc ? doc['documentMode'] : undefined;\\n};\\n\\n\\n/**\\n * The version of the user agent. This is a string because it might contain\\n * 'b' (as in beta) as well as multiple dots.\\n * @type {string}\\n */\\ngoog.userAgent.VERSION = goog.userAgent.determineVersion_();\\n\\n\\n/**\\n * Compares two version numbers.\\n *\\n * @param {string} v1 Version of first item.\\n * @param {string} v2 Version of second item.\\n *\\n * @return {number} 1 if first argument is higher\\n * 0 if arguments are equal\\n * -1 if second argument is higher.\\n * @deprecated Use goog.string.compareVersions.\\n */\\ngoog.userAgent.compare = function(v1, v2) {\\n 'use strict';\\n return goog.string.internal.compareVersions(v1, v2);\\n};\\n\\n\\n/**\\n * Cache for {@link goog.userAgent.isVersionOrHigher}.\\n * Calls to compareVersions are surprisingly expensive and, as a browser's\\n * version number is unlikely to change during a session, we cache the results.\\n * @const\\n * @private\\n */\\ngoog.userAgent.isVersionOrHigherCache_ = {};\\n\\n\\n/**\\n * Whether the user agent version is higher or the same as the given version.\\n * NOTE: When checking the version numbers for Firefox and Safari, be sure to\\n * use the engine's version, not the browser's version number. For example,\\n * Firefox 3.0 corresponds to Gecko 1.9 and Safari 3.0 to Webkit 522.11.\\n * Opera and Internet Explorer versions match the product release number.
\\n * @see \\n * Webkit\\n * @see Gecko\\n *\\n * @param {string|number} version The version to check.\\n * @return {boolean} Whether the user agent version is higher or the same as\\n * the given version.\\n */\\ngoog.userAgent.isVersionOrHigher = function(version) {\\n 'use strict';\\n return goog.userAgent.ASSUME_ANY_VERSION ||\\n goog.reflect.cache(\\n goog.userAgent.isVersionOrHigherCache_, version, function() {\\n 'use strict';\\n return goog.string.internal.compareVersions(\\n goog.userAgent.VERSION, version) >= 0;\\n });\\n};\\n\\n\\n/**\\n * Whether the IE effective document mode is higher or the same as the given\\n * document mode version.\\n * NOTE: Only for IE, return false for another browser.\\n *\\n * @param {number} documentMode The document mode version to check.\\n * @return {boolean} Whether the IE effective document mode is higher or the\\n * same as the given version.\\n */\\ngoog.userAgent.isDocumentModeOrHigher = function(documentMode) {\\n 'use strict';\\n return Number(goog.userAgent.DOCUMENT_MODE) >= documentMode;\\n};\\n\\n\\n/**\\n * Deprecated alias to `goog.userAgent.isDocumentModeOrHigher`.\\n * @param {number} version The version to check.\\n * @return {boolean} Whether the IE effective document mode is higher or the\\n * same as the given version.\\n * @deprecated Use goog.userAgent.isDocumentModeOrHigher().\\n */\\ngoog.userAgent.isDocumentMode = goog.userAgent.isDocumentModeOrHigher;\\n\\n\\n/**\\n * For IE version < 7, documentMode is undefined, so attempt to use the\\n * CSS1Compat property to see if we are in standards mode. If we are in\\n * standards mode, treat the browser version as the document mode. Otherwise,\\n * IE is emulating version 5.\\n *\\n * NOTE(user): Support for IE < 7 is long gone, so this is now simplified.\\n * It returns document.documentMode for IE and undefined for everything else.\\n *\\n * @type {number|undefined}\\n * @const\\n */\\ngoog.userAgent.DOCUMENT_MODE = (function() {\\n 'use strict';\\n var doc = goog.global['document'];\\n if (!doc || !goog.userAgent.IE) return undefined;\\n // This must be an IE user agent.\\n var documentMode = goog.userAgent.getDocumentMode_();\\n if (documentMode) return documentMode;\\n // The user agent version string begins with the major version.\\n // Parse the major version and truncate anything following.\\n var ieVersion = parseInt(goog.userAgent.VERSION, 10);\\n return ieVersion || undefined;\\n})();\\n\"],\n\"names\":[\"goog\",\"provide\",\"require\",\"userAgent\",\"ASSUME_IE\",\"define\",\"ASSUME_EDGE\",\"ASSUME_GECKO\",\"ASSUME_WEBKIT\",\"ASSUME_MOBILE_WEBKIT\",\"ASSUME_OPERA\",\"ASSUME_ANY_VERSION\",\"BROWSER_KNOWN_\",\"getUserAgentString\",\"goog.userAgent.getUserAgentString\",\"labs\",\"util\",\"getUserAgent\",\"getNavigatorTyped\",\"goog.userAgent.getNavigatorTyped\",\"global\",\"getNavigator\",\"goog.userAgent.getNavigator\",\"OPERA\",\"browser\",\"isOpera\",\"IE\",\"isIE\",\"EDGE\",\"engine\",\"isEdge\",\"EDGE_OR_IE\",\"GECKO\",\"isGecko\",\"WEBKIT\",\"isWebKit\",\"isMobile_\",\"goog.userAgent.isMobile_\",\"matchUserAgent\",\"MOBILE\",\"SAFARI\",\"determinePlatform_\",\"goog.userAgent.determinePlatform_\",\"navigator\",\"platform\",\"PLATFORM\",\"ASSUME_MAC\",\"ASSUME_WINDOWS\",\"ASSUME_LINUX\",\"ASSUME_X11\",\"ASSUME_ANDROID\",\"ASSUME_IPHONE\",\"ASSUME_IPAD\",\"ASSUME_IPOD\",\"ASSUME_KAIOS\",\"PLATFORM_KNOWN_\",\"MAC\",\"isMacintosh\",\"WINDOWS\",\"isWindows\",\"isLegacyLinux_\",\"goog.userAgent.isLegacyLinux_\",\"isLinux\",\"isChromeOS\",\"LINUX\",\"isX11_\",\"goog.userAgent.isX11_\",\"string\",\"internal\",\"contains\",\"X11\",\"ANDROID\",\"isAndroid\",\"IPHONE\",\"isIphone\",\"IPAD\",\"isIpad\",\"IPOD\",\"isIpod\",\"IOS\",\"isIos\",\"KAIOS\",\"isKaiOS\",\"determineVersion_\",\"goog.userAgent.determineVersion_\",\"version\",\"arr\",\"getVersionRegexResult_\",\"docMode\",\"getDocumentMode_\",\"parseFloat\",\"String\",\"goog.userAgent.getVersionRegexResult_\",\"exec\",\"undefined\",\"goog.userAgent.getDocumentMode_\",\"doc\",\"VERSION\",\"compare\",\"goog.userAgent.compare\",\"v1\",\"v2\",\"compareVersions\",\"isVersionOrHigherCache_\",\"isVersionOrHigher\",\"goog.userAgent.isVersionOrHigher\",\"reflect\",\"cache\",\"isDocumentModeOrHigher\",\"goog.userAgent.isDocumentModeOrHigher\",\"documentMode\",\"Number\",\"DOCUMENT_MODE\",\"isDocumentMode\",\"ieVersion\",\"parseInt\"]\n}\n"]