{
  "generated/Deprecation.ts | AttributionReporting": {
    "message": "Attribution reporting has been deprecated and will be removed. See https://goo.gle/ps-status for details."
  },
  "generated/Deprecation.ts | AuthorizationCoveredByWildcard": {
    "message": "Authorisation will not be covered by the wildcard symbol (*) in CORS Access-Control-Allow-Headers handling."
  },
  "generated/Deprecation.ts | CSSSelectorInternalMediaControlsOverlayCastButton": {
    "message": "The disableRemotePlayback attribute should be used in order to disable the default Cast integration instead of using -internal-media-controls-overlay-cast-button selector."
  },
  "generated/Deprecation.ts | CSSValueAppearanceSliderVertical": {
    "message": "CSS appearance value slider-vertical is not standardised and will be removed."
  },
  "generated/Deprecation.ts | CanRequestURLHTTPContainingNewline": {
    "message": "Resource requests whose URLs contained both removed whitespace \\(n|r|t) characters and less-than characters (<) are blocked. Please remove newlines and encode less-than characters from places like element attribute values in order to load these resources."
  },
  "generated/Deprecation.ts | ChromeLoadTimesConnectionInfo": {
    "message": "chrome.loadTimes() is deprecated. Instead, use standardised API: Navigation Timing 2."
  },
  "generated/Deprecation.ts | ChromeLoadTimesFirstPaintAfterLoadTime": {
    "message": "chrome.loadTimes() is deprecated. Instead, use standardised API: Paint Timing."
  },
  "generated/Deprecation.ts | ChromeLoadTimesWasAlternateProtocolAvailable": {
    "message": "chrome.loadTimes() is deprecated. Instead, use standardised API: nextHopProtocol in Navigation Timing 2."
  },
  "generated/Deprecation.ts | CrossOriginAccessBasedOnDocumentDomain": {
    "message": "Relaxing the same-origin policy by setting document.domain is deprecated, and will be disabled by default. This deprecation warning is for a cross-origin access that was enabled by setting document.domain."
  },
  "generated/Deprecation.ts | CrossOriginWindowAlert": {
    "message": "Triggering window.alert from cross-origin iframes has been deprecated and will be removed in the future."
  },
  "generated/Deprecation.ts | CrossOriginWindowConfirm": {
    "message": "Triggering window.confirm from cross-origin iframes has been deprecated and will be removed in the future."
  },
  "generated/Deprecation.ts | DataUrlInSvgUse": {
    "message": "Support for data: URLs in SVGUseElement is deprecated and it will be removed in the future."
  },
  "generated/Deprecation.ts | DocumentCreateEventKeyboardEvents": {
    "message": "document.createEvent('KeyboardEvents') is deprecated and will be removed. Use new KeyboardEvent() instead."
  },
  "generated/Deprecation.ts | DocumentCreateEventTransitionEvent": {
    "message": "document.createEvent('TransitionEvent') is deprecated and will be removed. Use new TransitionEvent() instead."
  },
  "generated/Deprecation.ts | ExampleBrowserProcessDeprecation": {
    "message": "This is an example for showing the code required for a browser process reported deprecation."
  },
  "generated/Deprecation.ts | Fledge": {
    "message": "The Protected Audience API has been deprecated and will be removed in a future release."
  },
  "generated/Deprecation.ts | GeolocationInsecureOrigin": {
    "message": "getCurrentPosition() and watchPosition() no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins/ for more details."
  },
  "generated/Deprecation.ts | GeolocationInsecureOriginDeprecatedNotRemoved": {
    "message": "getCurrentPosition() and watchPosition() are deprecated on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins/ for more details."
  },
  "generated/Deprecation.ts | GetUserMediaInsecureOrigin": {
    "message": "getUserMedia() no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins/ for more details."
  },
  "generated/Deprecation.ts | HostCandidateAttributeGetter": {
    "message": "RTCPeerConnectionIceErrorEvent.hostCandidate is deprecated. Please use RTCPeerConnectionIceErrorEvent.address or RTCPeerConnectionIceErrorEvent.port instead."
  },
  "generated/Deprecation.ts | IdentityInCanMakePaymentEvent": {
    "message": "The merchant origin and arbitrary data from the canmakepayment service worker event are deprecated and will be removed: topOrigin, paymentRequestOrigin, methodData, modifiers."
  },
  "generated/Deprecation.ts | InsecurePrivateNetworkSubresourceRequest": {
    "message": "The website requested a subresource from a network that it could only access because of its users' privileged network position. These requests expose non-public devices and servers to the Internet, increasing the risk of a cross-site request forgery (CSRF) attack and/or information leakage. To mitigate these risks, Chrome deprecates requests to non-public subresources when initiated from non-secure contexts, and will start blocking them."
  },
  "generated/Deprecation.ts | InterestGroupDailyUpdateUrl": {
    "message": "The dailyUpdateUrl field of InterestGroups passed to joinAdInterestGroup() has been renamed to updateUrl, to more accurately reflect its behaviour."
  },
  "generated/Deprecation.ts | IntlV8BreakIterator": {
    "message": "Intl.v8BreakIterator is deprecated. Please use Intl.Segmenter instead."
  },
  "generated/Deprecation.ts | LanguageModelParams": {
    "message": "LanguageModel.params() is deprecated and now only available in extension contexts. The topK and temperature related fields within its result are also deprecated."
  },
  "generated/Deprecation.ts | LanguageModelTemperature": {
    "message": "The 'temperature' parameter/attribute for LanguageModel is deprecated. It is only functional within extensions and may be removed in the future."
  },
  "generated/Deprecation.ts | LanguageModelTopK": {
    "message": "The 'topK' parameter/attribute for LanguageModel is deprecated. It is only functional within extensions and may be removed in the future."
  },
  "generated/Deprecation.ts | LanguageModel_InputQuota": {
    "message": "LanguageModel.inputQuota is deprecated. Please use LanguageModel.contextWindow instead. This alias is only available in extensions."
  },
  "generated/Deprecation.ts | LanguageModel_InputUsage": {
    "message": "LanguageModel.inputUsage is deprecated. Please use LanguageModel.contextUsage instead. This alias is only available in extensions."
  },
  "generated/Deprecation.ts | LanguageModel_MeasureInputUsage": {
    "message": "LanguageModel.measureInputUsage() is deprecated. Please use LanguageModel.measureContextUsage() instead. This alias is only available in extensions."
  },
  "generated/Deprecation.ts | LanguageModel_OnQuotaOverflow": {
    "message": "LanguageModel.onquotaoverflow is deprecated. Please use LanguageModel.oncontextoverflow instead. The LanguageModel.onquotaoverflow alias is only available in extensions."
  },
  "generated/Deprecation.ts | LocalCSSFileExtensionRejected": {
    "message": "CSS cannot be loaded from file: URLs unless they end in a .css file extension."
  },
  "generated/Deprecation.ts | NoSysexWebMIDIWithoutPermission": {
    "message": "Web MIDI will ask permission to use even if the sysex is not specified in the MIDIOptions."
  },
  "generated/Deprecation.ts | NotificationInsecureOrigin": {
    "message": "The notification API may no longer be used from insecure origins. You should consider switching your application to a secure origin, such as HTTPS. See https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins/ for more details."
  },
  "generated/Deprecation.ts | NotificationPermissionRequestedIframe": {
    "message": "Permission for the Notification API may no longer be requested from a cross-origin iframe. You should consider requesting permission from a top-level frame or opening a new window instead."
  },
  "generated/Deprecation.ts | ObsoleteCreateImageBitmapImageOrientationNone": {
    "message": "Option imageOrientation: 'none' in createImageBitmap is deprecated. Please use createImageBitmap with option '{imageOrientation: 'from-image'}' instead."
  },
  "generated/Deprecation.ts | ObsoleteWebRtcCipherSuite": {
    "message": "Your partner is negotiating an obsolete (D)TLS version. Please check with your partner to have this fixed."
  },
  "generated/Deprecation.ts | OverflowVisibleOnReplacedElement": {
    "message": "Specifying overflow: visible on img, video and canvas tags may cause them to produce visual content outside of the element bounds. See https://github.com/WICG/shared-element-transitions/blob/main/debugging_overflow_on_images.md."
  },
  "generated/Deprecation.ts | OverrideFlashEmbedwithHTML": {
    "message": "Legacy flash video embed has been rewritten to HTML iframe. Flash is long gone, this rewriting hack has been deprecated and may be removed in the future."
  },
  "generated/Deprecation.ts | PaymentInstruments": {
    "message": "paymentManager.instruments is deprecated. Please use just-in-time install for payment handlers instead."
  },
  "generated/Deprecation.ts | PaymentRequestCSPViolation": {
    "message": "Your PaymentRequest call bypassed Content-Security-Policy (CSP) connect-src directive. This bypass is deprecated. Please add the payment method identifier from the PaymentRequest API (in supportedMethods field) to your CSP connect-src directive."
  },
  "generated/Deprecation.ts | PersistentQuotaType": {
    "message": "StorageType.persistent is deprecated. Please use standardised navigator.storage instead."
  },
  "generated/Deprecation.ts | PictureSourceSrc": {
    "message": "<source src> with a <picture> parent is invalid and therefore ignored. Please use <source srcset> instead."
  },
  "generated/Deprecation.ts | PrefixedCancelAnimationFrame": {
    "message": "webkitCancelAnimationFrame is vendor-specific. Please use the standard cancelAnimationFrame instead."
  },
  "generated/Deprecation.ts | PrefixedRequestAnimationFrame": {
    "message": "webkitRequestAnimationFrame is vendor-specific. Please use the standard requestAnimationFrame instead."
  },
  "generated/Deprecation.ts | PrefixedVideoDisplayingFullscreen": {
    "message": "HTMLVideoElement.webkitDisplayingFullscreen is deprecated. Please use Document.fullscreenElement instead."
  },
  "generated/Deprecation.ts | PrefixedVideoEnterFullScreen": {
    "message": "HTMLVideoElement.webkitEnterFullScreen() is deprecated. Please use Element.requestFullscreen() instead."
  },
  "generated/Deprecation.ts | PrefixedVideoEnterFullscreen": {
    "message": "HTMLVideoElement.webkitEnterFullscreen() is deprecated. Please use Element.requestFullscreen() instead."
  },
  "generated/Deprecation.ts | PrefixedVideoExitFullScreen": {
    "message": "HTMLVideoElement.webkitExitFullScreen() is deprecated. Please use Document.exitFullscreen() instead."
  },
  "generated/Deprecation.ts | PrefixedVideoExitFullscreen": {
    "message": "HTMLVideoElement.webkitExitFullscreen() is deprecated. Please use Document.exitFullscreen() instead."
  },
  "generated/Deprecation.ts | PrefixedVideoSupportsFullscreen": {
    "message": "HTMLVideoElement.webkitSupportsFullscreen is deprecated. Please use Document.fullscreenEnabled instead."
  },
  "generated/Deprecation.ts | PreventSvgFilterPaint": {
    "message": "SVG filters cannot be applied to cross-origin iframes, restricted iframes (e.g. sandboxed) or plug-ins."
  },
  "generated/Deprecation.ts | RTCConstraintEnableDtlsSrtpFalse": {
    "message": "The constraint DtlsSrtpKeyAgreement is removed. You have specified a false value for this constraint, which is interpreted as an attempt to use the removed SDES key negotiation method. This functionality is removed; use a service that supports DTLS key negotiation instead."
  },
  "generated/Deprecation.ts | RTCConstraintEnableDtlsSrtpTrue": {
    "message": "The constraint DtlsSrtpKeyAgreement is removed. You have specified a true value for this constraint, which had no effect, but you can remove this constraint for tidiness."
  },
  "generated/Deprecation.ts | RTCPeerConnectionGetStatsLegacyNonCompliant": {
    "message": "The callback-based getStats() is deprecated and will be removed. Use the spec-compliant getStats() instead."
  },
  "generated/Deprecation.ts | RangeExpand": {
    "message": "Range.expand() is deprecated. Please use Selection.modify() instead."
  },
  "generated/Deprecation.ts | RelatedWebsiteSets": {
    "message": "Related Website Sets is deprecated and will be removed. See https://privacysandbox.com/news/update-on-plans-for-privacy-sandbox-technologies/ for more details."
  },
  "generated/Deprecation.ts | RequestedSubresourceWithEmbeddedCredentials": {
    "message": "Subresource requests whose URLs contain embedded credentials (e.g. https://user:pass@host/) are blocked."
  },
  "generated/Deprecation.ts | RtcpMuxPolicyNegotiate": {
    "message": "The rtcpMuxPolicy option is deprecated and will be removed."
  },
  "generated/Deprecation.ts | SharedArrayBufferConstructedWithoutIsolation": {
    "message": "SharedArrayBuffer will require cross-origin isolation. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details."
  },
  "generated/Deprecation.ts | SharedStorage": {
    "message": "The Shared Storage API is deprecated and will be removed in a future release."
  },
  "generated/Deprecation.ts | StorageAccessAPI_requestStorageAccessFor_Method": {
    "message": "document.requestStorageAccessFor is deprecated and will be removed. See https://privacysandbox.com/news/update-on-plans-for-privacy-sandbox-technologies/ for more details."
  },
  "generated/Deprecation.ts | TextToSpeech_DisallowedByAutoplay": {
    "message": "speechSynthesis.speak() without user activation is deprecated and will be removed."
  },
  "generated/Deprecation.ts | Topics": {
    "message": "The Topics API has been deprecated and will be removed in a future release."
  },
  "generated/Deprecation.ts | UnloadHandler": {
    "message": "Unload event listeners are deprecated and will be removed."
  },
  "generated/Deprecation.ts | V8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
    "message": "Extensions should opt in to cross-origin isolation to continue using SharedArrayBuffer. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/."
  },
  "generated/Deprecation.ts | WebBluetoothRemoteCharacteristicWriteValue": {
    "message": "BluetoothRemoteGATTCharacteristic.writeValue() is deprecated. Use writeValueWithResponse() or writeValueWithoutResponse() instead."
  },
  "generated/Deprecation.ts | XHRJSONEncodingDetection": {
    "message": "UTF-16 is not supported by response JSON in XMLHttpRequest"
  },
  "generated/Deprecation.ts | XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
    "message": "Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects on the end user's experience. For more help, check https://xhr.spec.whatwg.org/."
  },
  "generated/Deprecation.ts | XSLT": {
    "message": "XSLTProcessor and XSLT processing instructions have been deprecated by all browsers. These features will be removed from this browser soon."
  },
  "models/trace/insights/CLSCulprits.ts | animation": {
    "message": "Animation"
  },
  "models/trace/insights/CLSCulprits.ts | description": {
    "message": "Layout shifts occur when elements move absent any user interaction. [Investigate the causes of layout shifts](https://developer.chrome.com/docs/performance/insights/cls-culprit), such as elements being added, removed or their fonts changing as the page loads."
  },
  "models/trace/insights/CLSCulprits.ts | injectedIframe": {
    "message": "Injected iframe"
  },
  "models/trace/insights/CLSCulprits.ts | layoutShiftCluster": {
    "message": "Layout shift cluster @ {PH1}"
  },
  "models/trace/insights/CLSCulprits.ts | noCulprits": {
    "message": "Could not detect any layout shift culprits"
  },
  "models/trace/insights/CLSCulprits.ts | noLayoutShifts": {
    "message": "No layout shifts"
  },
  "models/trace/insights/CLSCulprits.ts | title": {
    "message": "Layout shift culprits"
  },
  "models/trace/insights/CLSCulprits.ts | topCulprits": {
    "message": "Top layout shift culprits"
  },
  "models/trace/insights/CLSCulprits.ts | unsizedImage": {
    "message": "Unsized image element"
  },
  "models/trace/insights/CLSCulprits.ts | webFont": {
    "message": "Web font"
  },
  "models/trace/insights/CLSCulprits.ts | worstCluster": {
    "message": "Worst cluster"
  },
  "models/trace/insights/CLSCulprits.ts | worstLayoutShiftCluster": {
    "message": "Worst layout shift cluster"
  },
  "models/trace/insights/Cache.ts | cacheTTL": {
    "message": "Cache TTL"
  },
  "models/trace/insights/Cache.ts | description": {
    "message": "A long cache lifetime can speed up repeat visits to your page. [Learn more about caching](https://developer.chrome.com/docs/performance/insights/cache)."
  },
  "models/trace/insights/Cache.ts | noRequestsToCache": {
    "message": "No requests with inefficient cache policies"
  },
  "models/trace/insights/Cache.ts | others": {
    "message": "{PH1} others"
  },
  "models/trace/insights/Cache.ts | requestColumn": {
    "message": "Request"
  },
  "models/trace/insights/Cache.ts | title": {
    "message": "Use efficient cache lifetimes"
  },
  "models/trace/insights/CharacterSet.ts | description": {
    "message": "A character encoding declaration is required. It can be done with a meta charset tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header. [Learn more about declaring the character encoding](https://developer.chrome.com/docs/insights/charset/)."
  },
  "models/trace/insights/CharacterSet.ts | failedHttpHeader": {
    "message": "Does not declare charset in HTTP header"
  },
  "models/trace/insights/CharacterSet.ts | failedMetaCharsetLate": {
    "message": "Declares charset using a meta tag after the first 1,024 bytes"
  },
  "models/trace/insights/CharacterSet.ts | failedMetaCharsetMissing": {
    "message": "Does not declare charset using a meta tag"
  },
  "models/trace/insights/CharacterSet.ts | failedMetaCharsetUnknown": {
    "message": "Could not determine meta charset declaration from trace"
  },
  "models/trace/insights/CharacterSet.ts | passingHttpHeader": {
    "message": "Declares charset in HTTP header"
  },
  "models/trace/insights/CharacterSet.ts | passingMetaCharsetEarly": {
    "message": "Declares charset using a meta tag in the first 1,024 bytes"
  },
  "models/trace/insights/CharacterSet.ts | title": {
    "message": "Declare a character encoding"
  },
  "models/trace/insights/DOMSize.ts | description": {
    "message": "A large DOM can increase the duration of style calculations and layout reflows, impacting page responsiveness. A large DOM will also increase memory usage. [Learn how to avoid an excessive DOM size](https://developer.chrome.com/docs/performance/insights/dom-size)."
  },
  "models/trace/insights/DOMSize.ts | duration": {
    "message": "Duration"
  },
  "models/trace/insights/DOMSize.ts | element": {
    "message": "Element"
  },
  "models/trace/insights/DOMSize.ts | largeLayout": {
    "message": "Layout ({PH1} objects)"
  },
  "models/trace/insights/DOMSize.ts | largeStyleRecalc": {
    "message": "Style recalculation ({PH1} elements)"
  },
  "models/trace/insights/DOMSize.ts | maxChildren": {
    "message": "Most children"
  },
  "models/trace/insights/DOMSize.ts | maxDOMDepth": {
    "message": "DOM depth"
  },
  "models/trace/insights/DOMSize.ts | statistic": {
    "message": "Statistic"
  },
  "models/trace/insights/DOMSize.ts | title": {
    "message": "Optimise DOM size"
  },
  "models/trace/insights/DOMSize.ts | topUpdatesDescription": {
    "message": "These are the largest layout and style recalculation events. Their performance impact may be reduced by making the DOM simpler."
  },
  "models/trace/insights/DOMSize.ts | totalElements": {
    "message": "Total elements"
  },
  "models/trace/insights/DOMSize.ts | value": {
    "message": "Value"
  },
  "models/trace/insights/DocumentLatency.ts | description": {
    "message": "Your first network request is the most important. [Reduce its latency](https://developer.chrome.com/docs/performance/insights/document-latency) by avoiding redirects, ensuring a fast server response and enabling text compression."
  },
  "models/trace/insights/DocumentLatency.ts | failedRedirects": {
    "message": "Had redirects ({PH1} redirects, +{PH2})"
  },
  "models/trace/insights/DocumentLatency.ts | failedServerResponseTime": {
    "message": "Server responded slowly (observed {PH1})"
  },
  "models/trace/insights/DocumentLatency.ts | failedTextCompression": {
    "message": "No compression applied"
  },
  "models/trace/insights/DocumentLatency.ts | passingRedirects": {
    "message": "Avoids redirects"
  },
  "models/trace/insights/DocumentLatency.ts | passingServerResponseTime": {
    "message": "Server responds quickly (observed {PH1})"
  },
  "models/trace/insights/DocumentLatency.ts | passingTextCompression": {
    "message": "Applies text compression"
  },
  "models/trace/insights/DocumentLatency.ts | redirectsLabel": {
    "message": "Redirects"
  },
  "models/trace/insights/DocumentLatency.ts | serverResponseTimeLabel": {
    "message": "Server response time"
  },
  "models/trace/insights/DocumentLatency.ts | title": {
    "message": "Document request latency"
  },
  "models/trace/insights/DocumentLatency.ts | uncompressedDownload": {
    "message": "Uncompressed download"
  },
  "models/trace/insights/DuplicatedJavaScript.ts | columnDuplicatedBytes": {
    "message": "Duplicated bytes"
  },
  "models/trace/insights/DuplicatedJavaScript.ts | columnSource": {
    "message": "Source"
  },
  "models/trace/insights/DuplicatedJavaScript.ts | description": {
    "message": "Remove large, [duplicate JavaScript modules](https://developer.chrome.com/docs/performance/insights/duplicated-javascript) from bundles to reduce unnecessary bytes consumed by network activity."
  },
  "models/trace/insights/DuplicatedJavaScript.ts | title": {
    "message": "Duplicated JavaScript"
  },
  "models/trace/insights/FontDisplay.ts | description": {
    "message": "Consider setting [font-display](https://developer.chrome.com/docs/performance/insights/font-display) to swap or optional to ensure that text is consistently visible. swap can be further optimised to mitigate layout shifts with [font metric overrides](https://developer.chrome.com/blog/font-fallbacks)."
  },
  "models/trace/insights/FontDisplay.ts | fontColumn": {
    "message": "Font"
  },
  "models/trace/insights/FontDisplay.ts | title": {
    "message": "Font display"
  },
  "models/trace/insights/FontDisplay.ts | wastedTimeColumn": {
    "message": "Wasted time"
  },
  "models/trace/insights/ForcedReflow.ts | anonymous": {
    "message": "(anonymous)"
  },
  "models/trace/insights/ForcedReflow.ts | description": {
    "message": "A forced reflow occurs when JavaScript queries geometric properties (such as offsetWidth) after styles have been invalidated by a change to the DOM state. This can result in poor performance. Learn more about [forced reflows](https://developer.chrome.com/docs/performance/insights/forced-reflow) and possible mitigations."
  },
  "models/trace/insights/ForcedReflow.ts | reflowCallFrames": {
    "message": "Call frames that trigger reflow"
  },
  "models/trace/insights/ForcedReflow.ts | title": {
    "message": "Forced reflow"
  },
  "models/trace/insights/ForcedReflow.ts | topTimeConsumingFunctionCall": {
    "message": "Top function call"
  },
  "models/trace/insights/ForcedReflow.ts | totalReflowTime": {
    "message": "Total reflow time"
  },
  "models/trace/insights/ForcedReflow.ts | unattributed": {
    "message": "[unattributed]"
  },
  "models/trace/insights/INPBreakdown.ts | description": {
    "message": "Start investigating [how to improve INP](https://developer.chrome.com/docs/performance/insights/inp-breakdown) by looking at the longest subpart."
  },
  "models/trace/insights/INPBreakdown.ts | duration": {
    "message": "Duration"
  },
  "models/trace/insights/INPBreakdown.ts | inputDelay": {
    "message": "Input delay"
  },
  "models/trace/insights/INPBreakdown.ts | noInteractions": {
    "message": "No interactions detected"
  },
  "models/trace/insights/INPBreakdown.ts | presentationDelay": {
    "message": "Presentation delay"
  },
  "models/trace/insights/INPBreakdown.ts | processingDuration": {
    "message": "Processing duration"
  },
  "models/trace/insights/INPBreakdown.ts | subpart": {
    "message": "Sub-part"
  },
  "models/trace/insights/INPBreakdown.ts | title": {
    "message": "INP breakdown"
  },
  "models/trace/insights/ImageDelivery.ts | description": {
    "message": "Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimising image size](https://developer.chrome.com/docs/performance/insights/image-delivery)"
  },
  "models/trace/insights/ImageDelivery.ts | estimatedSavings": {
    "message": "{PH1} (est {PH2})"
  },
  "models/trace/insights/ImageDelivery.ts | noOptimizableImages": {
    "message": "No optimisable images"
  },
  "models/trace/insights/ImageDelivery.ts | optimizeFile": {
    "message": "Optimise file size"
  },
  "models/trace/insights/ImageDelivery.ts | others": {
    "message": "{PH1} others"
  },
  "models/trace/insights/ImageDelivery.ts | title": {
    "message": "Improve image delivery"
  },
  "models/trace/insights/ImageDelivery.ts | useCompression": {
    "message": "Increasing the image compression factor could improve this image's download size."
  },
  "models/trace/insights/ImageDelivery.ts | useModernFormat": {
    "message": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size."
  },
  "models/trace/insights/ImageDelivery.ts | useResponsiveSize": {
    "message": "This image file is larger than it needs to be ({PH1}) for its displayed dimensions ({PH2}). Use responsive images to reduce the image download size."
  },
  "models/trace/insights/ImageDelivery.ts | useVideoFormat": {
    "message": "Using video formats instead of GIFs can improve the download size of animated content."
  },
  "models/trace/insights/LCPBreakdown.ts | description": {
    "message": "Each [sub-part has specific improvement strategies](https://developer.chrome.com/docs/performance/insights/lcp-breakdown). Ideally, most of the LCP time should be spent on loading the resources, not within delays."
  },
  "models/trace/insights/LCPBreakdown.ts | duration": {
    "message": "Duration"
  },
  "models/trace/insights/LCPBreakdown.ts | elementRenderDelay": {
    "message": "Element render delay"
  },
  "models/trace/insights/LCPBreakdown.ts | fieldDuration": {
    "message": "Field p75"
  },
  "models/trace/insights/LCPBreakdown.ts | noLcp": {
    "message": "No LCP detected"
  },
  "models/trace/insights/LCPBreakdown.ts | resourceLoadDelay": {
    "message": "Resource load delay"
  },
  "models/trace/insights/LCPBreakdown.ts | resourceLoadDuration": {
    "message": "Resource load duration"
  },
  "models/trace/insights/LCPBreakdown.ts | subpart": {
    "message": "Sub-part"
  },
  "models/trace/insights/LCPBreakdown.ts | timeToFirstByte": {
    "message": "Time to First Byte"
  },
  "models/trace/insights/LCPBreakdown.ts | title": {
    "message": "LCP breakdown"
  },
  "models/trace/insights/LCPDiscovery.ts | description": {
    "message": "[Optimise LCP](https://developer.chrome.com/docs/performance/insights/lcp-discovery) by making the LCP image discoverable from the HTML immediately, and avoiding lazy loading"
  },
  "models/trace/insights/LCPDiscovery.ts | fetchPriorityApplied": {
    "message": "fetchpriority=high applied"
  },
  "models/trace/insights/LCPDiscovery.ts | fetchPriorityShouldBeApplied": {
    "message": "fetchpriority=high should be applied"
  },
  "models/trace/insights/LCPDiscovery.ts | fetchPriorityShouldBeAppliedToImagePreload": {
    "message": "fetchpriority=high should be applied to the image preload request"
  },
  "models/trace/insights/LCPDiscovery.ts | lazyLoadNotApplied": {
    "message": "LCP resources should not use loading=lazy"
  },
  "models/trace/insights/LCPDiscovery.ts | lcpLoadDelay": {
    "message": "LCP image loaded {PH1} after earliest start point."
  },
  "models/trace/insights/LCPDiscovery.ts | noLcp": {
    "message": "No LCP detected"
  },
  "models/trace/insights/LCPDiscovery.ts | noLcpResource": {
    "message": "No LCP resource detected because the LCP is not an image"
  },
  "models/trace/insights/LCPDiscovery.ts | requestDiscoverable": {
    "message": "Request is discoverable in initial document"
  },
  "models/trace/insights/LCPDiscovery.ts | title": {
    "message": "LCP request discovery"
  },
  "models/trace/insights/LegacyJavaScript.ts | columnScript": {
    "message": "Script"
  },
  "models/trace/insights/LegacyJavaScript.ts | columnWastedBytes": {
    "message": "Wasted bytes"
  },
  "models/trace/insights/LegacyJavaScript.ts | description": {
    "message": "Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren't necessary for modern browsers. Consider modifying your JavaScript build process to not transpile [Baseline](https://web.dev/articles/baseline-and-polyfills) features, unless you know that you must support older browsers. [Learn why most sites can deploy ES6+ code without transpiling](https://developer.chrome.com/docs/performance/insights/legacy-javascript)"
  },
  "models/trace/insights/LegacyJavaScript.ts | title": {
    "message": "Legacy JavaScript"
  },
  "models/trace/insights/ModernHTTP.ts | description": {
    "message": "HTTP/2 and HTTP/3 offer many benefits over HTTP/1.1, such as multiplexing. [Learn more about using modern HTTP](https://developer.chrome.com/docs/performance/insights/modern-http)."
  },
  "models/trace/insights/ModernHTTP.ts | noOldProtocolRequests": {
    "message": "No requests used HTTP/1.1, or its current use of HTTP/1.1 does not present a significant optimisation opportunity. HTTP/1.1 requests are only flagged if six or more static assets originate from the same origin, and they are not served from a local development environment or a third-party source."
  },
  "models/trace/insights/ModernHTTP.ts | protocol": {
    "message": "Protocol"
  },
  "models/trace/insights/ModernHTTP.ts | request": {
    "message": "Request"
  },
  "models/trace/insights/ModernHTTP.ts | title": {
    "message": "Modern HTTP"
  },
  "models/trace/insights/NetworkDependencyTree.ts | columnOrigin": {
    "message": "Origin"
  },
  "models/trace/insights/NetworkDependencyTree.ts | columnRequest": {
    "message": "Request"
  },
  "models/trace/insights/NetworkDependencyTree.ts | columnSource": {
    "message": "Source"
  },
  "models/trace/insights/NetworkDependencyTree.ts | columnTime": {
    "message": "Time"
  },
  "models/trace/insights/NetworkDependencyTree.ts | columnWastedMs": {
    "message": "Est LCP savings"
  },
  "models/trace/insights/NetworkDependencyTree.ts | crossoriginWarning": {
    "message": "Unused preconnect. Check that the crossorigin attribute is used properly."
  },
  "models/trace/insights/NetworkDependencyTree.ts | description": {
    "message": "[Avoid chaining critical requests](https://developer.chrome.com/docs/performance/insights/network-dependency-tree) by reducing the length of chains, reducing the download size of resources or deferring the download of unnecessary resources to improve page load."
  },
  "models/trace/insights/NetworkDependencyTree.ts | estSavingTableDescription": {
    "message": "Add [preconnect](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/) hints to your most important origins, but try to use no more than 4."
  },
  "models/trace/insights/NetworkDependencyTree.ts | estSavingTableTitle": {
    "message": "Preconnect candidates"
  },
  "models/trace/insights/NetworkDependencyTree.ts | maxCriticalPathLatency": {
    "message": "Max critical path latency:"
  },
  "models/trace/insights/NetworkDependencyTree.ts | noNetworkDependencyTree": {
    "message": "No rendering tasks impacted by network dependencies"
  },
  "models/trace/insights/NetworkDependencyTree.ts | noPreconnectCandidates": {
    "message": "No additional origins are good candidates for preconnecting"
  },
  "models/trace/insights/NetworkDependencyTree.ts | noPreconnectOrigins": {
    "message": "no origins were preconnected"
  },
  "models/trace/insights/NetworkDependencyTree.ts | preconnectOriginsTableDescription": {
    "message": "[preconnect](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/) hints help the browser establish a connection earlier in the page load, saving time when the first request for that origin is made. The following are the origins that the page preconnected to."
  },
  "models/trace/insights/NetworkDependencyTree.ts | preconnectOriginsTableTitle": {
    "message": "Preconnected origins"
  },
  "models/trace/insights/NetworkDependencyTree.ts | title": {
    "message": "Network dependency tree"
  },
  "models/trace/insights/NetworkDependencyTree.ts | tooManyPreconnectLinksWarning": {
    "message": "More than 4 preconnect connections were found. These should be used sparingly and only to the most important origins."
  },
  "models/trace/insights/NetworkDependencyTree.ts | unusedWarning": {
    "message": "Unused preconnect. Only use preconnect for origins that the page is likely to request."
  },
  "models/trace/insights/NetworkDependencyTree.ts | warningDescription": {
    "message": "Avoid chaining critical requests by reducing the length of chains, reducing the download size of resources or deferring the download of unnecessary resources to improve page load."
  },
  "models/trace/insights/RenderBlocking.ts | description": {
    "message": "Requests are blocking the page's initial render, which may delay LCP. [Deferring or inlining](https://developer.chrome.com/docs/performance/insights/render-blocking) can move these network requests out of the critical path."
  },
  "models/trace/insights/RenderBlocking.ts | duration": {
    "message": "Duration"
  },
  "models/trace/insights/RenderBlocking.ts | noRenderBlocking": {
    "message": "No render-blocking requests for this navigation"
  },
  "models/trace/insights/RenderBlocking.ts | renderBlockingRequest": {
    "message": "Request"
  },
  "models/trace/insights/RenderBlocking.ts | title": {
    "message": "Render-blocking requests"
  },
  "models/trace/insights/SlowCSSSelector.ts | description": {
    "message": "If Recalculate Style costs remain high, selector optimisation can reduce them. [Optimise the selectors](https://developer.chrome.com/docs/performance/insights/slow-css-selector) with both a high elapsed time and high slow-path %. Simpler selectors, fewer selectors, a smaller DOM and a shallower DOM will all reduce matching costs."
  },
  "models/trace/insights/SlowCSSSelector.ts | elapsed": {
    "message": "Elapsed time"
  },
  "models/trace/insights/SlowCSSSelector.ts | enableSelectorData": {
    "message": "No CSS selector data was found. CSS selector stats need to be enabled in the performance panel settings."
  },
  "models/trace/insights/SlowCSSSelector.ts | matchAttempts": {
    "message": "Match attempts"
  },
  "models/trace/insights/SlowCSSSelector.ts | matchCount": {
    "message": "Match count"
  },
  "models/trace/insights/SlowCSSSelector.ts | title": {
    "message": "CSS selector costs"
  },
  "models/trace/insights/SlowCSSSelector.ts | topSelectorElapsedTime": {
    "message": "Top selector elapsed time"
  },
  "models/trace/insights/SlowCSSSelector.ts | topSelectorMatchAttempt": {
    "message": "Top selector match attempt"
  },
  "models/trace/insights/SlowCSSSelector.ts | topSelectors": {
    "message": "Top selectors"
  },
  "models/trace/insights/SlowCSSSelector.ts | total": {
    "message": "Total"
  },
  "models/trace/insights/ThirdParties.ts | columnMainThreadTime": {
    "message": "Main thread time"
  },
  "models/trace/insights/ThirdParties.ts | columnThirdParty": {
    "message": "Third party"
  },
  "models/trace/insights/ThirdParties.ts | columnTransferSize": {
    "message": "Transfer size"
  },
  "models/trace/insights/ThirdParties.ts | description": {
    "message": "Third-party code can significantly impact load performance. [Reduce and defer loading of third-party code](https://developer.chrome.com/docs/performance/insights/third-parties) to prioritise your page's content."
  },
  "models/trace/insights/ThirdParties.ts | noThirdParties": {
    "message": "No third parties found"
  },
  "models/trace/insights/ThirdParties.ts | title": {
    "message": "Third parties"
  },
  "models/trace/insights/Viewport.ts | description": {
    "message": "Tap interactions may be [delayed by up to 300\u00a0ms](https://developer.chrome.com/docs/performance/insights/viewport) if the viewport is not optimised for mobile."
  },
  "models/trace/insights/Viewport.ts | mobileTapDelayLabel": {
    "message": "Mobile tap delay"
  },
  "models/trace/insights/Viewport.ts | title": {
    "message": "Optimise viewport for mobile"
  },
  "panels/application/components/BackForwardCacheStrings.ts | HTTPMethodNotGET": {
    "message": "Only pages loaded via a GET request are eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | HTTPStatusNotOK": {
    "message": "Only pages with a status code of 2XX can be cached."
  },
  "panels/application/components/BackForwardCacheStrings.ts | JavaScriptExecution": {
    "message": "Chrome detected an attempt to execute JavaScript while in the cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | appBanner": {
    "message": "Pages that requested an AppBanner are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | backForwardCacheDisabled": {
    "message": "Back-forward cache is disabled by flags. Visit chrome://flags/#back-forward-cache to enable it locally on this device."
  },
  "panels/application/components/BackForwardCacheStrings.ts | backForwardCacheDisabledByCommandLine": {
    "message": "Back-forward cache is disabled by the command line."
  },
  "panels/application/components/BackForwardCacheStrings.ts | backForwardCacheDisabledByLowMemory": {
    "message": "Back-forward cache is disabled due to insufficient memory."
  },
  "panels/application/components/BackForwardCacheStrings.ts | backForwardCacheDisabledForDelegate": {
    "message": "Back-forward cache is not supported by delegate."
  },
  "panels/application/components/BackForwardCacheStrings.ts | backForwardCacheDisabledForPrerender": {
    "message": "Back-forward cache is disabled for pre-renderer."
  },
  "panels/application/components/BackForwardCacheStrings.ts | broadcastChannel": {
    "message": "The page cannot be cached because it has a BroadcastChannel instance with registered listeners."
  },
  "panels/application/components/BackForwardCacheStrings.ts | cacheControlNoStore": {
    "message": "Pages with cache-control:no-store header cannot enter back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | cacheFlushed": {
    "message": "The cache was intentionally cleared."
  },
  "panels/application/components/BackForwardCacheStrings.ts | cacheLimit": {
    "message": "The page was evicted from the cache to allow another page to be cached."
  },
  "panels/application/components/BackForwardCacheStrings.ts | containsPlugins": {
    "message": "Pages containing plug-ins are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentDiscarded": {
    "message": "Undefined"
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentFileChooser": {
    "message": "Pages that use FileChooser API are not eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentFileSystemAccess": {
    "message": "Pages that use file system access API are not eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentMediaDevicesDispatcherHost": {
    "message": "Pages that use media device dispatcher are not eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentMediaPlay": {
    "message": "A media player was playing upon navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentMediaSession": {
    "message": "Pages that use MediaSession API and set a playback state are not eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentMediaSessionService": {
    "message": "Pages that use MediaSession API and set action handlers are not eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentScreenReader": {
    "message": "Back-forward cache is disabled due to screen reader."
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentSecurityHandler": {
    "message": "Pages that use SecurityHandler are not eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentSerial": {
    "message": "Pages that use Serial API are not eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentWebAuthenticationAPI": {
    "message": "Pages that use WebAuthentication API are not eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentWebBluetooth": {
    "message": "Pages that use WebBluetooth API are not eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | contentWebUSB": {
    "message": "Pages that use WebUSB API are not eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | cookieDisabled": {
    "message": "Back/forward cache is disabled because cookies are disabled on a page that uses Cache-Control: no-store."
  },
  "panels/application/components/BackForwardCacheStrings.ts | dedicatedWorkerOrWorklet": {
    "message": "Pages that use a dedicated worker or worklet are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | documentLoaded": {
    "message": "The document did not finish loading before navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderAppBannerManager": {
    "message": "App banner was present upon navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderChromePasswordManagerClientBindCredentialManager": {
    "message": "Chrome Password Manager was present upon navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderDomDistillerSelfDeletingRequestDelegate": {
    "message": "DOM distillation was in progress upon navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderDomDistillerViewerSource": {
    "message": "DOM distiller viewer was present upon navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderExtensionMessaging": {
    "message": "Back-forward cache is disabled due to extensions using messaging API."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderExtensionMessagingForOpenPort": {
    "message": "Extensions with long-lived connection should close the connection before entering back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderExtensionSentMessageToCachedFrame": {
    "message": "Extensions with long-lived connection attempted to send messages to frames in back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderExtensions": {
    "message": "Back-forward cache is disabled due to extensions."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderModalDialog": {
    "message": "Modal dialogue such as form resubmission or HTTP password dialogue was shown for the page upon navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderOfflinePage": {
    "message": "The offline page was shown upon navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderOomInterventionTabHelper": {
    "message": "Out-of-memory intervention bar was present upon navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderPermissionRequestManager": {
    "message": "There were permission requests upon navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderPopupBlockerTabHelper": {
    "message": "Pop-up blocker was present upon navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderSafeBrowsingThreatDetails": {
    "message": "Safe Browsing details were shown upon navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | embedderSafeBrowsingTriggeredPopupBlocker": {
    "message": "Safe Browsing considered this page to be abusive and blocked the pop-up."
  },
  "panels/application/components/BackForwardCacheStrings.ts | enteredBackForwardCacheBeforeServiceWorkerHostAdded": {
    "message": "A service worker was activated while the page was in back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | errorDocument": {
    "message": "Back-forward cache is disabled due to a document error."
  },
  "panels/application/components/BackForwardCacheStrings.ts | fencedFramesEmbedder": {
    "message": "Pages using FencedFrames cannot be stored in bfcache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | foregroundCacheLimit": {
    "message": "The page was evicted from the cache to allow another page to be cached."
  },
  "panels/application/components/BackForwardCacheStrings.ts | grantedMediaStreamAccess": {
    "message": "Pages that have granted media stream access are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | haveInnerContents": {
    "message": "Pages that have certain kinds of embedded content (e.g. PDFs) are not currently eligible for back/forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | idleManager": {
    "message": "Pages that use IdleManager are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | indexedDBConnection": {
    "message": "Pages that have an open IndexedDB connection are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | indexedDBEvent": {
    "message": "Back/forward cache is disabled due to an IndexedDB event."
  },
  "panels/application/components/BackForwardCacheStrings.ts | ineligibleAPI": {
    "message": "Ineligible APIs were used."
  },
  "panels/application/components/BackForwardCacheStrings.ts | injectedJavascript": {
    "message": "Pages that JavaScript is injected into by extensions are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | injectedStyleSheet": {
    "message": "Pages that a StyleSheet is injected into by extensions are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | internalError": {
    "message": "Internal error."
  },
  "panels/application/components/BackForwardCacheStrings.ts | jsNetworkRequestReceivedCacheControlNoStoreResource": {
    "message": "Back/forward cache is disabled because some JavaScript network request received resource with Cache-Control: no-store header."
  },
  "panels/application/components/BackForwardCacheStrings.ts | keepaliveRequest": {
    "message": "Back/forward cache is disabled due to a keepalive request."
  },
  "panels/application/components/BackForwardCacheStrings.ts | keyboardLock": {
    "message": "Pages that use keyboard lock are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | loading": {
    "message": "The page did not finish loading before navigating away."
  },
  "panels/application/components/BackForwardCacheStrings.ts | mainResourceHasCacheControlNoCache": {
    "message": "Pages whose main resource has cache-control:no-cache cannot enter back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | mainResourceHasCacheControlNoStore": {
    "message": "Pages whose main resource has cache-control:no-store cannot enter back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | navigationCancelledWhileRestoring": {
    "message": "Navigation was cancelled before the page could be restored from back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | networkExceedsBufferLimit": {
    "message": "The page was evicted from the cache because an active network connection received too much data. Chrome limits the amount of data that a page may receive while cached."
  },
  "panels/application/components/BackForwardCacheStrings.ts | networkRequestDatapipeDrainedAsBytesConsumer": {
    "message": "Pages that have inflight fetch() or XHR are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | networkRequestRedirected": {
    "message": "The page was evicted from back-forward cache because an active network request involved a redirect."
  },
  "panels/application/components/BackForwardCacheStrings.ts | networkRequestTimeout": {
    "message": "The page was evicted from the cache because a network connection was open too long. Chrome limits the amount of time that a page may receive data while cached."
  },
  "panels/application/components/BackForwardCacheStrings.ts | noResponseHead": {
    "message": "Pages that do not have a valid response head cannot enter back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | notMainFrame": {
    "message": "Navigation happened in a frame other than the main frame."
  },
  "panels/application/components/BackForwardCacheStrings.ts | outstandingIndexedDBTransaction": {
    "message": "Pages with ongoing indexed DB transactions are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | outstandingNetworkRequestDirectSocket": {
    "message": "Pages with an in-flight network request are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | outstandingNetworkRequestFetch": {
    "message": "Pages with an in-flight fetch network request are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | outstandingNetworkRequestOthers": {
    "message": "Pages with an in-flight network request are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | outstandingNetworkRequestXHR": {
    "message": "Pages with an in-flight XHR network request are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | paymentManager": {
    "message": "Pages that use PaymentManager are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | pictureInPicture": {
    "message": "Pages that use picture-in-picture are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | printing": {
    "message": "Pages that show Printing UI are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | relatedActiveContentsExist": {
    "message": "The page was opened using 'window.open()' and another tab has a reference to it, or the page opened a window."
  },
  "panels/application/components/BackForwardCacheStrings.ts | rendererProcessCrashed": {
    "message": "The renderer process for the page in back-forward cache crashed."
  },
  "panels/application/components/BackForwardCacheStrings.ts | rendererProcessKilled": {
    "message": "The renderer process for the page in back-forward cache was killed."
  },
  "panels/application/components/BackForwardCacheStrings.ts | requestedAudioCapturePermission": {
    "message": "Pages that have requested audio capture permissions are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | requestedBackForwardCacheBlockedSensors": {
    "message": "Pages that have requested sensor permissions are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | requestedBackgroundWorkPermission": {
    "message": "Pages that have requested background sync or fetch permissions are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | requestedMIDIPermission": {
    "message": "Pages that have requested MIDI permissions are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | requestedNotificationsPermission": {
    "message": "Pages that have requested notifications permissions are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | requestedStorageAccessGrant": {
    "message": "Pages that have requested storage access are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | requestedVideoCapturePermission": {
    "message": "Pages that have requested video capture permissions are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | schemeNotHTTPOrHTTPS": {
    "message": "Only pages whose URL scheme is HTTP/HTTPS can be cached."
  },
  "panels/application/components/BackForwardCacheStrings.ts | serviceWorkerClaim": {
    "message": "The page was claimed by a service worker while it is in back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | serviceWorkerPostMessage": {
    "message": "A service worker attempted to send the page in back-forward cache a MessageEvent."
  },
  "panels/application/components/BackForwardCacheStrings.ts | serviceWorkerUnregistration": {
    "message": "ServiceWorker was unregistered while a page was in back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | serviceWorkerVersionActivation": {
    "message": "The page was evicted from back-forward cache due to a service worker activation."
  },
  "panels/application/components/BackForwardCacheStrings.ts | sessionRestored": {
    "message": "Chrome restarted and cleared the back-forward cache entries."
  },
  "panels/application/components/BackForwardCacheStrings.ts | sharedWorker": {
    "message": "Pages that use SharedWorker are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | sharedWorkerMessage": {
    "message": "The page was evicted from the cache because it received a message from a SharedWorker"
  },
  "panels/application/components/BackForwardCacheStrings.ts | speechRecognizer": {
    "message": "Pages that use SpeechRecogniser are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | speechSynthesis": {
    "message": "Pages that use SpeechSynthesis are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | subframeIsNavigating": {
    "message": "An iframe on the page started a navigation that did not complete."
  },
  "panels/application/components/BackForwardCacheStrings.ts | subresourceHasCacheControlNoCache": {
    "message": "Pages whose subresource has cache-control:no-cache cannot enter back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | subresourceHasCacheControlNoStore": {
    "message": "Pages whose subresource has cache-control:no-store cannot enter back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | timeout": {
    "message": "The page exceeded the maximum time in back-forward cache and expired."
  },
  "panels/application/components/BackForwardCacheStrings.ts | timeoutPuttingInCache": {
    "message": "The page timed out entering back-forward cache (likely due to long-running page-hide handlers)."
  },
  "panels/application/components/BackForwardCacheStrings.ts | unloadHandlerExistsInMainFrame": {
    "message": "The page has an unload handler in the main frame."
  },
  "panels/application/components/BackForwardCacheStrings.ts | unloadHandlerExistsInSubFrame": {
    "message": "The page has an unload handler in a sub frame."
  },
  "panels/application/components/BackForwardCacheStrings.ts | userAgentOverrideDiffers": {
    "message": "Browser has changed the user agent override header."
  },
  "panels/application/components/BackForwardCacheStrings.ts | wasGrantedMediaAccess": {
    "message": "Pages that have granted access to record video or audio are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webDatabase": {
    "message": "Pages that use WebDatabase are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webHID": {
    "message": "Pages that use WebHID are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webLocks": {
    "message": "Pages that use WebLocks are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webNfc": {
    "message": "Pages that use WebNfc are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webOTPService": {
    "message": "Pages that use WebOTPService are not currently eligible for bfcache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webRTC": {
    "message": "Pages with WebRTC cannot enter back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webRTCUsedWithCCNS": {
    "message": "Back-forward cache is disabled because WebRTC has been used."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webShare": {
    "message": "Pages that use WebShare are not currently eligible for back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webSocket": {
    "message": "Pages with WebSocket cannot enter back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webSocketUsedWithCCNS": {
    "message": "Back-forward cache is disabled because WebSocket has been used."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webTransport": {
    "message": "Pages with WebTransport cannot enter back-forward cache."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webTransportUsedWithCCNS": {
    "message": "Back-forward cache is disabled because WebTransport has been used."
  },
  "panels/application/components/BackForwardCacheStrings.ts | webXR": {
    "message": "Pages that use WebXR are not currently eligible for back-forward cache."
  }
}