diff --git a/DEPS b/DEPS
index 205a48c..a5ea80c 100644
--- a/DEPS
+++ b/DEPS
@@ -299,15 +299,15 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Skia
   # and whatever else without interference from each other.
-  'skia_revision': '11f351576a5e4471a227be2e772bab2ce5e989b6',
+  'skia_revision': '9b91a4116d136dc888f003e14d89b6d513e99202',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
-  'v8_revision': '9fda725f2bd38fa21bf2a6d14b145f2d0712da94',
+  'v8_revision': '037d626d067ec2de19df63cd9f11786dcd69d38f',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ANGLE
   # and whatever else without interference from each other.
-  'angle_revision': '47c0659eed56386d0f186b43935febeb188e347b',
+  'angle_revision': '5bc6bf325690953357be131fddf24b8e720cfe1a',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
@@ -315,7 +315,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling PDFium
   # and whatever else without interference from each other.
-  'pdfium_revision': 'bf5900a3c4b9236ea62816a0364081723e36c4c4',
+  'pdfium_revision': 'f3b6857934d2ff371834032a4c21defb56014d82',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling BoringSSL
   # and whatever else without interference from each other.
@@ -326,7 +326,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Fuchsia sdk
   # and whatever else without interference from each other.
-  'fuchsia_version': 'version:11.20230224.1.1',
+  'fuchsia_version': 'version:11.20230225.1.1',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling google-toolbox-for-mac
   # and whatever else without interference from each other.
@@ -386,7 +386,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling devtools-frontend
   # and whatever else without interference from each other.
-  'devtools_frontend_revision': 'a5aba44fc2de013e13e3b4f9fd546b6b41fc353a',
+  'devtools_frontend_revision': '120a1e8e38dfc634bb6a9ad9379029f1c4c20fc5',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libprotobuf-mutator
   # and whatever else without interference from each other.
@@ -426,7 +426,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'dawn_revision': '66d487395d293c983bde13e14709df6eb2bb01e4',
+  'dawn_revision': '0be37e0c508d41e2186616d642dc61a544389c3a',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -462,7 +462,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'cros_components_revision': '61efc14fdb40366c2936a7417d0e51b622c04140',
+  'cros_components_revision': '5a34ef44c32e6d004b57fc5166c4a7154f867b3c',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -764,12 +764,12 @@
 
   'src/clank': {
     'url': 'https://chrome-internal.googlesource.com/clank/internal/apps.git' + '@' +
-    'b329470859c82202292ab46084208133d3e93175',
+    '722f66cdac2700c33e47b4cc3513d2d1f1a81865',
     'condition': 'checkout_android and checkout_src_internal',
   },
 
   'src/docs/website': {
-    'url': Var('chromium_git') + '/website.git' + '@' + 'eb09307a93d163f2c783e744c447fa4ede2c9952',
+    'url': Var('chromium_git') + '/website.git' + '@' + '8fa7016c34d4a36ede3f0e2d7cf291c70b612b5a',
   },
 
   'src/ios/third_party/earl_grey2/src': {
@@ -793,7 +793,7 @@
   },
 
   'src/ios/third_party/material_components_ios/src': {
-      'url': Var('chromium_git') + '/external/github.com/material-components/material-components-ios.git' + '@' + '1bc41723e9be3e37abe3466cd6efbfc1f1b8291c',
+      'url': Var('chromium_git') + '/external/github.com/material-components/material-components-ios.git' + '@' + 'e8159d079e5dfc88a53ed2ce59a5b68bef7d8503',
       'condition': 'checkout_ios',
   },
 
@@ -863,7 +863,7 @@
       'packages': [
         {
           'package': 'chromium/rts/model/linux-amd64',
-          'version': 'FLhfHAx17YzXSdbmF7eISL0nf4fsCtY_ju01TFkvcbUC',
+          'version': 'JeXnUskpoCWRBr4lJzmSEJoWJSNr1Q9AH78D-8cDBy0C',
         },
       ],
       'dep_type': 'cipd',
@@ -874,7 +874,7 @@
       'packages': [
         {
           'package': 'chromium/rts/model/mac-amd64',
-          'version': 's9H4ZeSt-lpSVr5cjqMxg02vMnuK54jY_rjOsz7mI2kC',
+          'version': '88n2b8yoQtPCxlMXsoTBnBJZNnJjSEjesuCiNAnERPIC',
         },
       ],
       'dep_type': 'cipd',
@@ -885,7 +885,7 @@
       'packages': [
         {
           'package': 'chromium/rts/model/windows-amd64',
-          'version': 'DyCkRooEvy1UkWtjB7mo3WWDihjkX8rPS8EdXlMvOUEC',
+          'version': 'mXbvUKqMz5wrshxbG10HSWm9Xw-ZVoOFxcBm8BZnAkwC',
         },
       ],
       'dep_type': 'cipd',
@@ -953,7 +953,7 @@
     'packages': [
       {
           'package': 'chromium/third_party/androidx',
-          'version': 'HVT6AZFEOp03wRofqH4UWXIykRh5FB1G57nSWQe4NnIC',
+          'version': 'F5NYfthfngE6fmCZchMd0133XW15UCBALwEBue8MuIsC',
       },
     ],
     'condition': 'checkout_android',
@@ -1206,13 +1206,13 @@
   },
 
   'src/third_party/depot_tools':
-    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'eee53367c1fab7b7ca150ee45aacafb4103c4ed2',
+    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '9144b67c7f037577516ebdfe220997560bd01e14',
 
   'src/third_party/devtools-frontend/src':
     Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'),
 
   'src/third_party/devtools-frontend-internal': {
-      'url': 'https://chrome-internal.googlesource.com/devtools/devtools-internal.git' + '@' + '662b0054b1948acace069f2ea35876de6aebe5f4',
+      'url': 'https://chrome-internal.googlesource.com/devtools/devtools-internal.git' + '@' + '38c0619f644ebf98b511feb2b9983e3874f8188d',
     'condition': 'checkout_src_internal',
   },
 
@@ -1869,7 +1869,7 @@
     Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + '6c8361e98f1daba65902f5e2fc1297893ac14b67',
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + '7d81b9b14431d15486e7c14ad3750eb6e831c4ad',
+    Var('webrtc_git') + '/src.git' + '@' + '0b57f209d5f4c83c48aa64fa98aa81ec91a27808',
 
   # Wuffs' canonical repository is at github.com/google/wuffs, but we use
   # Skia's mirror of Wuffs, the same as in upstream Skia's DEPS file.
@@ -1939,7 +1939,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@ccb3f8c25d8f5d607c34165291a22bcf3b87460d',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@da8bb1b7dc2ee7ec7ac5b16818ed6b629f84d404',
     'condition': 'checkout_src_internal',
   },
 
@@ -1969,7 +1969,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/help_app/app',
-        'version': 'PJeh6GqC4O15yWMQ21BT6YV5tppB0aaR3p1mzQyP7YgC',
+        'version': 'vD37vodWcG1_A4Cx9dUI9vkiMjkR8_UoCenGT38QqUcC',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
@@ -1991,7 +1991,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/projector_app/app',
-        'version': 'CdNm_70vmzrQauI4JLMzdXxI9xWYW1B1xaf93ZP1qe8C',
+        'version': 'jJgajghcNfduuOM5VkfaD3rjsNPgnwxhEwWbo8Nxlq0C',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
diff --git a/apps/saved_files_service.cc b/apps/saved_files_service.cc
index 3211f591..b881140 100644
--- a/apps/saved_files_service.cc
+++ b/apps/saved_files_service.cc
@@ -24,6 +24,7 @@
 #include "extensions/common/permissions/api_permission.h"
 #include "extensions/common/permissions/permission_set.h"
 #include "extensions/common/permissions/permissions_data.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 
 namespace apps {
 
@@ -103,7 +104,7 @@
 // Clears all SavedFileEntry for the app from ExtensionPrefs.
 void ClearSavedFileEntries(ExtensionPrefs* prefs,
                            const std::string& extension_id) {
-  prefs->UpdateExtensionPref(extension_id, kFileEntries, nullptr);
+  prefs->UpdateExtensionPref(extension_id, kFileEntries, absl::nullopt);
 }
 
 // Returns all SavedFileEntries for the app.
diff --git a/ash/app_list/app_list_controller_impl.cc b/ash/app_list/app_list_controller_impl.cc
index 148205d..802db3f 100644
--- a/ash/app_list/app_list_controller_impl.cc
+++ b/ash/app_list/app_list_controller_impl.cc
@@ -1428,6 +1428,10 @@
   return ShelfConfig::Get()->GetSystemShelfSizeInTabletMode();
 }
 
+int AppListControllerImpl::GetSystemShelfInsetsInTabletMode() {
+  return ShelfConfig::Get()->GetSystemShelfInsetsInTabletMode();
+}
+
 bool AppListControllerImpl::IsInTabletMode() {
   return Shell::Get()->tablet_mode_controller()->InTabletMode();
 }
diff --git a/ash/app_list/app_list_controller_impl.h b/ash/app_list/app_list_controller_impl.h
index d8568819..c98b620b 100644
--- a/ash/app_list/app_list_controller_impl.h
+++ b/ash/app_list/app_list_controller_impl.h
@@ -193,6 +193,7 @@
   AppListViewState GetAppListViewState() const override;
   void OnViewStateChanged(AppListViewState state) override;
   int GetShelfSize() override;
+  int GetSystemShelfInsetsInTabletMode() override;
   bool IsInTabletMode() override;
 
   // Notifies observers of AppList visibility changes.
diff --git a/ash/app_list/app_list_test_view_delegate.cc b/ash/app_list/app_list_test_view_delegate.cc
index 1a46bd0..38488d18 100644
--- a/ash/app_list/app_list_test_view_delegate.cc
+++ b/ash/app_list/app_list_test_view_delegate.cc
@@ -180,6 +180,10 @@
   return 56;
 }
 
+int AppListTestViewDelegate::GetSystemShelfInsetsInTabletMode() {
+  return GetShelfSize();
+}
+
 bool AppListTestViewDelegate::AppListTargetVisibility() const {
   return true;
 }
diff --git a/ash/app_list/app_list_test_view_delegate.h b/ash/app_list/app_list_test_view_delegate.h
index 3cdc499..9da3d23 100644
--- a/ash/app_list/app_list_test_view_delegate.h
+++ b/ash/app_list/app_list_test_view_delegate.h
@@ -98,6 +98,7 @@
       AppLaunchedMetricParams* metric_params) override;
   gfx::Rect SnapBoundsToDisplayEdge(const gfx::Rect& bounds) override;
   int GetShelfSize() override;
+  int GetSystemShelfInsetsInTabletMode() override;
   bool AppListTargetVisibility() const override;
   bool IsInTabletMode() override;
   AppListNotifier* GetNotifier() override;
diff --git a/ash/app_list/app_list_view_delegate.h b/ash/app_list/app_list_view_delegate.h
index d6de38b9..d42a2790 100644
--- a/ash/app_list/app_list_view_delegate.h
+++ b/ash/app_list/app_list_view_delegate.h
@@ -162,6 +162,9 @@
   // ShelfConfig.
   virtual int GetShelfSize() = 0;
 
+  // Gets the tablet mode shelf insets from the ShelfConfig.
+  virtual int GetSystemShelfInsetsInTabletMode() = 0;
+
   // Returns whether tablet mode is currently enabled.
   virtual bool IsInTabletMode() = 0;
 
diff --git a/ash/app_list/views/app_list_view.cc b/ash/app_list/views/app_list_view.cc
index 51c72c15..c490b6d 100644
--- a/ash/app_list/views/app_list_view.cc
+++ b/ash/app_list/views/app_list_view.cc
@@ -405,7 +405,8 @@
 }
 
 gfx::Insets AppListView::GetMainViewInsetsForShelf() const {
-  return gfx::Insets::TLBR(0, 0, delegate_->GetShelfSize(), 0);
+  return gfx::Insets::TLBR(0, 0, delegate_->GetSystemShelfInsetsInTabletMode(),
+                           0);
 }
 
 void AppListView::UpdateWidget() {
diff --git a/ash/capture_mode/capture_mode_controller.cc b/ash/capture_mode/capture_mode_controller.cc
index c192eb0..5437a6af 100644
--- a/ash/capture_mode/capture_mode_controller.cc
+++ b/ash/capture_mode/capture_mode_controller.cc
@@ -198,10 +198,8 @@
 base::FilePath DoSaveFile(scoped_refptr<base::RefCountedMemory> data,
                           const base::FilePath& path) {
   DCHECK(data);
-  const int size = static_cast<int>(data->size());
-  DCHECK(size);
-  if (size != base::WriteFile(
-                  path, reinterpret_cast<const char*>(data->front()), size)) {
+  DCHECK(data->size());
+  if (!base::WriteFile(path, *data)) {
     LOG(ERROR) << "Failed to save file: " << path;
     return base::FilePath();
   }
diff --git a/ash/constants/ash_features.cc b/ash/constants/ash_features.cc
index 316e8b8..8b83981 100644
--- a/ash/constants/ash_features.cc
+++ b/ash/constants/ash_features.cc
@@ -1533,7 +1533,7 @@
 // gesture or keyboard shortcut.
 BASE_FEATURE(kOverviewDeskNavigation,
              "OverviewDeskNavigation",
-             base::FEATURE_DISABLED_BY_DEFAULT);
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Enables a notification warning users that their Thunderbolt device is not
 // supported on their CrOS device.
diff --git a/ash/public/cpp/shelf_config.h b/ash/public/cpp/shelf_config.h
index 4c8df71..dceea4f 100644
--- a/ash/public/cpp/shelf_config.h
+++ b/ash/public/cpp/shelf_config.h
@@ -105,6 +105,9 @@
   // HotseatWidget::GetHotseatSize() to get the actual widget size.
   int GetHotseatSize(HotseatDensity density) const;
 
+  // Returns the padding between the shelf and elevated homecher.
+  int GetHomecherElevatedAppBarOffset() const;
+
   // Size of the shelf when visible (height when the shelf is horizontal and
   // width when the shelf is vertical).
   int shelf_size() const;
@@ -201,6 +204,10 @@
 
   bool in_overview_mode() const { return overview_mode_; }
 
+  bool elevate_tablet_mode_app_bar() const {
+    return elevate_tablet_mode_app_bar_;
+  }
+
   // Gets the current color for the shelf control buttons.
   SkColor GetShelfControlButtonColor(const views::Widget* widget) const;
 
@@ -235,6 +242,15 @@
   // Size of the shelf in tablet mode.
   int GetSystemShelfSizeInTabletMode() const;
 
+  // Size of the insets used in tablet mode to allocate space to the shelf.
+  int GetSystemShelfInsetsInTabletMode() const;
+
+  // Minimum size for the inline app bar.
+  int GetMinimumInlineAppBarSize() const;
+
+  // Updates 'elevate_tablet_mode_app_bar_' for `inline_app_bar_size`.
+  void UpdateShowElevatedAppBar(const gfx::Size& inline_app_bar_size);
+
  private:
   friend class ShelfConfigTest;
 
@@ -265,33 +281,36 @@
   bool CalculateIsInApp(bool app_list_visible,
                         bool virtual_keyboard_shown) const;
 
+  // Whether tablet mode homecher should use elevated app bar.
+  bool elevate_tablet_mode_app_bar_ = false;
+
   // Whether the in app shelf should be shown in overview mode.
-  bool use_in_app_shelf_in_overview_;
+  bool use_in_app_shelf_in_overview_ = false;
 
   // True if device is currently in overview mode.
-  bool overview_mode_;
+  bool overview_mode_ = false;
 
   // True if device is currently in tablet mode.
-  bool in_tablet_mode_;
+  bool in_tablet_mode_ = false;
 
   // Whether shelf is currently standard or dense.
-  bool is_dense_;
+  bool is_dense_ = false;
 
   // Whether the shelf is currently in in-app state.
-  bool is_in_app_;
+  bool is_in_app_ = false;
 
   // Whether the device is in split view. Only tracked in overview mode.
-  bool in_split_view_with_overview_;
+  bool in_split_view_with_overview_ = false;
 
   // Whether the shelf buttons (navigation controls, and overview tray button)
   // should be shown.
-  bool shelf_controls_shown_;
+  bool shelf_controls_shown_ = false;
 
   // Whether virtual IME keyboard is shown.
-  bool is_virtual_keyboard_shown_;
+  bool is_virtual_keyboard_shown_ = false;
 
   // Whether the app list (or home launcher in tablet mode) is visible.
-  bool is_app_list_visible_;
+  bool is_app_list_visible_ = false;
 
   // Size of the icons within shelf buttons.
   const int shelf_button_icon_size_;
diff --git a/ash/shelf/hotseat_widget.cc b/ash/shelf/hotseat_widget.cc
index 7c85738..5872d90 100644
--- a/ash/shelf/hotseat_widget.cc
+++ b/ash/shelf/hotseat_widget.cc
@@ -833,10 +833,18 @@
       break;
     case HotseatState::kShownHomeLauncher:
       // When the hotseat state is HotseatState::kShownHomeLauncher, the home
-      // launcher is showing in tablet mode. Elevate the hotseat a few px to
-      // match the navigation and status area.
+      // launcher is showing in tablet mode. Elevate the hotseat
+      // to be hotseat_bottom_padding() above the bottom of the screen to be
+      // in line with the navigation and status area.
       hotseat_distance_from_bottom_of_display =
           hotseat_size + ShelfConfig::Get()->hotseat_bottom_padding();
+      // Elevate the hotseat app bar to a second row above the navigation and
+      // status area if needed.
+      if (ShelfConfig::Get()->elevate_tablet_mode_app_bar()) {
+        hotseat_distance_from_bottom_of_display +=
+            hotseat_size +
+            ShelfConfig::Get()->GetHomecherElevatedAppBarOffset();
+      }
       break;
     case HotseatState::kHidden:
       // Show the hotseat offscreen.
@@ -874,10 +882,26 @@
     return gfx::Size(shelf_bounds.width(), hotseat_size);
   }
 
+  gfx::Size app_bar_size = CalculateInlineAppBarSize();
+
+  if (hotseat_target_state == HotseatState::kShownHomeLauncher) {
+    if (ShelfConfig::Get()->elevate_tablet_mode_app_bar()) {
+      return gfx::Size(shelf_bounds.width(), hotseat_size);
+    }
+  }
+  return app_bar_size;
+}
+
+gfx::Size HotseatWidget::CalculateInlineAppBarSize() const {
+  const gfx::Rect shelf_bounds = shelf_->shelf_widget()->GetTargetBounds();
   const gfx::Size status_size =
       shelf_->status_area_widget()->GetTargetBounds().size();
   const gfx::Rect nav_bounds = shelf_->navigation_widget()->GetVisibleBounds();
 
+  // |hotseat_size| is the height in horizontal alignment or the width in
+  // vertical alignment.
+  const int hotseat_size = GetHotseatSize();
+
   // The navigation widget has extra padding on the hotseat side, to center the
   // buttons inside of it. Make sure to get the extra nav widget padding and
   // take it into account when calculating the hotseat size.
@@ -910,6 +934,12 @@
   const HotseatState hotseat_target_state =
       layout_manager->CalculateHotseatState(layout_manager->visibility_state(),
                                             layout_manager->auto_hide_state());
+
+  gfx::Size app_bar_size = CalculateInlineAppBarSize();
+  if (hotseat_target_state == HotseatState::kShownHomeLauncher) {
+    ShelfConfig::Get()->UpdateShowElevatedAppBar(app_bar_size);
+  }
+
   const gfx::Size hotseat_target_size =
       CalculateTargetBoundsSize(hotseat_target_state);
 
@@ -932,10 +962,15 @@
         hotseat_target_state != HotseatState::kShownClamshell) {
       hotseat_x = shelf_bounds.x();
     } else {
-      hotseat_x = base::i18n::IsRTL()
-                      ? status_area_bounds.right() + group_margin
-                      : status_area_bounds.x() - group_margin -
-                            hotseat_target_size.width();
+      if (hotseat_target_state == HotseatState::kShownHomeLauncher &&
+          ShelfConfig::Get()->elevate_tablet_mode_app_bar()) {
+        hotseat_x = shelf_bounds.x();
+      } else {
+        hotseat_x = base::i18n::IsRTL()
+                        ? status_area_bounds.right() + group_margin
+                        : status_area_bounds.x() - group_margin -
+                              hotseat_target_size.width();
+      }
     }
 
     hotseat_origin =
diff --git a/ash/shelf/hotseat_widget.h b/ash/shelf/hotseat_widget.h
index c569596..eb41d57 100644
--- a/ash/shelf/hotseat_widget.h
+++ b/ash/shelf/hotseat_widget.h
@@ -114,6 +114,9 @@
   // Calculates the hotseat target bounds's size for the given target state.
   gfx::Size CalculateTargetBoundsSize(HotseatState hotseat_target_state) const;
 
+  // Calculates space available for app bar if shown inline with shelf.
+  gfx::Size CalculateInlineAppBarSize() const;
+
   // ShelfComponent:
   void CalculateTargetBounds() override;
   gfx::Rect GetTargetBounds() const override;
diff --git a/ash/shelf/hotseat_widget_unittest.cc b/ash/shelf/hotseat_widget_unittest.cc
index 058137a..a3d621e7 100644
--- a/ash/shelf/hotseat_widget_unittest.cc
+++ b/ash/shelf/hotseat_widget_unittest.cc
@@ -86,21 +86,11 @@
         navigation_buttons_shown_in_tablet_mode_(std::get<2>(GetParam())) {
     if (is_assistant_enabled_)
       assistant_test_api_ = AssistantTestApi::Create();
-
-    std::vector<base::test::FeatureRef> enabled_features;
-    std::vector<base::test::FeatureRef> disabled_features;
-
-    if (navigation_buttons_shown_in_tablet_mode_) {
-      disabled_features.push_back(features::kHideShelfControlsInTabletMode);
-    } else {
-      enabled_features.push_back(features::kHideShelfControlsInTabletMode);
-    }
-    enabled_features.push_back(features::kShelfPalmRejectionSwipeOffset);
-    scoped_feature_list_.InitWithFeatures(enabled_features, disabled_features);
   }
 
   // testing::Test:
   void SetUp() override {
+    SetupFeatureLists();
     ShelfLayoutManagerTestBase::SetUp();
 
     if (is_assistant_enabled_) {
@@ -114,6 +104,19 @@
     }
   }
 
+  virtual void SetupFeatureLists() {
+    std::vector<base::test::FeatureRef> enabled_features;
+    std::vector<base::test::FeatureRef> disabled_features;
+
+    if (navigation_buttons_shown_in_tablet_mode()) {
+      disabled_features.push_back(features::kHideShelfControlsInTabletMode);
+    } else {
+      enabled_features.push_back(features::kHideShelfControlsInTabletMode);
+    }
+    enabled_features.push_back(features::kShelfPalmRejectionSwipeOffset);
+    scoped_feature_list_.InitWithFeatures(enabled_features, disabled_features);
+  }
+
   void TearDown() override {
     // Some tests may override this value, make sure it's reset.
     ui::PresentationTimeRecorder::SetReportPresentationTimeImmediatelyForTest(
@@ -218,6 +221,7 @@
   }
 
  private:
+  friend class StackedHotseatWidgetTest;
   const ShelfAutoHideBehavior shelf_auto_hide_behavior_;
   const bool is_assistant_enabled_;
   const bool navigation_buttons_shown_in_tablet_mode_;
@@ -225,6 +229,23 @@
   base::test::ScopedFeatureList scoped_feature_list_;
 };
 
+class StackedHotseatWidgetTest : public HotseatWidgetTest {
+ public:
+  void SetupFeatureLists() override {
+    std::vector<base::test::FeatureRef> enabled_features;
+    std::vector<base::test::FeatureRef> disabled_features;
+
+    if (navigation_buttons_shown_in_tablet_mode()) {
+      disabled_features.push_back(features::kHideShelfControlsInTabletMode);
+    } else {
+      enabled_features.push_back(features::kHideShelfControlsInTabletMode);
+    }
+    enabled_features.push_back(features::kShelfPalmRejectionSwipeOffset);
+    enabled_features.push_back(features::kShelfStackedHotseat);
+    scoped_feature_list_.InitWithFeatures(enabled_features, disabled_features);
+  }
+};
+
 // Counts the number of times the work area changes.
 class DisplayWorkAreaChangeCounter : public display::DisplayObserver {
  public:
@@ -338,6 +359,42 @@
         /*is_assistant_enabled*/ testing::Bool(),
         /*navigation_buttons_shown_in_tablet_mode*/ testing::Bool()));
 
+INSTANTIATE_TEST_SUITE_P(
+    All,
+    StackedHotseatWidgetTest,
+    testing::Combine(
+        testing::Values(ShelfAutoHideBehavior::kNever,
+                        ShelfAutoHideBehavior::kAlways),
+        /*is_assistant_enabled*/ testing::Bool(),
+        /*navigation_buttons_shown_in_tablet_mode*/ testing::Bool()));
+
+// TODO(b:270757104) Set status are widget sizes.
+TEST_P(StackedHotseatWidgetTest, StackedHotseatShownOnSmallScreens) {
+  UpdateDisplay("475x350");
+  TabletModeControllerTestApi().EnterTabletMode();
+  GetAppListTestHelper()->CheckVisibility(true);
+  const gfx::Rect hotseat_bounds = GetPrimaryShelf()
+                                       ->shelf_widget()
+                                       ->hotseat_widget()
+                                       ->GetWindowBoundsInScreen();
+  ASSERT_EQ(hotseat_bounds.bottom(),
+            350 - ShelfConfig::Get()->hotseat_bottom_padding() * 2 -
+                ShelfConfig::Get()->shelf_size());
+}
+
+// TODO(b:270757104) Set status are widget sizes.
+TEST_P(StackedHotseatWidgetTest, StackedHotseatNotShownOnLargeScreens) {
+  UpdateDisplay("800x600");
+  TabletModeControllerTestApi().EnterTabletMode();
+  GetAppListTestHelper()->CheckVisibility(true);
+  const gfx::Rect hotseat_bounds = GetPrimaryShelf()
+                                       ->shelf_widget()
+                                       ->hotseat_widget()
+                                       ->GetWindowBoundsInScreen();
+  ASSERT_EQ(hotseat_bounds.bottom(),
+            600 - ShelfConfig::Get()->hotseat_bottom_padding());
+}
+
 TEST_P(HotseatWidgetTest, LongPressHomeWithoutAppWindow) {
   GetPrimaryShelf()->SetAutoHideBehavior(shelf_auto_hide_behavior());
   TabletModeControllerTestApi().EnterTabletMode();
diff --git a/ash/shelf/shelf_app_button.h b/ash/shelf/shelf_app_button.h
index b2bbf24..5354c08 100644
--- a/ash/shelf/shelf_app_button.h
+++ b/ash/shelf/shelf_app_button.h
@@ -25,7 +25,7 @@
 class DotIndicator;
 class ShelfView;
 
-// Button used for app shortcuts on the shelf..
+// Button used for app shortcuts on the shelf.
 class ASH_EXPORT ShelfAppButton : public ShelfButton,
                                   public views::InkDropObserver,
                                   public ui::ImplicitAnimationObserver {
diff --git a/ash/shelf/shelf_config.cc b/ash/shelf/shelf_config.cc
index 810a984..0bef5fa 100644
--- a/ash/shelf/shelf_config.cc
+++ b/ash/shelf/shelf_config.cc
@@ -42,6 +42,7 @@
 
 constexpr int kSystemShelfSizeTabletModeDense = 48;
 constexpr int kSystemShelfSizeTabletModeNormal = 56;
+constexpr int kElevatedSystemShelfSizeTabletMode = 136;
 
 // Records the histogram value tracking the reason shelf control buttons are
 // shown in tablet mode.
@@ -140,16 +141,7 @@
 };
 
 ShelfConfig::ShelfConfig()
-    : use_in_app_shelf_in_overview_(false),
-      overview_mode_(false),
-      in_tablet_mode_(false),
-      is_dense_(false),
-      is_in_app_(true),
-      in_split_view_with_overview_(false),
-      shelf_controls_shown_(true),
-      is_virtual_keyboard_shown_(false),
-      is_app_list_visible_(false),
-      shelf_button_icon_size_(44),
+    : shelf_button_icon_size_(44),
       shelf_button_icon_size_median_(40),
       shelf_button_icon_size_dense_(36),
       shelf_button_size_(56),
@@ -337,6 +329,10 @@
   return GetShelfButtonSize(density);
 }
 
+int ShelfConfig::GetHomecherElevatedAppBarOffset() const {
+  return 8;
+}
+
 int ShelfConfig::shelf_size() const {
   return GetShelfSize(false /*ignore_in_app_state*/);
 }
@@ -548,6 +544,27 @@
                                    : kSystemShelfSizeTabletModeNormal;
 }
 
+int ShelfConfig::GetSystemShelfInsetsInTabletMode() const {
+  if (elevate_tablet_mode_app_bar_) {
+    return kElevatedSystemShelfSizeTabletMode;
+  } else {
+    return GetSystemShelfSizeInTabletMode();
+  }
+}
+
+int ShelfConfig::GetMinimumInlineAppBarSize() const {
+  return 6 * kSystemShelfSizeTabletModeDense + 5 * shelf_button_spacing_ +
+         2 * app_icon_end_padding_;
+}
+
+void ShelfConfig::UpdateShowElevatedAppBar(
+    const gfx::Size& inline_app_bar_size) {
+  if (features::IsShelfStackedHotseatEnabled()) {
+    elevate_tablet_mode_app_bar_ =
+        inline_app_bar_size.width() < GetMinimumInlineAppBarSize();
+  }
+}
+
 void ShelfConfig::UpdateConfigForAccessibilityState() {
   UpdateConfig(is_app_list_visible_, /*tablet_mode_changed=*/false);
 }
diff --git a/ash/system/input_device_settings/input_device_tracker.cc b/ash/system/input_device_settings/input_device_tracker.cc
index 9dbd903..79203a4 100644
--- a/ash/system/input_device_settings/input_device_tracker.cc
+++ b/ash/system/input_device_settings/input_device_tracker.cc
@@ -10,6 +10,7 @@
 #include "ash/constants/ash_features.h"
 #include "ash/session/session_controller_impl.h"
 #include "ash/shell.h"
+#include "ash/system/input_device_settings/input_device_settings_controller_impl.h"
 #include "ash/system/input_device_settings/input_device_settings_pref_names.h"
 #include "base/containers/contains.h"
 #include "base/strings/string_piece_forward.h"
diff --git a/ash/system/input_device_settings/input_device_tracker_unittest.cc b/ash/system/input_device_settings/input_device_tracker_unittest.cc
index 11b4092..e7e8c37e 100644
--- a/ash/system/input_device_settings/input_device_tracker_unittest.cc
+++ b/ash/system/input_device_settings/input_device_tracker_unittest.cc
@@ -4,6 +4,7 @@
 
 #include "ash/system/input_device_settings/input_device_tracker.h"
 
+#include "ash/public/mojom/input_device_settings.mojom.h"
 #include "ash/session/session_controller_impl.h"
 #include "ash/shell.h"
 #include "ash/system/input_device_settings/input_device_settings_pref_names.h"
diff --git a/ash/system/input_device_settings/pref_handlers/keyboard_pref_handler_impl.cc b/ash/system/input_device_settings/pref_handlers/keyboard_pref_handler_impl.cc
index 77d4393..4b2d845 100644
--- a/ash/system/input_device_settings/pref_handlers/keyboard_pref_handler_impl.cc
+++ b/ash/system/input_device_settings/pref_handlers/keyboard_pref_handler_impl.cc
@@ -3,14 +3,15 @@
 // found in the LICENSE file.
 
 #include "ash/system/input_device_settings/pref_handlers/keyboard_pref_handler_impl.h"
-#include "ash/constants/ash_pref_names.h"
 
+#include "ash/constants/ash_pref_names.h"
 #include "ash/public/mojom/input_device_settings.mojom-shared.h"
 #include "ash/public/mojom/input_device_settings.mojom.h"
 #include "ash/shell.h"
 #include "ash/system/input_device_settings/input_device_settings_defaults.h"
 #include "ash/system/input_device_settings/input_device_settings_pref_names.h"
 #include "ash/system/input_device_settings/input_device_settings_utils.h"
+#include "ash/system/input_device_settings/input_device_tracker.h"
 #include "base/containers/fixed_flat_map.h"
 #include "base/containers/flat_map.h"
 #include "base/strings/string_number_conversions.h"
@@ -18,6 +19,7 @@
 #include "components/prefs/pref_service.h"
 #include "ui/chromeos/events/mojom/modifier_key.mojom-shared.h"
 #include "ui/chromeos/events/mojom/modifier_key.mojom.h"
+#include "ui/chromeos/events/pref_names.h"
 
 namespace ash {
 namespace {
diff --git a/ash/system/input_device_settings/pref_handlers/keyboard_pref_handler_unittest.cc b/ash/system/input_device_settings/pref_handlers/keyboard_pref_handler_unittest.cc
index 88aa23d..edc7cbb 100644
--- a/ash/system/input_device_settings/pref_handlers/keyboard_pref_handler_unittest.cc
+++ b/ash/system/input_device_settings/pref_handlers/keyboard_pref_handler_unittest.cc
@@ -2,14 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ash/constants/ash_pref_names.h"
-#include "ash/public/mojom/input_device_settings.mojom-shared.h"
-#include "ash/shell.h"
-#include "ash/system/input_device_settings/input_device_settings_defaults.h"
 #include "ash/system/input_device_settings/pref_handlers/keyboard_pref_handler_impl.h"
 
+#include "ash/constants/ash_pref_names.h"
+#include "ash/public/mojom/input_device_settings.mojom-shared.h"
 #include "ash/public/mojom/input_device_settings.mojom.h"
+#include "ash/shell.h"
+#include "ash/system/input_device_settings/input_device_settings_defaults.h"
 #include "ash/system/input_device_settings/input_device_settings_pref_names.h"
+#include "ash/system/input_device_settings/input_device_tracker.h"
 #include "ash/test/ash_test_base.h"
 #include "base/containers/contains.h"
 #include "base/strings/string_number_conversions.h"
diff --git a/ash/system/input_device_settings/pref_handlers/mouse_pref_handler_unittest.cc b/ash/system/input_device_settings/pref_handlers/mouse_pref_handler_unittest.cc
index 7a4117b6..d1a2328d 100644
--- a/ash/system/input_device_settings/pref_handlers/mouse_pref_handler_unittest.cc
+++ b/ash/system/input_device_settings/pref_handlers/mouse_pref_handler_unittest.cc
@@ -9,6 +9,7 @@
 #include "ash/shell.h"
 #include "ash/system/input_device_settings/input_device_settings_defaults.h"
 #include "ash/system/input_device_settings/input_device_settings_pref_names.h"
+#include "ash/system/input_device_settings/input_device_tracker.h"
 #include "ash/test/ash_test_base.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/testing_pref_service.h"
diff --git a/ash/system/input_device_settings/pref_handlers/touchpad_pref_handler_unittest.cc b/ash/system/input_device_settings/pref_handlers/touchpad_pref_handler_unittest.cc
index 0a683a0..118ea51 100644
--- a/ash/system/input_device_settings/pref_handlers/touchpad_pref_handler_unittest.cc
+++ b/ash/system/input_device_settings/pref_handlers/touchpad_pref_handler_unittest.cc
@@ -2,13 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ash/constants/ash_pref_names.h"
-#include "ash/system/input_device_settings/input_device_settings_defaults.h"
 #include "ash/system/input_device_settings/pref_handlers/touchpad_pref_handler_impl.h"
 
+#include "ash/constants/ash_pref_names.h"
 #include "ash/public/mojom/input_device_settings.mojom.h"
 #include "ash/shell.h"
+#include "ash/system/input_device_settings/input_device_settings_defaults.h"
 #include "ash/system/input_device_settings/input_device_settings_pref_names.h"
+#include "ash/system/input_device_settings/input_device_tracker.h"
 #include "ash/test/ash_test_base.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/testing_pref_service.h"
@@ -384,4 +385,4 @@
   CheckTouchpadSettingsAndDictAreEqual(settings_, *settings_dict);
 }
 
-}  // namespace ash
\ No newline at end of file
+}  // namespace ash
diff --git a/ash/system/message_center/notification_grouping_controller_unittest.cc b/ash/system/message_center/notification_grouping_controller_unittest.cc
index 1c0f0d55..2f0f486 100644
--- a/ash/system/message_center/notification_grouping_controller_unittest.cc
+++ b/ash/system/message_center/notification_grouping_controller_unittest.cc
@@ -18,8 +18,6 @@
 #include "ui/color/color_id.h"
 #include "ui/compositor/scoped_animation_duration_scale_mode.h"
 #include "ui/compositor/test/layer_animation_stopped_waiter.h"
-#include "ui/events/test/event_generator.h"
-#include "ui/gfx/geometry/vector2d.h"
 #include "ui/gfx/vector_icon_types.h"
 #include "ui/message_center/public/cpp/message_center_constants.h"
 #include "ui/message_center/public/cpp/notification_types.h"
@@ -573,4 +571,50 @@
   EXPECT_FALSE(message_center->FindNotificationById(id0));
 }
 
+TEST_P(NotificationGroupingControllerTest,
+       ChildNotificationsWithDifferentPriorities) {
+  auto* message_center = MessageCenter::Get();
+  std::string id0, id1, id2;
+  const GURL url(u"http://test-url.com/");
+
+  // Create 2 notifications with low priority, the parent notification should be
+  // low priority as well.
+  auto notification = MakeNotification(id0, url);
+  notification->set_priority(message_center::LOW_PRIORITY);
+  message_center->AddNotification(std::move(notification));
+
+  notification = MakeNotification(id1, url);
+  notification->set_priority(message_center::LOW_PRIORITY);
+  message_center->AddNotification(std::move(notification));
+
+  std::string id_parent = id0 + kIdSuffixForGroupContainerNotification;
+  auto* parent_notification = message_center->FindNotificationById(id_parent);
+  ASSERT_TRUE(parent_notification->group_parent());
+  ASSERT_EQ(message_center::LOW_PRIORITY, parent_notification->priority());
+
+  // Now create another notification in the group with normal priority. Parent
+  // should still have the same id and have normal priority now.
+  id2 = AddNotificationWithOriginUrl(url);
+  parent_notification = message_center->FindNotificationById(id_parent);
+  ASSERT_TRUE(parent_notification);
+  ASSERT_EQ(message_center::DEFAULT_PRIORITY, parent_notification->priority());
+
+  // There should be 4 notifications now (no duplicates created).
+  EXPECT_EQ(4u, message_center->GetVisibleNotifications().size());
+
+  // Remove one child then add back. Parent notification is still retained with
+  // same id.
+  message_center->RemoveNotification(id0,
+                                     /*by_user=*/false);
+  notification = MakeNotification(id0, url);
+  notification->set_priority(message_center::LOW_PRIORITY);
+  message_center->AddNotification(std::move(notification));
+
+  parent_notification = message_center->FindNotificationById(id_parent);
+  ASSERT_TRUE(parent_notification->group_parent());
+
+  // Should have no duplicates.
+  EXPECT_EQ(4u, message_center->GetVisibleNotifications().size());
+}
+
 }  // namespace ash
diff --git a/ash/system/update/update_notification_controller_unittest.cc b/ash/system/update/update_notification_controller_unittest.cc
index 9c32a8fa..a40861a9 100644
--- a/ash/system/update/update_notification_controller_unittest.cc
+++ b/ash/system/update/update_notification_controller_unittest.cc
@@ -133,8 +133,8 @@
   }
 
   void AddSlowBootFilePath(const base::FilePath& file_path) {
-    int bytes_written = base::WriteFile(file_path, "1\n", 2);
-    EXPECT_TRUE(bytes_written == 2);
+    bool success = base::WriteFile(file_path, "1\n");
+    EXPECT_TRUE(success);
     Shell::Get()
         ->system_notification_controller()
         ->update_->slow_boot_file_path_ = file_path;
diff --git a/base/i18n/icu_util.cc b/base/i18n/icu_util.cc
index d34884ac..c63a1c3 100644
--- a/base/i18n/icu_util.cc
+++ b/base/i18n/icu_util.cc
@@ -348,9 +348,6 @@
 #endif  // BUILDFLAG(IS_ANDROID)
 }
 
-const char kICUDataFile[] = "ICU.DataFile";
-const char kICUCreateInstance[] = "ICU.CreateInstance";
-
 enum class ICUCreateInstance {
   kCharacterBreakIterator = 0,
   kWordBreakIterator = 1,
@@ -369,120 +366,6 @@
   kMaxValue = kChineseJapaneseBreakEngine
 };
 
-// Callback functions to report the opening of ICU Data File, and creation of
-// key objects to UMA. This help us to understand what built-in ICU data files
-// are rarely used in the user's machines and the distribution of ICU usage.
-static void U_CALLCONV TraceICUEntry(const void*, int32_t fn_number) {
-  switch (fn_number) {
-    case UTRACE_UBRK_CREATE_CHARACTER:
-      base::UmaHistogramEnumeration(kICUCreateInstance,
-                                    ICUCreateInstance::kCharacterBreakIterator);
-      break;
-    case UTRACE_UBRK_CREATE_SENTENCE:
-      base::UmaHistogramEnumeration(kICUCreateInstance,
-                                    ICUCreateInstance::kSentenceBreakIterator);
-      break;
-    case UTRACE_UBRK_CREATE_TITLE:
-      base::UmaHistogramEnumeration(kICUCreateInstance,
-                                    ICUCreateInstance::kTitleBreakIterator);
-      break;
-    case UTRACE_UBRK_CREATE_WORD:
-      base::UmaHistogramEnumeration(kICUCreateInstance,
-                                    ICUCreateInstance::kWordBreakIterator);
-      break;
-    default:
-      return;
-  }
-}
-
-static void U_CALLCONV TraceICUData(const void* context,
-                                    int32_t fn_number,
-                                    int32_t level,
-                                    const char* fmt,
-                                    va_list args) {
-  switch (fn_number) {
-    case UTRACE_UDATA_DATA_FILE: {
-      std::string icu_data_file_name(va_arg(args, const char*));
-      va_end(args);
-      // Skip icu version specified prefix if exist.
-      // path is prefixed with icu version prefix such as "icudt65l-".
-      // Histogram only the part after the -.
-      if (icu_data_file_name.find("icudt") == 0) {
-        size_t dash = icu_data_file_name.find("-");
-        if (dash != std::string::npos) {
-          icu_data_file_name = icu_data_file_name.substr(dash + 1);
-        }
-      }
-      // UmaHistogramSparse should track less than 100 values.
-      // We currently have about total 55 built-in data files inside ICU
-      // so it fit the UmaHistogramSparse usage.
-      int hash = base::HashMetricName(icu_data_file_name);
-      base::UmaHistogramSparse(kICUDataFile, hash);
-      return;
-    }
-    case UTRACE_UBRK_CREATE_LINE: {
-      const char* lb_type = va_arg(args, const char*);
-      auto lb_type_len = strlen(lb_type);
-      va_end(args);
-      ICUCreateInstance value;
-      if (lb_type_len < 6) {
-        DCHECK(strcmp(lb_type, "line") == 0);
-        value = ICUCreateInstance::kLineBreakIterator;
-      } else {
-        switch (lb_type[5]) {
-          case 'l':
-            DCHECK(strcmp(lb_type, "line_loose") == 0);
-            value = ICUCreateInstance::kLineBreakIteratorTypeLoose;
-            break;
-          case 'n':
-            DCHECK(strcmp(lb_type, "line_normal") == 0);
-            value = ICUCreateInstance::kLineBreakIteratorTypeNormal;
-            break;
-          case 's':
-            DCHECK(strcmp(lb_type, "line_strict") == 0);
-            value = ICUCreateInstance::kLineBreakIteratorTypeStrict;
-            break;
-          default:
-            return;
-        }
-      }
-      base::UmaHistogramEnumeration(kICUCreateInstance, value);
-      return;
-    }
-    case UTRACE_UBRK_CREATE_BREAK_ENGINE: {
-      const char* script = va_arg(args, const char*);
-      va_end(args);
-      ICUCreateInstance value;
-      switch (script[0]) {
-        case 'H':
-          DCHECK(strcmp(script, "Hani") == 0);
-          value = ICUCreateInstance::kChineseJapaneseBreakEngine;
-          break;
-        case 'K':
-          DCHECK(strcmp(script, "Khmr") == 0);
-          value = ICUCreateInstance::kKhmerBreakEngine;
-          break;
-        case 'L':
-          DCHECK(strcmp(script, "Laoo") == 0);
-          value = ICUCreateInstance::kLaoBreakEngine;
-          break;
-        case 'M':
-          DCHECK(strcmp(script, "Mymr") == 0);
-          value = ICUCreateInstance::kBurmeseBreakEngine;
-          break;
-        case 'T':
-          DCHECK(strcmp(script, "Thai") == 0);
-          value = ICUCreateInstance::kThaiBreakEngine;
-          break;
-        default:
-          return;
-      }
-      base::UmaHistogramEnumeration(kICUCreateInstance, value);
-      return;
-    }
-  }
-}
-
 // Common initialization to run regardless of how ICU is initialized.
 // There are multiple exposed InitializeIcu* functions. This should be called
 // as at the end of (the last functions in the sequence of) these functions.
@@ -492,8 +375,6 @@
   // when requested.
   InitializeIcuTimeZone();
 
-  const void* context = nullptr;
-  utrace_setFunctions(context, TraceICUEntry, nullptr, TraceICUData);
   utrace_setLevel(UTRACE_VERBOSE);
   return true;
 }
diff --git a/base/json/json_file_value_serializer.cc b/base/json/json_file_value_serializer.cc
index a0333cae..d7d72c0 100644
--- a/base/json/json_file_value_serializer.cc
+++ b/base/json/json_file_value_serializer.cc
@@ -44,12 +44,7 @@
   if (!result)
     return false;
 
-  int data_size = static_cast<int>(json_string.size());
-  if (base::WriteFile(json_file_path_, json_string.data(), data_size) !=
-      data_size)
-    return false;
-
-  return true;
+  return base::WriteFile(json_file_path_, json_string);
 }
 
 JSONFileValueDeserializer::JSONFileValueDeserializer(
diff --git a/chrome/VERSION b/chrome/VERSION
index 0a9809c..7d945fc 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=113
 MINOR=0
-BUILD=5616
+BUILD=5618
 PATCH=0
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/OmniboxPedalDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/OmniboxPedalDelegateImpl.java
index 7324c13..0d5a247 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/OmniboxPedalDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/OmniboxPedalDelegateImpl.java
@@ -30,7 +30,6 @@
 import org.chromium.chrome.browser.omnibox.action.OmniboxPedalType;
 import org.chromium.chrome.browser.omnibox.suggestions.OmniboxPedalDelegate;
 import org.chromium.chrome.browser.omnibox.suggestions.SuggestionsMetrics;
-import org.chromium.chrome.browser.omnibox.suggestions.pedal.PedalViewProperties.PedalIcon;
 import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
 import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
 import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
@@ -185,7 +184,7 @@
     }
 
     @Override
-    public @NonNull PedalIcon getIcon(OmniboxPedal omniboxPedal) {
+    public @NonNull ChipIcon getIcon(OmniboxPedal omniboxPedal) {
         if (!omniboxPedal.hasPedalId()) {
             return getActionIcon(omniboxPedal);
         }
@@ -203,9 +202,9 @@
             case OmniboxPedalType.MANAGE_CHROME_SETTINGS:
             case OmniboxPedalType.VIEW_CHROME_HISTORY:
             case OmniboxPedalType.MANAGE_CHROME_ACCESSIBILITY:
-                return new PedalIcon(R.drawable.fre_product_logo, /*tintWithTextColor=*/false);
+                return new ChipIcon(R.drawable.fre_product_logo, /*tintWithTextColor=*/false);
             case OmniboxPedalType.PLAY_CHROME_DINO_GAME:
-                return new PedalIcon(R.drawable.ic_dino, /*tintWithTextColor=*/true);
+                return new ChipIcon(R.drawable.ic_dino, /*tintWithTextColor=*/true);
             default:
                 // Please confirm the icon for the new pedals in
                 // chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc, if the new pedal uses
@@ -213,18 +212,18 @@
                 assert false : "New pedals need to confirm the icon and add the list above.";
                 break;
         }
-        return new PedalIcon(R.drawable.fre_product_logo, /*tintWithTextColor=*/false);
+        return new ChipIcon(R.drawable.fre_product_logo, /*tintWithTextColor=*/false);
     }
 
     /** Returns the icon for an action that's not a pedal. */
-    private PedalIcon getActionIcon(OmniboxPedal omniboxPedal) {
+    private ChipIcon getActionIcon(OmniboxPedal omniboxPedal) {
         int omniboxActionType = omniboxPedal.getActionID();
 
         switch (omniboxActionType) {
             case OmniboxActionType.HISTORY_CLUSTERS:
-                return new PedalIcon(R.drawable.ic_journeys, /*tintWithTextColor=*/true);
+                return new ChipIcon(R.drawable.ic_journeys, /*tintWithTextColor=*/true);
             default:
-                return new PedalIcon(R.drawable.fre_product_logo, /*tintWithTextColor=*/false);
+                return new ChipIcon(R.drawable.fre_product_logo, /*tintWithTextColor=*/false);
         }
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabBaseStrategy.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabBaseStrategy.java
index 0ad13ad..f8a7310 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabBaseStrategy.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabBaseStrategy.java
@@ -128,6 +128,11 @@
 
         mHandleStrategyFactory = handleStrategyFactory;
         mIsFullscreen = fullscreenManager::getPersistentFullscreenMode;
+
+        // Initialize size info used for resize callback to skip the very first one that settles
+        // down to the initial height/width.
+        mHeight = MATCH_PARENT;
+        mWidth = MATCH_PARENT;
     }
 
     @Override
@@ -194,8 +199,7 @@
         attrs.y = 0;
         attrs.x = 0;
         mActivity.getWindow().setAttributes(attrs);
-        mOnResizedCallback.onResized(
-                mVersionCompat.getDisplayHeight(), mVersionCompat.getDisplayWidth());
+        maybeInvokeResizeCallback();
     }
 
     @Override
@@ -203,11 +207,25 @@
         // |mNavbarHeight| is zero now. Post the task instead.
         new Handler().post(() -> {
             initializeSize();
-            var attrs = mActivity.getWindow().getAttributes();
-            mOnResizedCallback.onResized(attrs.height, attrs.width);
+            maybeInvokeResizeCallback();
         });
     }
 
+    protected void maybeInvokeResizeCallback() {
+        WindowManager.LayoutParams attrs = mActivity.getWindow().getAttributes();
+        if (isFullHeight() || isFullscreen()) {
+            mOnResizedCallback.onResized(mDisplayHeight, mDisplayWidth);
+            mHeight = mDisplayHeight;
+            mWidth = mDisplayWidth;
+        } else {
+            if ((mHeight != attrs.height && mHeight > 0) || (mWidth != attrs.width && mWidth > 0)) {
+                mOnResizedCallback.onResized(attrs.height, attrs.width);
+            }
+            mHeight = attrs.height;
+            mWidth = attrs.width;
+        }
+    }
+
     @PartialCustomTabType
     public abstract int getStrategyType();
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabBottomSheetStrategy.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabBottomSheetStrategy.java
index 384e0a3..cb9889e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabBottomSheetStrategy.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabBottomSheetStrategy.java
@@ -156,8 +156,6 @@
 
         mUnclampedInitialHeight = initialHeight;
         mIsFixedHeight = isFixedHeight;
-        mHeight = MATCH_PARENT;
-        mWidth = MATCH_PARENT;
     }
 
     @Override
@@ -637,21 +635,6 @@
         mSpinnerView.setLayoutParams(lp);
     }
 
-    private void maybeInvokeResizeCallback() {
-        WindowManager.LayoutParams attrs = mActivity.getWindow().getAttributes();
-        if (isFullHeight() || isFullscreen()) {
-            mOnResizedCallback.onResized(mDisplayHeight, mDisplayWidth);
-            mHeight = mDisplayHeight;
-            mWidth = mDisplayWidth;
-        } else {
-            if ((mHeight != attrs.height && mHeight > 0) || (mWidth != attrs.width && mWidth > 0)) {
-                mOnResizedCallback.onResized(attrs.height, attrs.width);
-            }
-            mHeight = attrs.height;
-            mWidth = attrs.width;
-        }
-    }
-
     private void changeVisibilityNavbarButtons(boolean show) {
         View decorView = mActivity.getWindow().getDecorView();
         WindowInsetsControllerCompat controller =
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabSideSheetStrategy.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabSideSheetStrategy.java
index aec9d2c..222021f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabSideSheetStrategy.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabSideSheetStrategy.java
@@ -78,16 +78,6 @@
     }
 
     @Override
-    public void onPostInflationStartup() {
-        super.onPostInflationStartup();
-
-        if (mIsMaximized) {
-            mIsMaximized = false;
-            toggleMaximize(/*animate=*/false);
-        }
-    }
-
-    @Override
     @PartialCustomTabType
     public int getStrategyType() {
         return PartialCustomTabType.SIDE_SHEET;
@@ -169,22 +159,17 @@
     private void onMaximizeEnd(boolean animate) {
         if (isMaximized()) {
             if (mSheetOnRight) configureLayoutBeyondScreen(false);
-            notifyResized();
+            maybeInvokeResizeCallback();
         } else {
             // System UI dimensions are not settled yet. Post the task.
             new Handler().post(() -> {
                 if (mSheetOnRight) configureLayoutBeyondScreen(false);
                 initializeSize();
-                notifyResized();
+                maybeInvokeResizeCallback();
             });
         }
     }
 
-    private void notifyResized() {
-        var attrs = mActivity.getWindow().getAttributes();
-        mOnResizedCallback.onResized(attrs.height, attrs.width);
-    }
-
     @Override
     protected boolean isMaximized() {
         return mIsMaximized;
@@ -209,7 +194,7 @@
 
         initializeSize();
         updateShadowOffset();
-        // TODO(crbug.com/1406107): Check if we should invoke the resize callback
+        maybeInvokeResizeCallback();
     }
 
     @Override
@@ -274,19 +259,22 @@
     @Override
     protected void initializeSize() {
         initializeHeight();
-        mHeight = mDisplayHeight - mStatusbarHeight - mNavbarHeight;
 
         positionOnWindow();
         setCoordinatorLayoutHeight(MATCH_PARENT);
 
         updateDragBarVisibility(/*dragHandlebarVisibility*/ View.GONE);
+
+        if (mIsMaximized) {
+            mIsMaximized = false;
+            toggleMaximize(/*animate=*/false);
+        }
     }
 
     private void positionOnWindow() {
-        int width = calculateWidth(mUnclampedInitialWidth);
         WindowManager.LayoutParams attrs = mActivity.getWindow().getAttributes();
-        attrs.height = mHeight;
-        attrs.width = width;
+        attrs.height = mDisplayHeight - mStatusbarHeight - mNavbarHeight;
+        attrs.width = calculateWidth(mUnclampedInitialWidth);
 
         attrs.y = mStatusbarHeight;
         attrs.x = mSheetOnRight ? mVersionCompat.getDisplayWidth() - attrs.width : 0;
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabSideSheetStrategyTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabSideSheetStrategyTest.java
index b2758f6..e7f3fce0 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabSideSheetStrategyTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabSideSheetStrategyTest.java
@@ -231,7 +231,7 @@
 
     @Test
     public void enterAndExitMaximizeMode() {
-        var strategy = createPcctSideSheetStrategy(2000);
+        var strategy = createPcctSideSheetStrategy(700);
         assertFalse(getWindowAttributes().isFullscreen());
         int height = getWindowAttributes().height;
         int width = getWindowAttributes().width;
@@ -250,19 +250,46 @@
 
     @Test
     public void toggleMaximizeNoAnimation() {
-        var strategy = createPcctSideSheetStrategy(2000);
+        var strategy = createPcctSideSheetStrategy(700);
         int height = getWindowAttributes().height;
         int width = getWindowAttributes().width;
-        strategy.toggleMaximize(false);
+        strategy.toggleMaximize(/*animation=*/false);
         verify(mPCCTTestRule.mOnResizedCallback).onResized(eq(FULL_HEIGHT), eq(DEVICE_WIDTH));
 
-        strategy.toggleMaximize(false);
+        strategy.toggleMaximize(/*animation=*/false);
+        // Even without animation, we still need to wait for task to be idle, since we post
+        // the task for size init in |onMaximizeEnd|.
+        PartialCustomTabTestRule.waitForAnimationToFinish();
         assertEquals(height, getWindowAttributes().height);
         assertEquals(width, getWindowAttributes().width);
         verify(mPCCTTestRule.mOnResizedCallback).onResized(eq(height), eq(width));
     }
 
     @Test
+    public void maximizeAndFullscreen() {
+        // Ensure maximize -> fullscreen enter/exit -> comes back to maximize mode
+        var strategy = createPcctSideSheetStrategy(700);
+        strategy.setFullscreenSupplierForTesting(() -> mFullscreen);
+        int height = getWindowAttributes().height;
+        int width = getWindowAttributes().width;
+
+        strategy.toggleMaximize(true);
+        PartialCustomTabTestRule.waitForAnimationToFinish();
+        verify(mPCCTTestRule.mOnResizedCallback).onResized(eq(FULL_HEIGHT), eq(DEVICE_WIDTH));
+
+        mFullscreen = true;
+        strategy.onEnterFullscreen(null, null);
+        clearInvocations(mPCCTTestRule.mOnResizedCallback);
+
+        // Verify we get a single resize callback invocation when exiting fullscreen and restoring
+        // maximize mode.
+        mFullscreen = false;
+        strategy.onExitFullscreen(null);
+        PartialCustomTabTestRule.waitForAnimationToFinish();
+        verify(mPCCTTestRule.mOnResizedCallback).onResized(eq(FULL_HEIGHT), eq(DEVICE_WIDTH));
+    }
+
+    @Test
     public void sheetPosition() {
         assertPosition(LEFT, RTL, ACTIVITY_SIDE_SHEET_POSITION_DEFAULT);
         assertPosition(LEFT, RTL, ACTIVITY_SIDE_SHEET_POSITION_END);
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 33ba5d1..7d986a8 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3612,6 +3612,8 @@
       "download/bubble/download_bubble_controller.h",
       "download/bubble/download_bubble_prefs.cc",
       "download/bubble/download_bubble_prefs.h",
+      "download/bubble/download_bubble_ui_model_utils.cc",
+      "download/bubble/download_bubble_ui_model_utils.h",
       "download/bubble/download_display.cc",
       "download/bubble/download_display.h",
       "download/bubble/download_display_controller.cc",
diff --git a/chrome/browser/about_flags_browsertest.cc b/chrome/browser/about_flags_browsertest.cc
index 0e18e34..147a133 100644
--- a/chrome/browser/about_flags_browsertest.cc
+++ b/chrome/browser/about_flags_browsertest.cc
@@ -323,13 +323,7 @@
       base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(kSwitchName));
 }
 
-// Crashes on Win.  http://crbug.com/1108357
-#if BUILDFLAG(IS_WIN)
-#define MAYBE_ExpiryHidesFlag DISABLED_ExpiryHidesFlag
-#else
-#define MAYBE_ExpiryHidesFlag ExpiryHidesFlag
-#endif
-IN_PROC_BROWSER_TEST_P(AboutFlagsBrowserTest, MAYBE_ExpiryHidesFlag) {
+IN_PROC_BROWSER_TEST_P(AboutFlagsBrowserTest, ExpiryHidesFlag) {
   NavigateToFlagsPage();
   content::WebContents* contents =
       browser()->tab_strip_model()->GetActiveWebContents();
diff --git a/chrome/browser/ash/app_list/app_service/app_service_app_model_builder_unittest.cc b/chrome/browser/ash/app_list/app_service/app_service_app_model_builder_unittest.cc
index 2dc3a41..96f821b9 100644
--- a/chrome/browser/ash/app_list/app_service/app_service_app_model_builder_unittest.cc
+++ b/chrome/browser/ash/app_list/app_service/app_service_app_model_builder_unittest.cc
@@ -577,9 +577,8 @@
   // Creates a corrupted ordinal case.
   extensions::ExtensionPrefs* prefs =
       extensions::ExtensionPrefs::Get(profile_.get());
-  prefs->UpdateExtensionPref(
-      kHostedAppId, "page_ordinal",
-      std::make_unique<base::Value>("a corrupted ordinal"));
+  prefs->UpdateExtensionPref(kHostedAppId, "page_ordinal",
+                             base::Value("a corrupted ordinal"));
 
   // This should not assert or crash.
   CreateBuilder();
diff --git a/chrome/browser/ash/arc/input_overlay/ui/action_label.cc b/chrome/browser/ash/arc/input_overlay/ui/action_label.cc
index 59ed84c6..3bd0758 100644
--- a/chrome/browser/ash/arc/input_overlay/ui/action_label.cc
+++ b/chrome/browser/ash/arc/input_overlay/ui/action_label.cc
@@ -4,12 +4,14 @@
 
 #include "chrome/browser/ash/arc/input_overlay/ui/action_label.h"
 
+#include <string.h>
 #include <set>
 
 #include "ash/style/style_util.h"
 #include "chrome/app/vector_icons/vector_icons.h"
 #include "chrome/browser/ash/arc/input_overlay/constants.h"
 #include "chrome/browser/ash/arc/input_overlay/ui/action_view.h"
+#include "chrome/browser/ash/arc/input_overlay/util.h"
 #include "chrome/grit/generated_resources.h"
 #include "third_party/skia/include/core/SkColor.h"
 #include "ui/base/l10n/l10n_util.h"
@@ -90,9 +92,14 @@
 constexpr char kComma[] = ",";
 constexpr char kPeriod[] = ".";
 constexpr char kSlash[] = "/";
-constexpr char kBackSpace[] = "back";
-constexpr char kEnter[] = "enter";
+constexpr char kBackSpace[] = "⌫";
+constexpr char kEnter[] = "↵";
+constexpr char kSpace[] = "␣";
 constexpr char kEscape[] = "esc";
+// TODO(b/260937747): Remove for Alpha when AlphaV2 flag is removed.
+constexpr char kBackSpaceAlpha[] = "back";
+constexpr char kEnterAlpha[] = "enter";
+constexpr char kSpaceAlpha[] = "space";
 
 // Modifier keys.
 constexpr char kAlt[] = "alt";
@@ -343,9 +350,9 @@
     case ui::DomCode::SLASH:
       return kSlash;
     case ui::DomCode::BACKSPACE:
-      return kBackSpace;
+      return AllowReposition() ? kBackSpace : kBackSpaceAlpha;
     case ui::DomCode::ENTER:
-      return kEnter;
+      return AllowReposition() ? kEnter : kEnterAlpha;
     case ui::DomCode::ESCAPE:
       return kEscape;
     // Modifier keys.
@@ -360,6 +367,8 @@
       return kShift;
     case ui::DomCode::CAPS_LOCK:
       return kCap;
+    case ui::DomCode::SPACE:
+      return AllowReposition() ? kSpace : kSpaceAlpha;
     default:
       std::string dom_code_string =
           ui::KeycodeConverter::DomCodeToCodeString(code);
@@ -448,9 +457,7 @@
   SetHorizontalAlignment(gfx::ALIGN_CENTER);
   SetBorder(views::CreateEmptyBorder(
       gfx::Insets::VH(0, allow_reposition_ ? kSideInset : kSideInsetAlpha)));
-  SetAccessibleName(mouse_action_ == MouseAction::NONE
-                        ? label()->GetText()
-                        : base::UTF8ToUTF16(GetClassName()));
+  CustomizeAccessibilityName();
 }
 
 ActionLabel::ActionLabel(int radius,
@@ -484,12 +491,12 @@
 
 void ActionLabel::SetTextActionLabel(const std::string& text) {
   label()->SetText(base::UTF8ToUTF16(text));
-  SetAccessibleName(label()->GetText());
+  CustomizeAccessibilityName();
 }
 
 void ActionLabel::SetImageActionLabel(MouseAction mouse_action) {
-  SetAccessibleName(base::UTF8ToUTF16(GetClassName()));
   set_mouse_action(mouse_action);
+  CustomizeAccessibilityName();
 }
 
 void ActionLabel::SetDisplayMode(DisplayMode mode) {
@@ -736,4 +743,30 @@
   return base::UTF16ToUTF8(GetText()) == kUnknownBind;
 }
 
+void ActionLabel::CustomizeAccessibilityName() {
+  if (mouse_action_ != MouseAction::NONE) {
+    SetAccessibleName(base::UTF8ToUTF16(GetClassName()));
+    return;
+  }
+
+  if (!allow_reposition_) {
+    SetAccessibleName(label()->GetText());
+    return;
+  }
+
+  // TODO(b/260868602): Update the name.
+  const std::string text = base::UTF16ToUTF8(label()->GetText());
+  std::u16string name;
+  if (text.compare(kSpace) == 0) {
+    name = u"space";
+  } else if (text.compare(kEnter) == 0) {
+    name = u"enter";
+  } else if (text.compare(kBackSpace) == 0) {
+    name = u"backspace";
+  } else {
+    name = label()->GetText();
+  }
+  SetAccessibleName(name);
+}
+
 }  // namespace arc::input_overlay
diff --git a/chrome/browser/ash/arc/input_overlay/ui/action_label.h b/chrome/browser/ash/arc/input_overlay/ui/action_label.h
index f0bf169..178677f 100644
--- a/chrome/browser/ash/arc/input_overlay/ui/action_label.h
+++ b/chrome/browser/ash/arc/input_overlay/ui/action_label.h
@@ -106,6 +106,8 @@
   void SetBackgroundForEdit();
 
   bool IsInputUnbound();
+  // Customize a11y name.
+  void CustomizeAccessibilityName();
 
   bool allow_reposition_;
 };
diff --git a/chrome/browser/ash/web_applications/personalization_app/personalization_app_ambient_provider_impl.cc b/chrome/browser/ash/web_applications/personalization_app/personalization_app_ambient_provider_impl.cc
index f4ae55c..e1efee3 100644
--- a/chrome/browser/ash/web_applications/personalization_app/personalization_app_ambient_provider_impl.cc
+++ b/chrome/browser/ash/web_applications/personalization_app/personalization_app_ambient_provider_impl.cc
@@ -281,23 +281,21 @@
   if (!ambient_observer_remote_.is_bound())
     return;
 
-  // First, empty the WebUI store so it doesn't show the previously selected
-  // albums' previews. If |settings_->topic_source| is Google photos, refetch
-  // the previews because the selected albums may have changed. Otherwise, we
-  // fallback to the preview urls that comes with the albums.
+  // Empty the WebUI store so it doesn't show the previously selected albums'
+  // previews.
   OnPreviewsFetched(std::vector<GURL>());
-  if (settings_->topic_source == ash::AmbientModeTopicSource::kGooglePhotos)
-    FetchGooglePhotosAlbumsPreviews(settings_->selected_album_ids);
-
-  if (features::IsPersonalizationJellyEnabled() &&
-      settings_->topic_source == ash::AmbientModeTopicSource::kArtGallery) {
+  if (features::IsPersonalizationJellyEnabled()) {
     if (is_updating_backend_) {
       // Once settings updated, fetch preview images.
       needs_update_previews_ = true;
     } else {
       // Fetch preview images if settings have been updated.
-      FetchArtGalleryPreviews();
+      FetchPreviewImages();
     }
+  } else if (settings_->topic_source ==
+             ash::AmbientModeTopicSource::kGooglePhotos) {
+    // When Jelly is not enabled, only fetch google photos albums previews.
+    FetchGooglePhotosAlbumsPreviews(settings_->selected_album_ids);
   }
 
   ambient_observer_remote_->OnTopicSourceChanged(settings_->topic_source);
@@ -397,7 +395,7 @@
     update_settings_retry_backoff_.Reset();
     cached_settings_ = settings_sent_for_update_;
     if (needs_update_previews_) {
-      FetchArtGalleryPreviews();
+      FetchPreviewImages();
     }
   } else {
     update_settings_retry_backoff_.InformOfRequest(/*succeeded=*/false);
@@ -532,7 +530,7 @@
   OnTopicSourceChanged();
 }
 
-void PersonalizationAppAmbientProviderImpl::FetchArtGalleryPreviews() {
+void PersonalizationAppAmbientProviderImpl::FetchPreviewImages() {
   needs_update_previews_ = false;
   previews_weak_factory_.InvalidateWeakPtrs();
   ash::AmbientBackendController::Get()->FetchPreviewImages(
@@ -540,6 +538,7 @@
                      previews_weak_factory_.GetWeakPtr()));
 }
 
+// TODO(b/270434334): Remove when Jelly is enabled by default.
 void PersonalizationAppAmbientProviderImpl::FetchGooglePhotosAlbumsPreviews(
     const std::vector<std::string>& album_ids) {
   const int num_previews = features::IsPersonalizationJellyEnabled() ? 3 : 4;
diff --git a/chrome/browser/ash/web_applications/personalization_app/personalization_app_ambient_provider_impl.h b/chrome/browser/ash/web_applications/personalization_app/personalization_app_ambient_provider_impl.h
index 40793a3..0a81cf0 100644
--- a/chrome/browser/ash/web_applications/personalization_app/personalization_app_ambient_provider_impl.h
+++ b/chrome/browser/ash/web_applications/personalization_app/personalization_app_ambient_provider_impl.h
@@ -104,7 +104,7 @@
   // Update topic source if needed.
   void MaybeUpdateTopicSource(ash::AmbientModeTopicSource topic_source);
 
-  void FetchArtGalleryPreviews();
+  void FetchPreviewImages();
   void FetchGooglePhotosAlbumsPreviews(
       const std::vector<std::string>& album_ids);
   void OnPreviewsFetched(const std::vector<GURL>& preview_urls);
diff --git a/chrome/browser/ash/web_applications/personalization_app/personalization_app_ambient_provider_impl_unittest.cc b/chrome/browser/ash/web_applications/personalization_app/personalization_app_ambient_provider_impl_unittest.cc
index 8dd24c3..f7ec221 100644
--- a/chrome/browser/ash/web_applications/personalization_app/personalization_app_ambient_provider_impl_unittest.cc
+++ b/chrome/browser/ash/web_applications/personalization_app/personalization_app_ambient_provider_impl_unittest.cc
@@ -112,7 +112,7 @@
     return ambient_ui_visibility_;
   }
 
-  std::vector<GURL> google_photos_albums_previews() {
+  std::vector<GURL> previews() {
     ambient_observer_receiver_.FlushForTesting();
     return previews_;
   }
@@ -234,9 +234,9 @@
     return test_ambient_observer_.visibility();
   }
 
-  std::vector<GURL> ObservedGooglePhotosAlbumsPreviews() {
+  std::vector<GURL> ObservedPreviews() {
     ambient_provider_remote_.FlushForTesting();
-    return test_ambient_observer_.google_photos_albums_previews();
+    return test_ambient_observer_.previews();
   }
 
   absl::optional<ash::AmbientSettings>& settings() {
@@ -274,6 +274,8 @@
     ambient_provider_->SetAlbumSelected(id, topic_source, selected);
   }
 
+  void FetchPreviewImages() { ambient_provider_->FetchPreviewImages(); }
+
   ash::AmbientModeTopicSource TopicSource() {
     return ambient_provider_->settings_->topic_source;
   }
@@ -429,13 +431,20 @@
                                        ash::AmbientTheme::kFeelTheBreeze, 1);
 }
 
+TEST_F(PersonalizationAppAmbientProviderImplTest, FetchPreviewImages) {
+  SetAmbientObserver();
+  EXPECT_TRUE(ObservedPreviews().empty());
+  FetchPreviewImages();
+  EXPECT_FALSE(ObservedPreviews().empty());
+}
+
 TEST_F(PersonalizationAppAmbientProviderImplTest,
        ShouldCallOnTopicSourceChanged) {
   SetAmbientObserver();
   FetchSettings();
   ReplyFetchSettingsAndAlbums(/*success=*/true);
   EXPECT_EQ(ash::AmbientModeTopicSource::kGooglePhotos, ObservedTopicSource());
-  EXPECT_FALSE(ObservedGooglePhotosAlbumsPreviews().empty());
+  EXPECT_FALSE(ObservedPreviews().empty());
 
   SetTopicSource(ash::AmbientModeTopicSource::kArtGallery);
   EXPECT_EQ(ash::AmbientModeTopicSource::kArtGallery, ObservedTopicSource());
@@ -449,7 +458,7 @@
   // The fake albums are set in FakeAmbientBackendControllerImpl. Hidden setting
   // will be sent to JS side.
   EXPECT_EQ(4u, albums.size());
-  EXPECT_FALSE(ObservedGooglePhotosAlbumsPreviews().empty());
+  EXPECT_FALSE(ObservedPreviews().empty());
 }
 
 TEST_F(PersonalizationAppAmbientProviderImplTest,
diff --git a/chrome/browser/download/bubble/download_bubble_controller.cc b/chrome/browser/download/bubble/download_bubble_controller.cc
index 731b2cf..1cbe843 100644
--- a/chrome/browser/download/bubble/download_bubble_controller.cc
+++ b/chrome/browser/download/bubble/download_bubble_controller.cc
@@ -11,6 +11,7 @@
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/content_index/content_index_provider_impl.h"
 #include "chrome/browser/download/bubble/download_bubble_prefs.h"
+#include "chrome/browser/download/bubble/download_bubble_ui_model_utils.h"
 #include "chrome/browser/download/bubble/download_display_controller.h"
 #include "chrome/browser/download/chrome_download_manager_delegate.h"
 #include "chrome/browser/download/download_core_service.h"
@@ -47,18 +48,6 @@
   return candidate.id == to_find;
 }
 
-bool DownloadUIModelIsRecent(const DownloadUIModel* model,
-                             base::Time cutoff_time) {
-  return ((model->GetStartTime().is_null() && !model->IsDone()) ||
-          model->GetStartTime() > cutoff_time);
-}
-
-bool IsPendingDeepScanning(const DownloadUIModel& model) {
-  return model.GetState() == download::DownloadItem::IN_PROGRESS &&
-         model.GetDangerType() ==
-             download::DOWNLOAD_DANGER_TYPE_PROMPT_FOR_SCANNING;
-}
-
 using DownloadUIModelPtrList = std::list<DownloadUIModelPtr>;
 
 // Sorting order is 1) Active in-progress downloads, 2) Paused in-progress
@@ -262,7 +251,7 @@
   bool was_added = MaybeAddOfflineItem(item, /*is_new=*/false);
   OfflineItemModel model(offline_manager_, item);
   display_controller_->OnUpdatedItem(
-      model.IsDone(), IsPendingDeepScanning(model),
+      model.IsDone(), IsPendingDeepScanning(&model),
       was_added &&
           (browser_ == chrome::FindLastActiveWithProfile(profile_.get())));
 }
@@ -275,7 +264,7 @@
   DownloadItemModel model(item);
   if (manager != download_notifier_.GetManager()) {
     display_controller_->OnUpdatedItem(item->IsDone(),
-                                       IsPendingDeepScanning(model),
+                                       IsPendingDeepScanning(&model),
                                        /*may_show_details=*/false);
     return;
   }
@@ -283,7 +272,7 @@
       model.ShouldShowInBubble() &&
       (browser_ == chrome::FindLastActiveWithProfile(profile_.get()));
   display_controller_->OnUpdatedItem(
-      item->IsDone(), IsPendingDeepScanning(model), may_show_details);
+      item->IsDone(), IsPendingDeepScanning(&model), may_show_details);
 }
 
 void DownloadBubbleUIController::PruneOfflineItems() {
@@ -361,8 +350,9 @@
     if (!is_main_view && model->WasActionedOn()) {
       continue;
     }
-    // Partial view entries are removed if viewed on the main view.
-    if (is_main_view) {
+    // Partial view entries are removed if viewed on the main view after
+    // completion.
+    if (is_main_view && !IsModelInProgress(model.get())) {
       model->SetActionedOn(true);
     }
     items_to_return.push_back(std::move(model));
diff --git a/chrome/browser/download/bubble/download_bubble_controller_unittest.cc b/chrome/browser/download/bubble/download_bubble_controller_unittest.cc
index 30e3bb4..c1b2497 100644
--- a/chrome/browser/download/bubble/download_bubble_controller_unittest.cc
+++ b/chrome/browser/download/bubble/download_bubble_controller_unittest.cc
@@ -194,6 +194,7 @@
         .WillRepeatedly(Return(download::DownloadItem::DownloadCreationType::
                                    TYPE_ACTIVE_DOWNLOAD));
     EXPECT_CALL(item(index), IsPaused()).WillRepeatedly(Return(false));
+    EXPECT_CALL(item(index), IsDangerous()).WillRepeatedly(Return(false));
     // Functions called when checking ShouldShowDownloadStartedAnimation().
     EXPECT_CALL(item(index), IsSavePackageDownload())
         .WillRepeatedly(Return(false));
@@ -434,7 +435,7 @@
 }
 
 TEST_F(DownloadBubbleUIControllerTest,
-       OpeningMainViewRemovesEntryFromPartialView) {
+       OpeningMainViewRemovesCompletedEntryFromPartialView) {
   std::vector<std::string> ids = {"Download 1", "Offline 1"};
   InitDownloadItem(FILE_PATH_LITERAL("/foo/bar.pdf"),
                    download::DownloadItem::IN_PROGRESS, ids[0]);
@@ -443,11 +444,30 @@
   EXPECT_EQ(controller().GetPartialView().size(), 2ul);
   EXPECT_EQ(second_controller().GetPartialView().size(), 2ul);
 
-  EXPECT_EQ(controller().GetMainView().size(), 2ul);
+  UpdateDownloadItem(/*item_index=*/0, DownloadState::COMPLETE);
+  // Completed offline item is removed.
+  UpdateOfflineItem(/*item_index=*/0, OfflineItemState::COMPLETE);
+  EXPECT_EQ(controller().GetMainView().size(), 1ul);
+  // Download was removed from partial view because it is completed.
   EXPECT_EQ(controller().GetPartialView().size(), 0ul);
   EXPECT_EQ(second_controller().GetPartialView().size(), 0ul);
 }
 
+TEST_F(DownloadBubbleUIControllerTest,
+       OpeningMainViewDoesNotRemoveInProgressEntryFromPartialView) {
+  std::vector<std::string> ids = {"Download 1", "Offline 1"};
+  InitDownloadItem(FILE_PATH_LITERAL("/foo/bar.pdf"),
+                   download::DownloadItem::IN_PROGRESS, ids[0]);
+  InitOfflineItem(OfflineItemState::IN_PROGRESS, ids[1]);
+
+  EXPECT_EQ(controller().GetPartialView().size(), 2ul);
+
+  // This does not remove the entries from the partial view because the items
+  // are in progress.
+  EXPECT_EQ(controller().GetMainView().size(), 2ul);
+  EXPECT_EQ(controller().GetPartialView().size(), 2ul);
+}
+
 // Tests that no items are returned (i.e. no partial view will be shown) if it
 // is too soon since the last partial view has been shown.
 TEST_F(DownloadBubbleUIControllerTest, NoItemsReturnedForPartialViewTooSoon) {
@@ -457,7 +477,7 @@
   // First time showing the partial view should work.
   EXPECT_CALL(display_controller(), OnNewItem(true)).Times(1);
   InitDownloadItem(FILE_PATH_LITERAL("/foo/bar1.pdf"),
-                   download::DownloadItem::IN_PROGRESS, ids[0]);
+                   download::DownloadItem::COMPLETE, ids[0]);
   EXPECT_EQ(controller().GetPartialView().size(), 1u);
 
   // No items are returned for a partial view because it is too soon.
diff --git a/chrome/browser/download/bubble/download_bubble_ui_model_utils.cc b/chrome/browser/download/bubble/download_bubble_ui_model_utils.cc
new file mode 100644
index 0000000..e50d59f
--- /dev/null
+++ b/chrome/browser/download/bubble/download_bubble_ui_model_utils.cc
@@ -0,0 +1,27 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/download/bubble/download_bubble_ui_model_utils.h"
+
+#include "base/time/time.h"
+#include "chrome/browser/download/download_ui_model.h"
+
+bool DownloadUIModelIsRecent(const DownloadUIModel* model,
+                             base::Time cutoff_time) {
+  return ((model->GetStartTime().is_null() && !model->IsDone()) ||
+          model->GetStartTime() > cutoff_time);
+}
+
+bool IsPendingDeepScanning(const DownloadUIModel* model) {
+  return model->GetState() == download::DownloadItem::IN_PROGRESS &&
+         model->GetDangerType() ==
+             download::DOWNLOAD_DANGER_TYPE_PROMPT_FOR_SCANNING;
+}
+
+bool IsModelInProgress(const DownloadUIModel* model) {
+  if (model->IsDangerous() && !IsPendingDeepScanning(model)) {
+    return false;
+  }
+  return model->GetState() == download::DownloadItem::IN_PROGRESS;
+}
diff --git a/chrome/browser/download/bubble/download_bubble_ui_model_utils.h b/chrome/browser/download/bubble/download_bubble_ui_model_utils.h
new file mode 100644
index 0000000..173a58b
--- /dev/null
+++ b/chrome/browser/download/bubble/download_bubble_ui_model_utils.h
@@ -0,0 +1,24 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_DOWNLOAD_BUBBLE_DOWNLOAD_BUBBLE_UI_MODEL_UTILS_H_
+#define CHROME_BROWSER_DOWNLOAD_BUBBLE_DOWNLOAD_BUBBLE_UI_MODEL_UTILS_H_
+
+#include "base/time/time.h"
+#include "chrome/browser/download/download_ui_model.h"
+
+// Whether the download is more recent than |cutoff_time|.
+bool DownloadUIModelIsRecent(const DownloadUIModel* model,
+                             base::Time cutoff_time);
+
+// Whether the download is in progress and pending deep scanning.
+bool IsPendingDeepScanning(const DownloadUIModel* model);
+
+// Whether the download is considered in-progress from the UI's point of view.
+// Consider dangerous downloads as completed, because we don't want to encourage
+// users to interact with them. However, consider downloads pending scanning as
+// in progress, because we do want users to scan potential dangerous downloads.
+bool IsModelInProgress(const DownloadUIModel* model);
+
+#endif  // CHROME_BROWSER_DOWNLOAD_BUBBLE_DOWNLOAD_BUBBLE_UI_MODEL_UTILS_H_
diff --git a/chrome/browser/download/bubble/download_display_controller.cc b/chrome/browser/download/bubble/download_display_controller.cc
index f9511bb..9cf2cad 100644
--- a/chrome/browser/download/bubble/download_display_controller.cc
+++ b/chrome/browser/download/bubble/download_display_controller.cc
@@ -10,6 +10,7 @@
 #include "base/timer/timer.h"
 #include "chrome/browser/download/bubble/download_bubble_controller.h"
 #include "chrome/browser/download/bubble/download_bubble_prefs.h"
+#include "chrome/browser/download/bubble/download_bubble_ui_model_utils.h"
 #include "chrome/browser/download/bubble/download_display.h"
 #include "chrome/browser/download/bubble/download_icon_state.h"
 #include "chrome/browser/download/download_core_service.h"
@@ -61,19 +62,6 @@
   bool all_done = true;
 };
 
-bool IsPendingDeepScanning(const DownloadUIModel* model) {
-  return model->GetState() == download::DownloadItem::IN_PROGRESS &&
-         model->GetDangerType() ==
-             download::DOWNLOAD_DANGER_TYPE_PROMPT_FOR_SCANNING;
-}
-
-bool IsModelInProgress(const DownloadUIModel* model) {
-  if (model->IsDangerous() && !IsPendingDeepScanning(model)) {
-    return false;
-  }
-  return model->GetState() == download::DownloadItem::IN_PROGRESS;
-}
-
 AllDownloadUIModelsInfo GetAllModelsInfo(
     std::vector<std::unique_ptr<DownloadUIModel>>& all_models) {
   AllDownloadUIModelsInfo info;
diff --git a/chrome/browser/extensions/api/commands/command_service.cc b/chrome/browser/extensions/api/commands/command_service.cc
index 92e415e..eeddf88 100644
--- a/chrome/browser/extensions/api/commands/command_service.cc
+++ b/chrome/browser/extensions/api/commands/command_service.cc
@@ -87,8 +87,7 @@
   }
 
   extension_prefs->UpdateExtensionPref(
-      extension_id, kCommands,
-      std::make_unique<base::Value>(std::move(suggested_key_prefs)));
+      extension_id, kCommands, base::Value(std::move(suggested_key_prefs)));
 }
 
 }  // namespace
@@ -608,7 +607,7 @@
 
     extension_prefs->UpdateExtensionPref(
         extension->id(), kCommands,
-        std::make_unique<base::Value>(std::move(suggested_key_prefs)));
+        base::Value(std::move(suggested_key_prefs)));
   }
 }
 
diff --git a/chrome/browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc b/chrome/browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc
index 4ebb8b44..c815b32 100644
--- a/chrome/browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc
+++ b/chrome/browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc
@@ -245,11 +245,11 @@
   EXPECT_TRUE(cache_delegate->GetDeclarativeRulesStored(extension1_->id()));
 
   extension_prefs->UpdateExtensionPref(extension1_->id(), rules_stored_key,
-                                       std::make_unique<base::Value>(false));
+                                       base::Value(false));
   EXPECT_FALSE(cache_delegate->GetDeclarativeRulesStored(extension1_->id()));
 
   extension_prefs->UpdateExtensionPref(extension1_->id(), rules_stored_key,
-                                       std::make_unique<base::Value>(true));
+                                       base::Value(true));
   EXPECT_TRUE(cache_delegate->GetDeclarativeRulesStored(extension1_->id()));
 
   // 2. Test writing behavior.
@@ -342,7 +342,7 @@
 
   // Update the flag for the first registry.
   extension_prefs->UpdateExtensionPref(extension1_->id(), rules_stored_key1,
-                                       std::make_unique<base::Value>(false));
+                                       base::Value(false));
   EXPECT_FALSE(cache_delegate1->GetDeclarativeRulesStored(extension1_->id()));
   EXPECT_TRUE(cache_delegate2->GetDeclarativeRulesStored(extension1_->id()));
 }
diff --git a/chrome/browser/extensions/api/device_permissions_manager_unittest.cc b/chrome/browser/extensions/api/device_permissions_manager_unittest.cc
index 1a9316f..fb27a6f 100644
--- a/chrome/browser/extensions/api/device_permissions_manager_unittest.cc
+++ b/chrome/browser/extensions/api/device_permissions_manager_unittest.cc
@@ -308,9 +308,8 @@
       "    \"vendor_id\": 0"
       "  }"
       "]");
-  env_->GetExtensionPrefs()->UpdateExtensionPref(
-      extension_->id(), "devices",
-      base::Value::ToUniquePtrValue(std::move(prefs_value)));
+  env_->GetExtensionPrefs()->UpdateExtensionPref(extension_->id(), "devices",
+                                                 std::move(prefs_value));
 
   DevicePermissionsManager* manager =
       DevicePermissionsManager::Get(env_->profile());
diff --git a/chrome/browser/extensions/api/identity/identity_api.cc b/chrome/browser/extensions/api/identity/identity_api.cc
index 159a66f2..4a8d4ba3 100644
--- a/chrome/browser/extensions/api/identity/identity_api.cc
+++ b/chrome/browser/extensions/api/identity/identity_api.cc
@@ -35,6 +35,7 @@
 #include "extensions/common/permissions/permission_set.h"
 #include "extensions/common/permissions/permissions_data.h"
 #include "google_apis/gaia/gaia_urls.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 #include "url/gurl.h"
 
 namespace extensions {
@@ -62,7 +63,7 @@
                                         const std::string& gaia_id) {
   DCHECK(!gaia_id.empty());
   extension_prefs_->UpdateExtensionPref(extension_id, kIdentityGaiaIdPref,
-                                        std::make_unique<base::Value>(gaia_id));
+                                        base::Value(gaia_id));
 }
 
 absl::optional<std::string> IdentityAPI::GetGaiaIdForExtension(
@@ -77,7 +78,7 @@
 
 void IdentityAPI::EraseGaiaIdForExtension(const std::string& extension_id) {
   extension_prefs_->UpdateExtensionPref(extension_id, kIdentityGaiaIdPref,
-                                        nullptr);
+                                        absl::nullopt);
 }
 
 void IdentityAPI::EraseStaleGaiaIdsForAllExtensions() {
diff --git a/chrome/browser/extensions/api/module/module.cc b/chrome/browser/extensions/api/module/module.cc
index 029e4c85..3fc03181 100644
--- a/chrome/browser/extensions/api/module/module.cc
+++ b/chrome/browser/extensions/api/module/module.cc
@@ -31,8 +31,7 @@
   }
 
   ExtensionPrefs::Get(browser_context())
-      ->UpdateExtensionPref(extension_id(), kUpdateURLData,
-                            std::make_unique<base::Value>(data));
+      ->UpdateExtensionPref(extension_id(), kUpdateURLData, base::Value(data));
   return RespondNow(NoArguments());
 }
 
diff --git a/chrome/browser/extensions/api/omnibox/omnibox_api.cc b/chrome/browser/extensions/api/omnibox/omnibox_api.cc
index 1ed264c..c9791050 100644
--- a/chrome/browser/extensions/api/omnibox/omnibox_api.cc
+++ b/chrome/browser/extensions/api/omnibox/omnibox_api.cc
@@ -81,9 +81,8 @@
   // Add the content field so that the dictionary can be used to populate an
   // omnibox::SuggestResult.
   dict.Set(kSuggestionContent, base::Value(base::Value::Type::STRING));
-  prefs->UpdateExtensionPref(
-      extension_id, kOmniboxDefaultSuggestion,
-      base::Value::ToUniquePtrValue(base::Value(std::move(dict))));
+  prefs->UpdateExtensionPref(extension_id, kOmniboxDefaultSuggestion,
+                             base::Value(std::move(dict)));
 
   return true;
 }
diff --git a/chrome/browser/extensions/api/preference/preference_api.cc b/chrome/browser/extensions/api/preference/preference_api.cc
index 58cea81..87e670be 100644
--- a/chrome/browser/extensions/api/preference/preference_api.cc
+++ b/chrome/browser/extensions/api/preference/preference_api.cc
@@ -524,15 +524,13 @@
   if (incognito) {
     ExtensionPrefs::Get(profile_)->UpdateExtensionPref(
         extension_id, pref_names::kPrefIncognitoContentSettings,
-        base::Value::ToUniquePtrValue(
-            base::Value(content_settings_store()->GetSettingsForExtension(
-                extension_id, kExtensionPrefsScopeIncognitoPersistent))));
+        base::Value(content_settings_store()->GetSettingsForExtension(
+            extension_id, kExtensionPrefsScopeIncognitoPersistent)));
   } else {
     ExtensionPrefs::Get(profile_)->UpdateExtensionPref(
         extension_id, pref_names::kPrefContentSettings,
-        base::Value::ToUniquePtrValue(
-            base::Value(content_settings_store()->GetSettingsForExtension(
-                extension_id, kExtensionPrefsScopeRegular))));
+        base::Value(content_settings_store()->GetSettingsForExtension(
+            extension_id, kExtensionPrefsScopeRegular)));
   }
 }
 
diff --git a/chrome/browser/extensions/chrome_app_sorting.cc b/chrome/browser/extensions/chrome_app_sorting.cc
index 7a9c985..587bc8a 100644
--- a/chrome/browser/extensions/chrome_app_sorting.cc
+++ b/chrome/browser/extensions/chrome_app_sorting.cc
@@ -28,6 +28,7 @@
 #include "extensions/common/constants.h"
 #include "extensions/common/extension.h"
 #include "extensions/common/manifest_handlers/app_display_info.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 #include "chrome/browser/ash/extensions/default_app_order.h"
@@ -135,7 +136,8 @@
 
       page = PageIntegerAsStringOrdinal(old_page_index);
       SetPageOrdinal(*ext_id, page);
-      prefs->UpdateExtensionPref(*ext_id, kPrefPageIndexDeprecated, nullptr);
+      prefs->UpdateExtensionPref(*ext_id, kPrefPageIndexDeprecated,
+                                 absl::nullopt);
     }
 
     int old_app_launch_index = 0;
@@ -151,7 +153,7 @@
         app_launches_to_convert[page][old_app_launch_index] = &*ext_id;
 
       prefs->UpdateExtensionPref(*ext_id, kPrefAppLaunchIndexDeprecated,
-                                 nullptr);
+                                 absl::nullopt);
     }
   }
 
@@ -367,11 +369,11 @@
     return;
   }
 
-  std::unique_ptr<base::Value> new_value =
-      new_app_launch_ordinal.IsValid()
-          ? std::make_unique<base::Value>(
-                new_app_launch_ordinal.ToInternalValue())
-          : nullptr;
+  absl::optional<base::Value> new_value;
+  if (new_app_launch_ordinal.IsValid()) {
+    new_value = base::Value(new_app_launch_ordinal.ToInternalValue());
+  }
+
   ExtensionPrefs::Get(browser_context_)
       ->UpdateExtensionPref(extension_id, kPrefAppLaunchOrdinal,
                             std::move(new_value));
@@ -453,10 +455,10 @@
     return;
   }
 
-  std::unique_ptr<base::Value> new_value =
-      new_page_ordinal.IsValid()
-          ? std::make_unique<base::Value>(new_page_ordinal.ToInternalValue())
-          : nullptr;
+  absl::optional<base::Value> new_value;
+  if (new_page_ordinal.IsValid()) {
+    new_value = base::Value(new_page_ordinal.ToInternalValue());
+  }
 
   ExtensionPrefs::Get(browser_context_)
       ->UpdateExtensionPref(extension_id, kPrefPageOrdinal,
@@ -470,8 +472,9 @@
                        GetAppLaunchOrdinal(extension_id));
 
   ExtensionPrefs* prefs = ExtensionPrefs::Get(browser_context_);
-  prefs->UpdateExtensionPref(extension_id, kPrefPageOrdinal, nullptr);
-  prefs->UpdateExtensionPref(extension_id, kPrefAppLaunchOrdinal, nullptr);
+  prefs->UpdateExtensionPref(extension_id, kPrefPageOrdinal, absl::nullopt);
+  prefs->UpdateExtensionPref(extension_id, kPrefAppLaunchOrdinal,
+                             absl::nullopt);
 }
 
 int ChromeAppSorting::PageStringOrdinalAsInteger(
diff --git a/chrome/browser/extensions/chrome_app_sorting_unittest.cc b/chrome/browser/extensions/chrome_app_sorting_unittest.cc
index 507c944..4d6f85a4 100644
--- a/chrome/browser/extensions/chrome_app_sorting_unittest.cc
+++ b/chrome/browser/extensions/chrome_app_sorting_unittest.cc
@@ -158,22 +158,19 @@
 
     // Setup the deprecated preferences.
     prefs()->UpdateExtensionPref(extension1()->id(),
-                                 kPrefAppLaunchIndexDeprecated,
-                                 std::make_unique<base::Value>(0));
+                                 kPrefAppLaunchIndexDeprecated, base::Value(0));
     prefs()->UpdateExtensionPref(extension1()->id(), kPrefPageIndexDeprecated,
-                                 std::make_unique<base::Value>(0));
+                                 base::Value(0));
 
     prefs()->UpdateExtensionPref(extension2()->id(),
-                                 kPrefAppLaunchIndexDeprecated,
-                                 std::make_unique<base::Value>(1));
+                                 kPrefAppLaunchIndexDeprecated, base::Value(1));
     prefs()->UpdateExtensionPref(extension2()->id(), kPrefPageIndexDeprecated,
-                                 std::make_unique<base::Value>(0));
+                                 base::Value(0));
 
     prefs()->UpdateExtensionPref(extension3()->id(),
-                                 kPrefAppLaunchIndexDeprecated,
-                                 std::make_unique<base::Value>(0));
+                                 kPrefAppLaunchIndexDeprecated, base::Value(0));
     prefs()->UpdateExtensionPref(extension3()->id(), kPrefPageIndexDeprecated,
-                                 std::make_unique<base::Value>(1));
+                                 base::Value(1));
 
     // We insert the ids in reverse order so that we have to deal with the
     // element on the 2nd page before the 1st page is seen.
@@ -258,10 +255,9 @@
 
     // Setup the deprecated preference.
     prefs()->UpdateExtensionPref(extension1()->id(),
-                                 kPrefAppLaunchIndexDeprecated,
-                                 std::make_unique<base::Value>(0));
+                                 kPrefAppLaunchIndexDeprecated, base::Value(0));
     prefs()->UpdateExtensionPref(extension1()->id(), kPrefPageIndexDeprecated,
-                                 std::make_unique<base::Value>(-1));
+                                 base::Value(-1));
   }
   void Verify() override {
     // Make sure that the invalid page_index wasn't converted over.
diff --git a/chrome/browser/extensions/error_console/error_console.cc b/chrome/browser/extensions/error_console/error_console.cc
index aa2dae1f..afb4740 100644
--- a/chrome/browser/extensions/error_console/error_console.cc
+++ b/chrome/browser/extensions/error_console/error_console.cc
@@ -24,6 +24,7 @@
 #include "extensions/common/feature_switch.h"
 #include "extensions/common/features/feature_channel.h"
 #include "extensions/common/logging_constants.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 
 namespace extensions {
 
@@ -95,7 +96,7 @@
     mask &= ~(1 << type);
 
   prefs_->UpdateExtensionPref(extension_id, kStoreExtensionErrorsPref,
-                              std::make_unique<base::Value>(mask));
+                              base::Value(mask));
 }
 
 void ErrorConsole::SetReportingAllForExtension(
@@ -107,7 +108,7 @@
   int mask = enabled ? (1 << ExtensionError::NUM_ERROR_TYPES) - 1 : 0;
 
   prefs_->UpdateExtensionPref(extension_id, kStoreExtensionErrorsPref,
-                              std::make_unique<base::Value>(mask));
+                              base::Value(mask));
 }
 
 bool ErrorConsole::IsReportingEnabledForExtension(
@@ -125,7 +126,8 @@
   if (!enabled_ || !crx_file::id_util::IdIsValid(extension_id))
     return;
 
-  prefs_->UpdateExtensionPref(extension_id, kStoreExtensionErrorsPref, nullptr);
+  prefs_->UpdateExtensionPref(extension_id, kStoreExtensionErrorsPref,
+                              absl::nullopt);
 }
 
 void ErrorConsole::ReportError(std::unique_ptr<ExtensionError> error) {
diff --git a/chrome/browser/extensions/extension_message_bubble_controller.cc b/chrome/browser/extensions/extension_message_bubble_controller.cc
index 4e8a721..7b83c32 100644
--- a/chrome/browser/extensions/extension_message_bubble_controller.cc
+++ b/chrome/browser/extensions/extension_message_bubble_controller.cc
@@ -22,6 +22,7 @@
 #include "extensions/browser/extension_prefs.h"
 #include "extensions/browser/extension_system.h"
 #include "extensions/common/extension.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 #include "ui/base/l10n/l10n_util.h"
 
 namespace extensions {
@@ -72,9 +73,11 @@
   if (pref_name.empty())
     return;
   extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile_);
-  prefs->UpdateExtensionPref(
-      extension_id, pref_name,
-      value ? std::make_unique<base::Value>(value) : nullptr);
+  absl::optional<base::Value> pref_value;
+  if (value) {
+    pref_value = base::Value(value);
+  }
+  prefs->UpdateExtensionPref(extension_id, pref_name, std::move(pref_value));
 }
 
 std::string
diff --git a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
index 7ec96d7..9b8139d 100644
--- a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
+++ b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
@@ -997,7 +997,7 @@
                     ExtensionPrefs* prefs) {
   std::string time_str = base::NumberToString(time.ToInternalValue());
   prefs->UpdateExtensionPref(extension_id, "last_update_time",
-                             std::make_unique<base::Value>(time_str));
+                             base::Value(time_str));
 }
 
 // The feature this is meant to test is only implemented on Windows and Mac.
diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc
index 6406bc9..32000b29 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -41,6 +41,7 @@
 #include "extensions/common/manifest_constants.h"
 #include "extensions/common/permissions/permission_set.h"
 #include "extensions/common/permissions/permissions_info.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 
 using base::Time;
 using extensions::mojom::APIPermissionID;
@@ -703,9 +704,9 @@
     // Re-create migration scenario by removing the new first_install_time,
     // last_update_time pref keys and adding back the legacy install_time key.
     prefs()->UpdateExtensionPref(extension_->id(), kLastUpdateTimePrefKey,
-                                 nullptr);
+                                 absl::nullopt);
     prefs()->UpdateExtensionPref(extension_->id(), kFirstInstallTimePrefKey,
-                                 nullptr);
+                                 absl::nullopt);
     time_str_ = base::NumberToString(
         base::Time::Now().ToDeltaSinceWindowsEpoch().InMicroseconds());
     prefs()->SetStringPref(extension_->id(), kOldInstallTimePrefMap, time_str_);
@@ -1075,7 +1076,7 @@
     constexpr char kTestValue[] = "test_value";
     prefs()->UpdateExtensionPref(extension_->id(),
                                  ExtensionPrefs::kFakeObsoletePrefForTesting,
-                                 std::make_unique<base::Value>(kTestValue));
+                                 base::Value(kTestValue));
     std::string str_value;
     EXPECT_TRUE(prefs()->ReadPrefAsString(
         extension_->id(), ExtensionPrefs::kFakeObsoletePrefForTesting,
@@ -1084,9 +1085,8 @@
 
     // TODO(crbug.com/1015619): Remove 2023-05. kPrefStringForIdMapping.
     base::Value::Dict dictionary;
-    prefs()->UpdateExtensionPref(
-        extension_->id(), kPrefStringForIdMapping,
-        std::make_unique<base::Value>(std::move(dictionary)));
+    prefs()->UpdateExtensionPref(extension_->id(), kPrefStringForIdMapping,
+                                 base::Value(std::move(dictionary)));
     EXPECT_TRUE(
         prefs()->ReadPrefAsDict(extension_->id(), kPrefStringForIdMapping));
 
@@ -1232,14 +1232,17 @@
 
   // We need to explicitly remove the default value for the new pref as it is
   // added on install by default.
-  prefs.prefs()->UpdateExtensionPref(previous_false_id, kNewPrefKey, nullptr);
-  prefs.prefs()->UpdateExtensionPref(previous_true_id, kNewPrefKey, nullptr);
-  prefs.prefs()->UpdateExtensionPref(previous_empty_id, kNewPrefKey, nullptr);
+  prefs.prefs()->UpdateExtensionPref(previous_false_id, kNewPrefKey,
+                                     absl::nullopt);
+  prefs.prefs()->UpdateExtensionPref(previous_true_id, kNewPrefKey,
+                                     absl::nullopt);
+  prefs.prefs()->UpdateExtensionPref(previous_empty_id, kNewPrefKey,
+                                     absl::nullopt);
 
   prefs.prefs()->UpdateExtensionPref(previous_false_id, kOldPrefKey,
-                                     std::make_unique<base::Value>(false));
+                                     base::Value(false));
   prefs.prefs()->UpdateExtensionPref(previous_true_id, kOldPrefKey,
-                                     std::make_unique<base::Value>(true));
+                                     base::Value(true));
 
   // First make sure that all prefs start out as we expect them to be.
   bool bool_value = false;
@@ -1316,8 +1319,7 @@
   // dictionary.
   prefs.prefs()->UpdateExtensionPref(
       external_extension, "state",
-      std::make_unique<base::Value>(
-          Extension::DEPRECATED_EXTERNAL_EXTENSION_UNINSTALLED));
+      base::Value(Extension::DEPRECATED_EXTERNAL_EXTENSION_UNINSTALLED));
 
   // Cause the migration.
   prefs.RecreateExtensionPrefs();
diff --git a/chrome/browser/extensions/launch_util.cc b/chrome/browser/extensions/launch_util.cc
index 5b33ccb..b14de95 100644
--- a/chrome/browser/extensions/launch_util.cc
+++ b/chrome/browser/extensions/launch_util.cc
@@ -64,7 +64,7 @@
 
   ExtensionPrefs::Get(context)->UpdateExtensionPref(
       extension_id, kPrefLaunchType,
-      std::make_unique<base::Value>(static_cast<int>(launch_type)));
+      base::Value(static_cast<int>(launch_type)));
 
   // Sync the launch type.
   const Extension* extension =
diff --git a/chrome/browser/extensions/omnibox_focus_interactive_test.cc b/chrome/browser/extensions/omnibox_focus_interactive_test.cc
index a00229e..03b1140 100644
--- a/chrome/browser/extensions/omnibox_focus_interactive_test.cc
+++ b/chrome/browser/extensions/omnibox_focus_interactive_test.cc
@@ -55,7 +55,7 @@
     ExtensionPrefs* prefs = ExtensionPrefs::Get(browser()->profile());
     prefs->UpdateExtensionPref(extension->id(),
                                kNtpOverridingExtensionAcknowledged,
-                               std::make_unique<base::Value>(true));
+                               base::Value(true));
 
     return extension;
   }
diff --git a/chrome/browser/extensions/site_permissions_helper.cc b/chrome/browser/extensions/site_permissions_helper.cc
index f1aede3d..db259c3 100644
--- a/chrome/browser/extensions/site_permissions_helper.cc
+++ b/chrome/browser/extensions/site_permissions_helper.cc
@@ -205,7 +205,7 @@
     bool show_access_requests_in_toolbar) {
   ExtensionPrefs::Get(profile_)->UpdateExtensionPref(
       extension_id, kPrefShowAccessRequestsInToolbar,
-      std::make_unique<base::Value>(show_access_requests_in_toolbar));
+      base::Value(show_access_requests_in_toolbar));
 }
 
 }  // namespace extensions
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index a4ea0e6..126d458 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -4355,6 +4355,11 @@
     "expiry_milestone": 115
   },
   {
+    "name": "indicate-account-storage-error-in-account-cell",
+    "owners": [  "vincb", "mastiz", "chrome-sync-dev@google.com" ],
+    "expiry_milestone": 130
+  },
+  {
     "name": "info-card-acknowledgement-tracking",
     "owners": [ "//chrome/android/feed/OWNERS", "jianli@chromium.org" ],
     "expiry_milestone": 120
diff --git a/chrome/browser/new_tab_page/modules/history_clusters/history_clusters.mojom b/chrome/browser/new_tab_page/modules/history_clusters/history_clusters.mojom
index 0ced4c2b..7e5191c 100644
--- a/chrome/browser/new_tab_page/modules/history_clusters/history_clusters.mojom
+++ b/chrome/browser/new_tab_page/modules/history_clusters/history_clusters.mojom
@@ -5,6 +5,7 @@
 module ntp.history_clusters.mojom;
 
 import "components/history_clusters/public/mojom/history_cluster_types.mojom";
+import "url/mojom/url.mojom";
 
 // Browser-side handler for requests from WebUI page.
 interface PageHandler {
@@ -13,4 +14,7 @@
 
   // Open or make visible the Journeys UI on the Side Panel.
   ShowJourneysSidePanel(string query);
+
+  // Open the URLs as a new tab group and clobber the existing NTP.
+  OpenUrlsInTabGroup(array<url.mojom.Url> urls);
 };
diff --git a/chrome/browser/new_tab_page/modules/history_clusters/history_clusters_page_handler.cc b/chrome/browser/new_tab_page/modules/history_clusters/history_clusters_page_handler.cc
index 1075ff2..f75435c 100644
--- a/chrome/browser/new_tab_page/modules/history_clusters/history_clusters_page_handler.cc
+++ b/chrome/browser/new_tab_page/modules/history_clusters/history_clusters_page_handler.cc
@@ -13,6 +13,8 @@
 #include "chrome/browser/new_tab_page/modules/history_clusters/history_clusters.mojom.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/search_engines/template_url_service_factory.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/side_panel/history_clusters/history_clusters_tab_helper.h"
 #include "components/history_clusters/core/history_cluster_type_utils.h"
 #include "components/history_clusters/core/history_clusters_service.h"
@@ -117,7 +119,46 @@
 
 void HistoryClustersPageHandler::ShowJourneysSidePanel(
     const std::string& query) {
+  // TODO(crbug.com/1341399): Revisit integration with the side panel once the
+  // referenced bug is resolved.
   auto* history_clusters_tab_helper =
       side_panel::HistoryClustersTabHelper::FromWebContents(web_contents_);
   history_clusters_tab_helper->ShowJourneysSidePanel(query);
 }
+
+void HistoryClustersPageHandler::OpenUrlsInTabGroup(
+    const std::vector<GURL>& urls) {
+  if (urls.empty()) {
+    return;
+  }
+
+  Browser* browser = chrome::FindLastActive();
+  if (!browser) {
+    return;
+  }
+
+  browser->OpenURL({urls.front(), content::Referrer(),
+                    WindowOpenDisposition::CURRENT_TAB,
+                    ui::PAGE_TRANSITION_AUTO_BOOKMARK,
+                    /*is_renderer_initiated=*/false});
+
+  auto* model = browser->tab_strip_model();
+  std::vector<int> tab_indices;
+  tab_indices.reserve(urls.size());
+  for (size_t i = 1; i < urls.size(); i++) {
+    auto* opened_web_contents = browser->OpenURL(content::OpenURLParams(
+        urls[i], content::Referrer(), WindowOpenDisposition::NEW_BACKGROUND_TAB,
+        ui::PAGE_TRANSITION_AUTO_BOOKMARK, false));
+
+    // Only add those tabs to a new group that actually opened in this
+    // browser.
+    const int tab_index = model->GetIndexOfWebContents(opened_web_contents);
+    if (tab_index != TabStripModel::kNoTab) {
+      tab_indices.push_back(tab_index);
+    }
+  }
+
+  tab_indices.insert(tab_indices.begin(), model->GetIndexOfWebContents(
+                                              model->GetActiveWebContents()));
+  model->AddToNewGroup(tab_indices);
+}
diff --git a/chrome/browser/new_tab_page/modules/history_clusters/history_clusters_page_handler.h b/chrome/browser/new_tab_page/modules/history_clusters/history_clusters_page_handler.h
index 6c04a2c..3e2a256 100644
--- a/chrome/browser/new_tab_page/modules/history_clusters/history_clusters_page_handler.h
+++ b/chrome/browser/new_tab_page/modules/history_clusters/history_clusters_page_handler.h
@@ -18,6 +18,7 @@
 #include "mojo/public/cpp/bindings/receiver.h"
 
 class Profile;
+class GURL;
 
 namespace content {
 class WebContents;
@@ -42,6 +43,7 @@
   // mojom::PageHandler:
   void GetCluster(GetClusterCallback callback) override;
   void ShowJourneysSidePanel(const std::string& query) override;
+  void OpenUrlsInTabGroup(const std::vector<GURL>&) override;
 
  private:
   // Forward the most relevant history cluster to the callback if any.
diff --git a/chrome/browser/new_tab_page/modules/history_clusters/history_clusters_page_handler_unittest.cc b/chrome/browser/new_tab_page/modules/history_clusters/history_clusters_page_handler_unittest.cc
index 428d92df..dbb7203 100644
--- a/chrome/browser/new_tab_page/modules/history_clusters/history_clusters_page_handler_unittest.cc
+++ b/chrome/browser/new_tab_page/modules/history_clusters/history_clusters_page_handler_unittest.cc
@@ -13,6 +13,10 @@
 #include "base/time/time.h"
 #include "chrome/browser/history_clusters/history_clusters_service_factory.h"
 #include "chrome/browser/ui/side_panel/history_clusters/history_clusters_tab_helper.h"
+#include "chrome/browser/ui/tabs/tab_group_model.h"
+#include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "chrome/test/base/browser_with_test_window_test.h"
+#include "chrome/test/base/test_browser_window.h"
 #include "chrome/test/base/testing_profile.h"
 #include "components/history/core/test/history_service_test_util.h"
 #include "components/history_clusters/core/history_clusters_types.h"
@@ -23,6 +27,7 @@
 #include "content/public/test/test_web_contents_factory.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
+#include "url/gurl.h"
 
 namespace {
 
@@ -47,34 +52,31 @@
       : HistoryClustersTabHelper(web_contents) {}
 };
 
-std::unique_ptr<TestingProfile> MakeTestingProfile() {
-  TestingProfile::Builder profile_builder;
-  profile_builder.AddTestingFactory(
-      &HistoryClustersServiceFactory::GetInstance(),
-      base::BindRepeating([](content::BrowserContext* browser_context)
-                              -> std::unique_ptr<KeyedService> {
-        return std::make_unique<history_clusters::TestHistoryClustersService>();
-      }));
-  return profile_builder.Build();
-}
-
 }  // namespace
 
-class HistoryClustersPageHandlerTest : public testing::Test {
+class HistoryClustersPageHandlerTest : public BrowserWithTestWindowTest {
  public:
-  HistoryClustersPageHandlerTest()
-      : profile_(MakeTestingProfile()),
-        test_history_clusters_service_(
-            static_cast<history_clusters::TestHistoryClustersService*>(
-                HistoryClustersServiceFactory::GetForBrowserContext(
-                    profile_.get()))),
-        web_contents_(factory_.CreateWebContents(profile_.get())),
-        mock_history_clusters_tab_helper_(
-            MockHistoryClustersTabHelper::CreateForWebContents(
-                web_contents_.get())),
-        handler_(std::make_unique<HistoryClustersPageHandler>(
-            mojo::PendingReceiver<ntp::history_clusters::mojom::PageHandler>(),
-            web_contents_)) {}
+  HistoryClustersPageHandlerTest() = default;
+
+  void SetUp() override {
+    BrowserWithTestWindowTest::SetUp();
+
+    test_history_clusters_service_ =
+        static_cast<history_clusters::TestHistoryClustersService*>(
+            HistoryClustersServiceFactory::GetForBrowserContext(profile()));
+    web_contents_ = content::WebContents::Create(
+        content::WebContents::CreateParams(profile()));
+    mock_history_clusters_tab_helper_ =
+        MockHistoryClustersTabHelper::CreateForWebContents(web_contents_.get());
+    handler_ = std::make_unique<HistoryClustersPageHandler>(
+        mojo::PendingReceiver<ntp::history_clusters::mojom::PageHandler>(),
+        web_contents_.get());
+  }
+
+  void TearDown() override {
+    web_contents_.reset();
+    BrowserWithTestWindowTest::TearDown();
+  }
 
   history_clusters::TestHistoryClustersService&
   test_history_clusters_service() {
@@ -88,13 +90,19 @@
   HistoryClustersPageHandler& handler() { return *handler_; }
 
  private:
-  content::BrowserTaskEnvironment task_environment_;
-  std::unique_ptr<TestingProfile> profile_;
+  // BrowserWithTestWindowTest:
+  TestingProfile::TestingFactories GetTestingFactories() override {
+    return {{&HistoryClustersServiceFactory::GetInstance(),
+             base::BindRepeating([](content::BrowserContext* context)
+                                     -> std::unique_ptr<KeyedService> {
+               return std::make_unique<
+                   history_clusters::TestHistoryClustersService>();
+             })}};
+  }
 
   raw_ptr<history_clusters::TestHistoryClustersService>
       test_history_clusters_service_;
-  content::TestWebContentsFactory factory_;
-  raw_ptr<content::WebContents> web_contents_;  // Weak. Owned by factory_.
+  std::unique_ptr<content::WebContents> web_contents_;
   raw_ptr<MockHistoryClustersTabHelper> mock_history_clusters_tab_helper_;
   std::unique_ptr<HistoryClustersPageHandler> handler_;
 };
@@ -208,3 +216,18 @@
 
   EXPECT_EQ(kSampleQuery, query);
 }
+
+TEST_F(HistoryClustersPageHandlerTest, OpenUrlsInTabGroup) {
+  const std::vector<GURL> urls = {GURL("http://foo/1"), GURL("http://foo/2"),
+                                  GURL("http://www.google.com/search?q=foo")};
+  handler().OpenUrlsInTabGroup(urls);
+
+  TabStripModel* tab_strip_model = browser()->tab_strip_model();
+  ASSERT_EQ(urls.size(), static_cast<size_t>(tab_strip_model->GetTabCount()));
+  for (size_t i = 0; i < urls.size(); i++) {
+    ASSERT_EQ(urls[i], tab_strip_model->GetWebContentsAt(i)->GetURL());
+  }
+
+  TabGroupModel* tab_group_model = tab_strip_model->group_model();
+  ASSERT_EQ(1u, tab_group_model->ListTabGroups().size());
+}
diff --git a/chrome/browser/policy/messaging_layer/upload/record_handler_impl.cc b/chrome/browser/policy/messaging_layer/upload/record_handler_impl.cc
index 58e3b4d..57835fa3 100644
--- a/chrome/browser/policy/messaging_layer/upload/record_handler_impl.cc
+++ b/chrome/browser/policy/messaging_layer/upload/record_handler_impl.cc
@@ -12,7 +12,6 @@
 #include "base/containers/queue.h"
 #include "base/functional/bind.h"
 #include "base/functional/callback.h"
-#include "base/functional/callback_forward.h"
 #include "base/json/json_reader.h"
 #include "base/memory/raw_ptr.h"
 #include "base/memory/scoped_refptr.h"
@@ -239,8 +238,7 @@
  public:
   ReportUploader(
       FileUploadJob::Delegate* delegate,
-      base::RepeatingCallback<scoped_refptr<StorageModuleInterface>()>
-          storage_getter,
+      scoped_refptr<StorageModuleInterface> storage,
       bool need_encryption_key,
       std::vector<EncryptedRecord> records,
       ScopedReservation scoped_reservation,
@@ -280,8 +278,7 @@
 
   const raw_ptr<FileUploadJob::Delegate> delegate_;
 
-  const base::RepeatingCallback<scoped_refptr<StorageModuleInterface>()>
-      storage_getter_;
+  const scoped_refptr<StorageModuleInterface> storage_;
 
   bool need_encryption_key_ GUARDED_BY_CONTEXT(sequence_checker_);
   std::vector<EncryptedRecord> records_ GUARDED_BY_CONTEXT(sequence_checker_);
@@ -306,8 +303,7 @@
 
 RecordHandlerImpl::ReportUploader::ReportUploader(
     FileUploadJob::Delegate* delegate,
-    base::RepeatingCallback<scoped_refptr<StorageModuleInterface>()>
-        storage_getter,
+    scoped_refptr<StorageModuleInterface> storage,
     bool need_encryption_key,
     std::vector<EncryptedRecord> records,
     ScopedReservation scoped_reservation,
@@ -317,7 +313,7 @@
     : TaskRunnerContext<CompletionResponse>(std::move(completion_cb),
                                             sequenced_task_runner),
       delegate_(delegate),
-      storage_getter_(storage_getter),
+      storage_(storage),
       need_encryption_key_(need_encryption_key),
       records_(std::move(records)),
       scoped_reservation_(std::move(scoped_reservation)),
@@ -393,7 +389,7 @@
     base::ThreadPool::PostTask(
         FROM_HERE, {base::TaskPriority::BEST_EFFORT, base::MayBlock()},
         base::BindOnce(&ProcessFileUpload, base::Unretained(delegate_.get()),
-                       storage_getter_.Run(), priority, std::move(record_copy),
+                       storage_, priority, std::move(record_copy),
                        std::move(resume_cb)));
     return;  // We will resume on `resume_cb`
   }
@@ -667,11 +663,10 @@
 RecordHandlerImpl::RecordHandlerImpl(
     scoped_refptr<base::SequencedTaskRunner> sequenced_task_runner,
     std::unique_ptr<FileUploadJob::Delegate> delegate,
-    base::RepeatingCallback<scoped_refptr<StorageModuleInterface>()>
-        storage_getter)
+    scoped_refptr<StorageModuleInterface> storage)
     : sequenced_task_runner_(sequenced_task_runner),
       delegate_(std::move(delegate)),
-      storage_getter_(storage_getter) {}
+      storage_(storage) {}
 
 RecordHandlerImpl::~RecordHandlerImpl() = default;
 
@@ -682,7 +677,7 @@
     CompletionCallback upload_complete_cb,
     EncryptionKeyAttachedCallback encryption_key_attached_cb) {
   Start<RecordHandlerImpl::ReportUploader>(
-      delegate_.get(), storage_getter_, need_encryption_key, std::move(records),
+      delegate_.get(), storage_, need_encryption_key, std::move(records),
       std::move(scoped_reservation), std::move(upload_complete_cb),
       std::move(encryption_key_attached_cb), sequenced_task_runner_);
 }
diff --git a/chrome/browser/policy/messaging_layer/upload/record_handler_impl.h b/chrome/browser/policy/messaging_layer/upload/record_handler_impl.h
index 5e0eade..7d3e174 100644
--- a/chrome/browser/policy/messaging_layer/upload/record_handler_impl.h
+++ b/chrome/browser/policy/messaging_layer/upload/record_handler_impl.h
@@ -9,9 +9,7 @@
 #include <utility>
 #include <vector>
 
-#include "base/functional/bind.h"
 #include "base/functional/callback.h"
-#include "base/functional/callback_forward.h"
 #include "base/memory/raw_ptr.h"
 #include "base/memory/scoped_refptr.h"
 #include "base/task/sequenced_task_runner.h"
@@ -35,8 +33,7 @@
   RecordHandlerImpl(
       scoped_refptr<base::SequencedTaskRunner> sequenced_task_runner,
       std::unique_ptr<FileUploadJob::Delegate> delegate,
-      base::RepeatingCallback<scoped_refptr<StorageModuleInterface>()>
-          storage_getter);
+      scoped_refptr<StorageModuleInterface> storage);
   ~RecordHandlerImpl() override;
 
   // Base class RecordHandler method implementation.
@@ -55,8 +52,7 @@
 
   // The next two fields are only used for LOG_UPLOAD events.
   const std::unique_ptr<FileUploadJob::Delegate> delegate_;
-  const base::RepeatingCallback<scoped_refptr<StorageModuleInterface>()>
-      storage_getter_;
+  scoped_refptr<StorageModuleInterface> storage_;
 };
 
 }  // namespace reporting
diff --git a/chrome/browser/policy/messaging_layer/upload/record_handler_impl_unittest.cc b/chrome/browser/policy/messaging_layer/upload/record_handler_impl_unittest.cc
index ab6bb4e..8e0d4c4c 100644
--- a/chrome/browser/policy/messaging_layer/upload/record_handler_impl_unittest.cc
+++ b/chrome/browser/policy/messaging_layer/upload/record_handler_impl_unittest.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/base64.h"
-#include "base/functional/bind.h"
 #include "base/functional/callback_helpers.h"
 #include "base/json/json_writer.h"
 #include "base/memory/scoped_refptr.h"
@@ -30,7 +29,6 @@
 #include "components/reporting/proto/synced/record.pb.h"
 #include "components/reporting/proto/synced/record_constants.pb.h"
 #include "components/reporting/resources/resource_manager.h"
-#include "components/reporting/storage/storage_module_interface.h"
 #include "components/reporting/storage/test_storage_module.h"
 #include "components/reporting/util/status.h"
 #include "components/reporting/util/status_macros.h"
@@ -108,14 +106,9 @@
                                                    /*force_confirm*/ bool>> {
  protected:
   void SetUp() override {
-    storage_ = base::MakeRefCounted<test::TestStorageModule>();
     handler_ = std::make_unique<RecordHandlerImpl>(
         sequenced_task_runner_, std::make_unique<MockFileUploadDelegate>(),
-        base::BindRepeating(
-            [](scoped_refptr<StorageModuleInterface> storage) {
-              return storage;
-            },
-            storage_));
+        base::MakeRefCounted<test::TestStorageModule>());
 
     memory_resource_ =
         base::MakeRefCounted<ResourceManager>(4u * 1024LLu * 1024LLu);  // 4 MiB
@@ -123,7 +116,6 @@
 
   void TearDown() override {
     handler_.reset();
-    storage_.reset();
     EXPECT_THAT(memory_resource_->GetUsed(), Eq(0uL));
   }
 
@@ -137,8 +129,6 @@
 
   ReportingServerConnector::TestEnvironment test_env_;
 
-  scoped_refptr<StorageModuleInterface> storage_;
-
   std::unique_ptr<RecordHandlerImpl> handler_;
 
   scoped_refptr<ResourceManager> memory_resource_;
diff --git a/chrome/browser/policy/messaging_layer/upload/record_handler_upload_unittest.cc b/chrome/browser/policy/messaging_layer/upload/record_handler_upload_unittest.cc
index 8f37ea2..b03cf86 100644
--- a/chrome/browser/policy/messaging_layer/upload/record_handler_upload_unittest.cc
+++ b/chrome/browser/policy/messaging_layer/upload/record_handler_upload_unittest.cc
@@ -9,7 +9,6 @@
 #include "base/functional/callback_helpers.h"
 #include "base/json/json_writer.h"
 #include "base/memory/ptr_util.h"
-#include "base/memory/raw_ptr.h"
 #include "base/memory/scoped_refptr.h"
 #include "base/memory/weak_ptr.h"
 #include "base/strings/strcat.h"
@@ -118,25 +117,11 @@
 class RecordHandlerUploadTest : public ::testing::Test {
  protected:
   void SetUp() override {
-    storage_ = base::MakeRefCounted<test::TestStorageModule>();
-    auto delegate = std::make_unique<MockFileUploadDelegate>();
-    delegate_ = delegate.get();
-    handler_ = std::make_unique<RecordHandlerImpl>(
-        sequenced_task_runner_, std::move(delegate),
-        base::BindRepeating(
-            [](scoped_refptr<StorageModuleInterface> storage) {
-              return storage;
-            },
-            storage_));
-
     memory_resource_ =
         base::MakeRefCounted<ResourceManager>(4u * 1024LLu * 1024LLu);  // 4 MiB
   }
 
   void TearDown() override {
-    delegate_ = nullptr;
-    handler_.reset();
-    storage_.reset();
     EXPECT_THAT(memory_resource_->GetUsed(), Eq(0uL));
   }
 
@@ -148,12 +133,6 @@
   FileUploadJob::TestEnvironment manager_test_env_;
   ReportingServerConnector::TestEnvironment test_env_;
 
-  scoped_refptr<test::TestStorageModule> storage_;
-
-  raw_ptr<MockFileUploadDelegate> delegate_;
-
-  std::unique_ptr<RecordHandlerImpl> handler_;
-
   scoped_refptr<ResourceManager> memory_resource_;
 };
 
@@ -264,7 +243,8 @@
   test::TestEvent<SignedEncryptionInfo> encryption_key_attached_event;
   test::TestEvent<CompletionResponse> responder_event;
 
-  EXPECT_CALL(*delegate_, DoInitiate(StrEq("/tmp/file"), Not(IsEmpty()), _))
+  auto delegate = std::make_unique<MockFileUploadDelegate>();
+  EXPECT_CALL(*delegate, DoInitiate(StrEq("/tmp/file"), Not(IsEmpty()), _))
       .WillOnce(Invoke(
           [](base::StringPiece origin_path, base::StringPiece upload_parameters,
              base::OnceCallback<void(
@@ -272,10 +252,11 @@
                                     std::string /*session_token*/>>)> cb) {
             std::move(cb).Run(std::make_pair(300L, "ABC"));
           }));
-  EXPECT_CALL(*delegate_, DoNextStep).Times(0);
-  EXPECT_CALL(*delegate_, DoFinalize).Times(0);
+  EXPECT_CALL(*delegate, DoNextStep).Times(0);
+  EXPECT_CALL(*delegate, DoFinalize).Times(0);
 
-  EXPECT_CALL(*storage_, AddRecord(Eq(Priority::IMMEDIATE), _, _))
+  auto storage = base::MakeRefCounted<test::TestStorageModule>();
+  EXPECT_CALL(*storage, AddRecord(Eq(Priority::IMMEDIATE), _, _))
       .WillOnce(Invoke([](Priority priority, Record record,
                           StorageModuleInterface::EnqueueCallback callback) {
         EXPECT_TRUE(record.needs_local_unencrypted_copy());
@@ -289,10 +270,12 @@
         std::move(callback).Run(Status::StatusOK());
       }));
 
-  handler_->HandleRecords(/*need_encryption_key=*/false,
-                          std::vector(1, std::move(init_encrypted_record)),
-                          std::move(record_reservation), responder_event.cb(),
-                          encryption_key_attached_event.repeating_cb());
+  RecordHandlerImpl handler(sequenced_task_runner_, std::move(delegate),
+                            storage);
+  handler.HandleRecords(/*need_encryption_key=*/false,
+                        std::vector(1, std::move(init_encrypted_record)),
+                        std::move(record_reservation), responder_event.cb(),
+                        encryption_key_attached_event.repeating_cb());
   auto response = responder_event.result();
   EXPECT_THAT(response, ResponseEquals(expected_response));
 }
@@ -315,8 +298,9 @@
   test::TestEvent<SignedEncryptionInfo> encryption_key_attached_event;
   test::TestEvent<CompletionResponse> responder_event;
 
-  EXPECT_CALL(*delegate_, DoInitiate).Times(0);
-  EXPECT_CALL(*delegate_, DoNextStep(Eq(300L), Eq(100L), StrEq("ABC"), _))
+  auto delegate = std::make_unique<MockFileUploadDelegate>();
+  EXPECT_CALL(*delegate, DoInitiate).Times(0);
+  EXPECT_CALL(*delegate, DoNextStep(Eq(300L), Eq(100L), StrEq("ABC"), _))
       .WillOnce(
           [](int64_t total, int64_t uploaded, base::StringPiece session_token,
              base::OnceCallback<void(
@@ -325,9 +309,10 @@
             std::move(cb).Run(
                 std::make_pair(uploaded + 100L, std::string(session_token)));
           });
-  EXPECT_CALL(*delegate_, DoFinalize).Times(0);
+  EXPECT_CALL(*delegate, DoFinalize).Times(0);
 
-  EXPECT_CALL(*storage_, AddRecord(Eq(Priority::IMMEDIATE), _, _))
+  auto storage = base::MakeRefCounted<test::TestStorageModule>();
+  EXPECT_CALL(*storage, AddRecord(Eq(Priority::IMMEDIATE), _, _))
       .WillOnce(Invoke([](Priority priority, Record record,
                           StorageModuleInterface::EnqueueCallback callback) {
         EXPECT_TRUE(record.needs_local_unencrypted_copy());
@@ -340,10 +325,12 @@
         EXPECT_FALSE(log_upload_event.upload_tracker().has_status());
         std::move(callback).Run(Status::StatusOK());
       }));
-  handler_->HandleRecords(/*need_encryption_key=*/false,
-                          std::vector(1, std::move(next_step_encrypted_record)),
-                          std::move(record_reservation), responder_event.cb(),
-                          encryption_key_attached_event.repeating_cb());
+  RecordHandlerImpl handler(sequenced_task_runner_, std::move(delegate),
+                            storage);
+  handler.HandleRecords(/*need_encryption_key=*/false,
+                        std::vector(1, std::move(next_step_encrypted_record)),
+                        std::move(record_reservation), responder_event.cb(),
+                        encryption_key_attached_event.repeating_cb());
   auto response = responder_event.result();
   EXPECT_THAT(response, ResponseEquals(expected_response));
 }
@@ -366,9 +353,10 @@
   test::TestEvent<SignedEncryptionInfo> encryption_key_attached_event;
   test::TestEvent<CompletionResponse> responder_event;
 
-  EXPECT_CALL(*delegate_, DoInitiate).Times(0);
-  EXPECT_CALL(*delegate_, DoNextStep).Times(0);
-  EXPECT_CALL(*delegate_, DoFinalize(StrEq("ABC"), _))
+  auto delegate = std::make_unique<MockFileUploadDelegate>();
+  EXPECT_CALL(*delegate, DoInitiate).Times(0);
+  EXPECT_CALL(*delegate, DoNextStep).Times(0);
+  EXPECT_CALL(*delegate, DoFinalize(StrEq("ABC"), _))
       .WillOnce(
           Invoke([](base::StringPiece session_token,
                     base::OnceCallback<void(
@@ -376,7 +364,8 @@
             std::move(cb).Run("http://destination");
           }));
 
-  EXPECT_CALL(*storage_, AddRecord(Eq(Priority::IMMEDIATE), _, _))
+  auto storage = base::MakeRefCounted<test::TestStorageModule>();
+  EXPECT_CALL(*storage, AddRecord(Eq(Priority::IMMEDIATE), _, _))
       .WillOnce(Invoke([](Priority priority, Record record,
                           StorageModuleInterface::EnqueueCallback callback) {
         EXPECT_FALSE(record.needs_local_unencrypted_copy());
@@ -389,10 +378,12 @@
         EXPECT_FALSE(log_upload_event.upload_tracker().has_status());
         std::move(callback).Run(Status::StatusOK());
       }));
-  handler_->HandleRecords(/*need_encryption_key=*/false,
-                          std::vector(1, std::move(fin_encrypted_record)),
-                          std::move(record_reservation), responder_event.cb(),
-                          encryption_key_attached_event.repeating_cb());
+  RecordHandlerImpl handler(sequenced_task_runner_, std::move(delegate),
+                            storage);
+  handler.HandleRecords(/*need_encryption_key=*/false,
+                        std::vector(1, std::move(fin_encrypted_record)),
+                        std::move(record_reservation), responder_event.cb(),
+                        encryption_key_attached_event.repeating_cb());
   auto response = responder_event.result();
   EXPECT_THAT(response, ResponseEquals(expected_response));
 }
@@ -415,11 +406,13 @@
   test::TestEvent<SignedEncryptionInfo> encryption_key_attached_event;
   test::TestEvent<CompletionResponse> responder_event;
 
-  EXPECT_CALL(*delegate_, DoInitiate).Times(0);
-  EXPECT_CALL(*delegate_, DoNextStep).Times(0);
-  EXPECT_CALL(*delegate_, DoFinalize).Times(0);
+  auto delegate = std::make_unique<MockFileUploadDelegate>();
+  EXPECT_CALL(*delegate, DoInitiate).Times(0);
+  EXPECT_CALL(*delegate, DoNextStep).Times(0);
+  EXPECT_CALL(*delegate, DoFinalize).Times(0);
 
-  EXPECT_CALL(*storage_, AddRecord(Eq(Priority::IMMEDIATE), _, _))
+  auto storage = base::MakeRefCounted<test::TestStorageModule>();
+  EXPECT_CALL(*storage, AddRecord(Eq(Priority::IMMEDIATE), _, _))
       .WillOnce(Invoke([](Priority priority, Record record,
                           StorageModuleInterface::EnqueueCallback callback) {
         EXPECT_FALSE(record.needs_local_unencrypted_copy());
@@ -433,10 +426,12 @@
         std::move(callback).Run(Status::StatusOK());
       }));
 
-  handler_->HandleRecords(/*need_encryption_key=*/false,
-                          std::vector(1, std::move(fin_encrypted_record)),
-                          std::move(record_reservation), responder_event.cb(),
-                          encryption_key_attached_event.repeating_cb());
+  RecordHandlerImpl handler(sequenced_task_runner_, std::move(delegate),
+                            storage);
+  handler.HandleRecords(/*need_encryption_key=*/false,
+                        std::vector(1, std::move(fin_encrypted_record)),
+                        std::move(record_reservation), responder_event.cb(),
+                        encryption_key_attached_event.repeating_cb());
   auto response = responder_event.result();
   EXPECT_THAT(response, ResponseEquals(expected_response));
 }
@@ -459,8 +454,9 @@
   test::TestEvent<SignedEncryptionInfo> encryption_key_attached_event;
   test::TestEvent<CompletionResponse> responder_event;
 
-  EXPECT_CALL(*delegate_, DoInitiate).Times(0);
-  EXPECT_CALL(*delegate_, DoNextStep(Eq(300L), Eq(100L), StrEq("ABC"), _))
+  auto delegate = std::make_unique<MockFileUploadDelegate>();
+  EXPECT_CALL(*delegate, DoInitiate).Times(0);
+  EXPECT_CALL(*delegate, DoNextStep(Eq(300L), Eq(100L), StrEq("ABC"), _))
       .WillOnce(
           [](int64_t total, int64_t uploaded, base::StringPiece session_token,
              base::OnceCallback<void(
@@ -468,9 +464,10 @@
                                     std::string /*session_token*/>>)> cb) {
             std::move(cb).Run(Status(error::CANCELLED, "Failure by test"));
           });
-  EXPECT_CALL(*delegate_, DoFinalize).Times(0);
+  EXPECT_CALL(*delegate, DoFinalize).Times(0);
 
-  EXPECT_CALL(*storage_, AddRecord(Eq(Priority::IMMEDIATE), _, _))
+  auto storage = base::MakeRefCounted<test::TestStorageModule>();
+  EXPECT_CALL(*storage, AddRecord(Eq(Priority::IMMEDIATE), _, _))
       .WillOnce(Invoke([](Priority priority, Record record,
                           StorageModuleInterface::EnqueueCallback callback) {
         EXPECT_FALSE(record.needs_local_unencrypted_copy());
@@ -483,10 +480,12 @@
                   MatchError(Status(error::CANCELLED, "Failure by test"))));
         std::move(callback).Run(Status::StatusOK());
       }));
-  handler_->HandleRecords(/*need_encryption_key=*/false,
-                          std::vector(1, std::move(next_step_encrypted_record)),
-                          std::move(record_reservation), responder_event.cb(),
-                          encryption_key_attached_event.repeating_cb());
+  RecordHandlerImpl handler(sequenced_task_runner_, std::move(delegate),
+                            storage);
+  handler.HandleRecords(/*need_encryption_key=*/false,
+                        std::vector(1, std::move(next_step_encrypted_record)),
+                        std::move(record_reservation), responder_event.cb(),
+                        encryption_key_attached_event.repeating_cb());
   auto response = responder_event.result();
   EXPECT_THAT(response, ResponseEquals(expected_response));
 }
@@ -506,7 +505,8 @@
       .WillRepeatedly(MakeUploadEncryptedReportAction(
           std::move(ResponseBuilder().SetSuccess(true))));
 
-  EXPECT_CALL(*delegate_, DoInitiate(StrEq("/tmp/file"), Not(IsEmpty()), _))
+  auto delegate = std::make_unique<MockFileUploadDelegate>();
+  EXPECT_CALL(*delegate, DoInitiate(StrEq("/tmp/file"), Not(IsEmpty()), _))
       .WillOnce(Invoke(
           [](base::StringPiece origin_path, base::StringPiece upload_parameters,
              base::OnceCallback<void(
@@ -514,10 +514,11 @@
                                     std::string /*session_token*/>>)> cb) {
             std::move(cb).Run(std::make_pair(300L, "ABC"));
           }));
-  EXPECT_CALL(*delegate_, DoNextStep).Times(0);
-  EXPECT_CALL(*delegate_, DoFinalize).Times(0);
+  EXPECT_CALL(*delegate, DoNextStep).Times(0);
+  EXPECT_CALL(*delegate, DoFinalize).Times(0);
 
-  EXPECT_CALL(*storage_, AddRecord(Eq(Priority::IMMEDIATE), _, _))
+  auto storage = base::MakeRefCounted<test::TestStorageModule>();
+  EXPECT_CALL(*storage, AddRecord(Eq(Priority::IMMEDIATE), _, _))
       .Times(kNumTestRecords)
       .WillRepeatedly(
           Invoke([](Priority priority, Record record,
@@ -533,15 +534,17 @@
             std::move(callback).Run(Status::StatusOK());
           }));
 
+  RecordHandlerImpl handler(sequenced_task_runner_, std::move(delegate),
+                            storage);
   for (size_t i = 0; i < kNumTestRecords; ++i) {
     ScopedReservation record_reservation(init_encrypted_record.ByteSizeLong(),
                                          memory_resource_);
     test::TestEvent<SignedEncryptionInfo> encryption_key_attached_event;
     test::TestEvent<CompletionResponse> responder_event;
-    handler_->HandleRecords(/*need_encryption_key=*/false,
-                            std::vector(1, init_encrypted_record),
-                            std::move(record_reservation), responder_event.cb(),
-                            encryption_key_attached_event.repeating_cb());
+    handler.HandleRecords(/*need_encryption_key=*/false,
+                          std::vector(1, init_encrypted_record),
+                          std::move(record_reservation), responder_event.cb(),
+                          encryption_key_attached_event.repeating_cb());
     auto response = responder_event.result();
     EXPECT_THAT(response, ResponseEquals(expected_response));
     init_encrypted_record.mutable_sequence_information()->set_sequencing_id(
@@ -567,8 +570,9 @@
       .WillRepeatedly(MakeUploadEncryptedReportAction(
           std::move(ResponseBuilder().SetSuccess(true))));
 
-  EXPECT_CALL(*delegate_, DoInitiate).Times(0);
-  EXPECT_CALL(*delegate_, DoNextStep(Eq(300L), Eq(100L), StrEq("ABC"), _))
+  auto delegate = std::make_unique<MockFileUploadDelegate>();
+  EXPECT_CALL(*delegate, DoInitiate).Times(0);
+  EXPECT_CALL(*delegate, DoNextStep(Eq(300L), Eq(100L), StrEq("ABC"), _))
       .WillOnce(
           [](int64_t total, int64_t uploaded, base::StringPiece session_token,
              base::OnceCallback<void(
@@ -577,9 +581,10 @@
             std::move(cb).Run(
                 std::make_pair(uploaded + 100L, std::string(session_token)));
           });
-  EXPECT_CALL(*delegate_, DoFinalize).Times(0);
+  EXPECT_CALL(*delegate, DoFinalize).Times(0);
 
-  EXPECT_CALL(*storage_, AddRecord(Eq(Priority::IMMEDIATE), _, _))
+  auto storage = base::MakeRefCounted<test::TestStorageModule>();
+  EXPECT_CALL(*storage, AddRecord(Eq(Priority::IMMEDIATE), _, _))
       .Times(kNumTestRecords)
       .WillRepeatedly(
           Invoke([](Priority priority, Record record,
@@ -595,15 +600,17 @@
             std::move(callback).Run(Status::StatusOK());
           }));
 
+  RecordHandlerImpl handler(sequenced_task_runner_, std::move(delegate),
+                            storage);
   for (size_t i = 0; i < kNumTestRecords; ++i) {
     ScopedReservation record_reservation(
         next_step_encrypted_record.ByteSizeLong(), memory_resource_);
     test::TestEvent<SignedEncryptionInfo> encryption_key_attached_event;
     test::TestEvent<CompletionResponse> responder_event;
-    handler_->HandleRecords(/*need_encryption_key=*/false,
-                            std::vector(1, next_step_encrypted_record),
-                            std::move(record_reservation), responder_event.cb(),
-                            encryption_key_attached_event.repeating_cb());
+    handler.HandleRecords(/*need_encryption_key=*/false,
+                          std::vector(1, next_step_encrypted_record),
+                          std::move(record_reservation), responder_event.cb(),
+                          encryption_key_attached_event.repeating_cb());
     auto response = responder_event.result();
     EXPECT_THAT(response, ResponseEquals(expected_response));
     next_step_encrypted_record.mutable_sequence_information()
@@ -631,9 +638,10 @@
       .WillRepeatedly(MakeUploadEncryptedReportAction(
           std::move(ResponseBuilder().SetSuccess(true))));
 
-  EXPECT_CALL(*delegate_, DoInitiate).Times(0);
-  EXPECT_CALL(*delegate_, DoNextStep).Times(0);
-  EXPECT_CALL(*delegate_, DoFinalize(StrEq("ABC"), _))
+  auto delegate = std::make_unique<MockFileUploadDelegate>();
+  EXPECT_CALL(*delegate, DoInitiate).Times(0);
+  EXPECT_CALL(*delegate, DoNextStep).Times(0);
+  EXPECT_CALL(*delegate, DoFinalize(StrEq("ABC"), _))
       .WillOnce(
           Invoke([](base::StringPiece session_token,
                     base::OnceCallback<void(
@@ -641,7 +649,8 @@
             std::move(cb).Run("http://destination");
           }));
 
-  EXPECT_CALL(*storage_, AddRecord(Eq(Priority::IMMEDIATE), _, _))
+  auto storage = base::MakeRefCounted<test::TestStorageModule>();
+  EXPECT_CALL(*storage, AddRecord(Eq(Priority::IMMEDIATE), _, _))
       .Times(kNumTestRecords)
       .WillRepeatedly(
           Invoke([](Priority priority, Record record,
@@ -658,15 +667,17 @@
             std::move(callback).Run(Status::StatusOK());
           }));
 
+  RecordHandlerImpl handler(sequenced_task_runner_, std::move(delegate),
+                            storage);
   for (size_t i = 0; i < kNumTestRecords; ++i) {
     ScopedReservation record_reservation(fin_encrypted_record.ByteSizeLong(),
                                          memory_resource_);
     test::TestEvent<SignedEncryptionInfo> encryption_key_attached_event;
     test::TestEvent<CompletionResponse> responder_event;
-    handler_->HandleRecords(/*need_encryption_key=*/false,
-                            std::vector(1, fin_encrypted_record),
-                            std::move(record_reservation), responder_event.cb(),
-                            encryption_key_attached_event.repeating_cb());
+    handler.HandleRecords(/*need_encryption_key=*/false,
+                          std::vector(1, fin_encrypted_record),
+                          std::move(record_reservation), responder_event.cb(),
+                          encryption_key_attached_event.repeating_cb());
     auto response = responder_event.result();
     EXPECT_THAT(response, ResponseEquals(expected_response));
     fin_encrypted_record.mutable_sequence_information()->set_sequencing_id(
diff --git a/chrome/browser/policy/messaging_layer/upload/upload_client.cc b/chrome/browser/policy/messaging_layer/upload/upload_client.cc
index 47fe50d..7b6659f 100644
--- a/chrome/browser/policy/messaging_layer/upload/upload_client.cc
+++ b/chrome/browser/policy/messaging_layer/upload/upload_client.cc
@@ -4,7 +4,6 @@
 
 #include "chrome/browser/policy/messaging_layer/upload/upload_client.h"
 
-#include "base/functional/bind.h"
 #include "base/memory/ptr_util.h"
 #include "base/task/sequenced_task_runner.h"
 #include "chrome/browser/policy/messaging_layer/upload/dm_server_uploader.h"
@@ -52,9 +51,7 @@
       handler_(std::make_unique<RecordHandlerImpl>(
           sequenced_task_runner_,
           std::make_unique<FileUploadDelegate>(),
-          base::BindRepeating([]() {
-            return ReportQueueProvider::GetInstance()->storage();
-          }))) {}
+          ReportQueueProvider::GetInstance()->storage())) {}
 
 UploadClient::~UploadClient() = default;
 
diff --git a/chrome/browser/policy/messaging_layer/upload/upload_client.h b/chrome/browser/policy/messaging_layer/upload/upload_client.h
index 6b560f1..dc90550 100644
--- a/chrome/browser/policy/messaging_layer/upload/upload_client.h
+++ b/chrome/browser/policy/messaging_layer/upload/upload_client.h
@@ -8,7 +8,7 @@
 #include <memory>
 #include <vector>
 
-#include "base/task/sequenced_task_runner.h"
+#include "base/task/task_runner.h"
 #include "chrome/browser/policy/messaging_layer/upload/dm_server_uploader.h"
 #include "components/reporting/proto/synced/record.pb.h"
 #include "components/reporting/resources/resource_manager.h"
diff --git a/chrome/browser/policy/messaging_layer/upload/upload_provider.cc b/chrome/browser/policy/messaging_layer/upload/upload_provider.cc
index 0d7b6d7..f23143b 100644
--- a/chrome/browser/policy/messaging_layer/upload/upload_provider.cc
+++ b/chrome/browser/policy/messaging_layer/upload/upload_provider.cc
@@ -104,8 +104,7 @@
 
   // Upload client (protected by sequenced task runner). Once set, is used
   // repeatedly.
-  std::unique_ptr<UploadClient> upload_client_
-      GUARDED_BY_CONTEXT(sequenced_task_checker_);
+  std::unique_ptr<UploadClient> upload_client_;
 
   // Keep this last so that all weak pointers will be invalidated at the
   // beginning of destruction.
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/editing/editable_text_base.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/editing/editable_text_base.js
index 304d47c..79280610 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/editing/editable_text_base.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/editing/editable_text_base.js
@@ -261,7 +261,7 @@
     if (opt_triggeredByUser === true) {
       queueMode = QueueMode.CATEGORY_FLUSH;
     }
-    const props = opt_personality || new TtsSpeechProperties();
+    const props = opt_personality ?? new TtsSpeechProperties();
     props.category = TtsCategory.NAV;
     this.tts.speak(str, queueMode, props);
   }
diff --git a/chrome/browser/resources/settings/chromeos/device_page/per_device_keyboard_remap_keys.ts b/chrome/browser/resources/settings/chromeos/device_page/per_device_keyboard_remap_keys.ts
index 82bc9de0..daad04a 100644
--- a/chrome/browser/resources/settings/chromeos/device_page/per_device_keyboard_remap_keys.ts
+++ b/chrome/browser/resources/settings/chromeos/device_page/per_device_keyboard_remap_keys.ts
@@ -212,6 +212,22 @@
         });
   }
 
+  onKeyboardListUpdated(keyboards: Keyboard[]): void {
+    if (Router.getInstance().currentRoute !==
+        routes.PER_DEVICE_KEYBOARD_REMAP_KEYS) {
+      return;
+    }
+
+    const updatedKeyboard =
+        keyboards.find(keyboard => keyboard.id === this.keyboard.id);
+
+    // If the keyboard is disconnected in remapping page, go back to
+    // per_device_keyboard page.
+    if (!updatedKeyboard) {
+      Router.getInstance().navigateTo(routes.PER_DEVICE_KEYBOARD);
+    }
+  }
+
   /**
    * Initializes the dropdown menu options for remapping keys.
    */
diff --git a/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_unittest.cc b/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_unittest.cc
index 94a9055..03d38025 100644
--- a/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_unittest.cc
+++ b/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_unittest.cc
@@ -189,7 +189,7 @@
 
   extension_prefs_->UpdateExtensionPref(
       extension_id, "last_update_time",
-      std::make_unique<base::Value>(base::TimeToValue(base::Time::Now())));
+      base::Value(base::TimeToValue(base::Time::Now())));
 }
 
 void ExtensionTelemetryServiceTest::UnregisterExtensionWithExtensionService(
diff --git a/chrome/browser/safe_browsing/incident_reporting/extension_data_collection_unittest.cc b/chrome/browser/safe_browsing/incident_reporting/extension_data_collection_unittest.cc
index 6e3add4..ed3b89b 100644
--- a/chrome/browser/safe_browsing/incident_reporting/extension_data_collection_unittest.cc
+++ b/chrome/browser/safe_browsing/incident_reporting/extension_data_collection_unittest.cc
@@ -102,10 +102,9 @@
 
   extension_prefs_->UpdateExtensionPref(
       extension_id, "last_update_time",
-      std::make_unique<base::Value>(
-          base::NumberToString(install_time.ToInternalValue())));
-  extension_prefs_->UpdateExtensionPref(
-      extension_id, "state", std::make_unique<base::Value>(state_value));
+      base::Value(base::NumberToString(install_time.ToInternalValue())));
+  extension_prefs_->UpdateExtensionPref(extension_id, "state",
+                                        base::Value(state_value));
 }
 
 void ExtensionTestingProfile::SetInstallSignature(
diff --git a/chrome/browser/speech/extension_api/tts_engine_extension_api.cc b/chrome/browser/speech/extension_api/tts_engine_extension_api.cc
index de071675..c48b955e 100644
--- a/chrome/browser/speech/extension_api/tts_engine_extension_api.cc
+++ b/chrome/browser/speech/extension_api/tts_engine_extension_api.cc
@@ -446,9 +446,8 @@
 
   // Save these voices to the extension's prefs if they validated.
   auto* extension_prefs = extensions::ExtensionPrefs::Get(browser_context());
-  extension_prefs->UpdateExtensionPref(
-      extension()->id(), kPrefTtsVoices,
-      base::Value::ToUniquePtrValue(voices_data.Clone()));
+  extension_prefs->UpdateExtensionPref(extension()->id(), kPrefTtsVoices,
+                                       voices_data.Clone());
 
   // Notify that voices have changed.
   content::TtsController::GetInstance()->VoicesChanged();
diff --git a/chrome/browser/ssl/https_only_mode_browsertest.cc b/chrome/browser/ssl/https_only_mode_browsertest.cc
index fc456620..3aabdc63 100644
--- a/chrome/browser/ssl/https_only_mode_browsertest.cc
+++ b/chrome/browser/ssl/https_only_mode_browsertest.cc
@@ -1017,6 +1017,28 @@
           contents));
 }
 
+// Tests that if HTTPS-First Mode is disabled, metrics are recorded on
+// upgrade-eligible navigations.
+IN_PROC_BROWSER_TEST_F(HttpsOnlyModeBrowserTest,
+                       MetricsRecordedWhenHFMDisabled) {
+  GURL http_url = http_server()->GetURL("foo.test", "/simple.html");
+
+  // Ensure HTTPS-First Mode is off.
+  SetPref(false);
+
+  // NavigateToURL() returns `true` because the navigation is not redirected.
+  auto* contents = browser()->tab_strip_model()->GetActiveWebContents();
+  EXPECT_TRUE(content::NavigateToURL(contents, http_url));
+
+  EXPECT_EQ(http_url, contents->GetLastCommittedURL());
+  EXPECT_FALSE(chrome_browser_interstitials::IsShowingInterstitial(contents));
+
+  // Verify that navigation event metrics were correctly recorded.
+  histograms()->ExpectTotalCount(kEventHistogram, 1);
+  histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeNotAttempted,
+                                  1);
+}
+
 // A simple test fixture that ensures the kHttpsOnlyMode feature is enabled and
 // constructs a HistogramTester (so that it gets initialized before browser
 // startup). Used for testing pref tracking logic.
diff --git a/chrome/browser/ssl/https_only_mode_navigation_throttle.cc b/chrome/browser/ssl/https_only_mode_navigation_throttle.cc
index 1908b0a..677b9d5 100644
--- a/chrome/browser/ssl/https_only_mode_navigation_throttle.cc
+++ b/chrome/browser/ssl/https_only_mode_navigation_throttle.cc
@@ -19,6 +19,7 @@
 #include "net/base/net_errors.h"
 
 using security_interstitials::https_only_mode::Event;
+using security_interstitials::https_only_mode::RecordHttpsFirstModeNavigation;
 
 namespace {
 
@@ -26,13 +27,6 @@
 // showing the HTTPS-Only Mode interstitial.
 base::TimeDelta g_fallback_delay = base::Seconds(3);
 
-// Helper to record an HTTPS-First Mode navigation event.
-void RecordHttpsFirstModeNavigation(
-    security_interstitials::https_only_mode::Event event) {
-  base::UmaHistogramEnumeration(
-      security_interstitials::https_only_mode::kEventHistogram, event);
-}
-
 }  // namespace
 
 // static
diff --git a/chrome/browser/ssl/https_only_mode_upgrade_interceptor.cc b/chrome/browser/ssl/https_only_mode_upgrade_interceptor.cc
index c055958..12be8068 100644
--- a/chrome/browser/ssl/https_only_mode_upgrade_interceptor.cc
+++ b/chrome/browser/ssl/https_only_mode_upgrade_interceptor.cc
@@ -16,6 +16,7 @@
 #include "components/content_settings/core/common/content_settings_pattern.h"
 #include "components/prefs/pref_service.h"
 #include "components/security_interstitials/content/stateful_ssl_host_state_delegate.h"
+#include "components/security_interstitials/core/https_only_mode_metrics.h"
 #include "content/public/browser/storage_partition.h"
 #include "content/public/browser/web_contents.h"
 #include "extensions/buildflags/buildflags.h"
@@ -31,6 +32,9 @@
 #include "components/guest_view/browser/guest_view_base.h"
 #endif  // BUILDFLAG(ENABLE_EXTENSIONS)
 
+using security_interstitials::https_only_mode::Event;
+using security_interstitials::https_only_mode::RecordHttpsFirstModeNavigation;
+
 namespace {
 
 // Used to handle upgrading/fallback for tests using EmbeddedTestServer which
@@ -77,13 +81,6 @@
     return;
   }
 
-  // Don't upgrade if the HTTPS-Only Mode setting isn't enabled.
-  auto* prefs = profile->GetPrefs();
-  if (!prefs || !prefs->GetBoolean(prefs::kHttpsOnlyModeEnabled)) {
-    std::move(callback).Run({});
-    return;
-  }
-
   auto* web_contents =
       content::WebContents::FromFrameTreeNodeId(frame_tree_node_id_);
   // Could be null if the FrameTreeNode's RenderFrameHost is shutting down.
@@ -101,7 +98,20 @@
   }
 #endif  // BUILDFLAG(ENABLE_EXTENSIONS)
 
+  auto* tab_helper = HttpsOnlyModeTabHelper::FromWebContents(web_contents);
+  if (!tab_helper) {
+    HttpsOnlyModeTabHelper::CreateForWebContents(web_contents);
+    tab_helper = HttpsOnlyModeTabHelper::FromWebContents(web_contents);
+  }
+
+  // If the navigation doesn't meet upgrade criteria, don't intercept it.
+  if (!ShouldCreateLoader(tentative_resource_request, tab_helper)) {
+    std::move(callback).Run({});
+    return;
+  }
+
   // Check if the hostname is in the enterprise policy HTTP allowlist.
+  PrefService* prefs = profile->GetPrefs();
   if (IsHostnameInAllowlist(tentative_resource_request.url,
                             prefs->GetList(prefs::kHttpAllowlist))) {
     std::move(callback).Run({});
@@ -118,7 +128,7 @@
   auto query_complete_callback = base::BindOnce(
       &HttpsOnlyModeUpgradeInterceptor::MaybeCreateLoaderOnHstsQueryCompleted,
       weak_factory_.GetWeakPtr(), tentative_resource_request, browser_context,
-      std::move(callback), profile, prefs, web_contents);
+      std::move(callback), profile, web_contents);
   network::mojom::NetworkContext* network_context =
       profile->GetDefaultStoragePartition()->GetNetworkContext();
   network_context->IsHSTSActiveForHost(
@@ -133,7 +143,6 @@
     content::BrowserContext* browser_context,
     content::URLLoaderRequestInterceptor::LoaderCallback callback,
     Profile* profile,
-    PrefService* prefs,
     content::WebContents* web_contents,
     bool is_hsts_active_for_host) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -144,54 +153,51 @@
     return;
   }
 
+  // If the navigation is a fallback, redirect to the original URL.
   auto* tab_helper = HttpsOnlyModeTabHelper::FromWebContents(web_contents);
-  if (!tab_helper) {
-    HttpsOnlyModeTabHelper::CreateForWebContents(web_contents);
-    tab_helper = HttpsOnlyModeTabHelper::FromWebContents(web_contents);
-  }
-  if (ShouldCreateLoader(tentative_resource_request, tab_helper)) {
-    // If the navigation is a fallback, redirect to the original URL.
-    if (tab_helper->is_navigation_fallback()) {
-      tab_helper->set_is_navigation_fallback(false);
-      CreateHttpsRedirectLoader(tentative_resource_request,
-                                std::move(callback));
-      redirect_url_loader_->StartRedirectToOriginalURL(
-          tab_helper->fallback_url());
-      return;
-    }
-
-    // Don't upgrade navigation if it is allowlisted.
-    StatefulSSLHostStateDelegate* state =
-        static_cast<StatefulSSLHostStateDelegate*>(
-            profile->GetSSLHostStateDelegate());
-    // StatefulSSLHostStateDelegate can be null during tests.
-    auto* storage_partition =
-        web_contents->GetPrimaryMainFrame()->GetStoragePartition();
-    if (state &&
-        state->IsHttpAllowedForHost(tentative_resource_request.url.host(),
-                                    storage_partition)) {
-      // Renew the allowlist expiration for this host as the user is still
-      // actively using it. This means that the allowlist entry will stay
-      // valid until the user stops visiting this host for the entire
-      // expiration period (one week).
-      state->AllowHttpForHost(tentative_resource_request.url.host(),
-                              storage_partition);
-
-      std::move(callback).Run({});
-      return;
-    }
-
-    // Mark navigation as upgraded.
-    tab_helper->set_is_navigation_upgraded(true);
-    tab_helper->set_fallback_url(tentative_resource_request.url);
+  if (tab_helper->is_navigation_fallback()) {
+    tab_helper->set_is_navigation_fallback(false);
     CreateHttpsRedirectLoader(tentative_resource_request, std::move(callback));
-    // `redirect_url_loader_` can be null after this call.
-    redirect_url_loader_->StartRedirectToHttps(frame_tree_node_id_);
+    redirect_url_loader_->StartRedirectToOriginalURL(
+        tab_helper->fallback_url());
     return;
   }
 
-  // Navigation doesn't meet upgrade criteria, so don't intercept it.
-  std::move(callback).Run({});
+  // Don't upgrade if HTTPS-Only Mode isn't enabled, but record metrics.
+  auto* prefs = profile->GetPrefs();
+  if (!prefs || !prefs->GetBoolean(prefs::kHttpsOnlyModeEnabled)) {
+    RecordHttpsFirstModeNavigation(Event::kUpgradeNotAttempted);
+    std::move(callback).Run({});
+    return;
+  }
+
+  // Don't upgrade navigation if it is allowlisted.
+  StatefulSSLHostStateDelegate* state =
+      static_cast<StatefulSSLHostStateDelegate*>(
+          profile->GetSSLHostStateDelegate());
+  // StatefulSSLHostStateDelegate can be null during tests.
+  auto* storage_partition =
+      web_contents->GetPrimaryMainFrame()->GetStoragePartition();
+  if (state && state->IsHttpAllowedForHost(
+                   tentative_resource_request.url.host(), storage_partition)) {
+    // Renew the allowlist expiration for this host as the user is still
+    // actively using it. This means that the allowlist entry will stay
+    // valid until the user stops visiting this host for the entire
+    // expiration period (one week).
+    state->AllowHttpForHost(tentative_resource_request.url.host(),
+                            storage_partition);
+
+    std::move(callback).Run({});
+    return;
+  }
+
+  // Mark navigation as upgraded.
+  tab_helper->set_is_navigation_upgraded(true);
+  tab_helper->set_fallback_url(tentative_resource_request.url);
+  CreateHttpsRedirectLoader(tentative_resource_request, std::move(callback));
+  // `redirect_url_loader_` can be null after this call.
+  redirect_url_loader_->StartRedirectToHttps(frame_tree_node_id_);
+  return;
 }
 
 // static
diff --git a/chrome/browser/ssl/https_only_mode_upgrade_interceptor.h b/chrome/browser/ssl/https_only_mode_upgrade_interceptor.h
index 4609ce9a..813d9d6c 100644
--- a/chrome/browser/ssl/https_only_mode_upgrade_interceptor.h
+++ b/chrome/browser/ssl/https_only_mode_upgrade_interceptor.h
@@ -18,7 +18,6 @@
 class WebContents;
 }  // namespace content
 
-class PrefService;
 class Profile;
 
 // A class that attempts to intercept HTTP navigation requests and redirect them
@@ -47,7 +46,6 @@
       content::BrowserContext* browser_context,
       content::URLLoaderRequestInterceptor::LoaderCallback callback,
       Profile* profile,
-      PrefService* prefs,
       content::WebContents* web_contents,
       bool is_hsts_active_for_host);
 
diff --git a/chrome/browser/ssl/https_upgrades_browsertest.cc b/chrome/browser/ssl/https_upgrades_browsertest.cc
index 26ab57d6..ce5e614e 100644
--- a/chrome/browser/ssl/https_upgrades_browsertest.cc
+++ b/chrome/browser/ssl/https_upgrades_browsertest.cc
@@ -50,10 +50,13 @@
 // vs. HTTPS-Upgrades. These get parameterized so the tests run under both
 // versions on their own as well as when both HTTPS Upgrades and HTTPS-First
 // Mode are enabled (to test any interactions between the two upgrade modes).
+// The code also needs to be able to run safely when v2 is enabled, but neither
+// HTTPS-First Mode nor HTTPS-Upgrades are enabled.
 enum class HttpsUpgradesTestType {
   kHttpsFirstModeOnly,
   kHttpsUpgradesOnly,
-  kBoth
+  kBoth,
+  kNeither
 };
 
 // Tests for the v2 implementation of HTTPS-First Mode.
@@ -65,7 +68,8 @@
   ~HttpsUpgradesBrowserTest() override = default;
 
   void SetUp() override {
-    if (GetParam() != HttpsUpgradesTestType::kHttpsFirstModeOnly) {
+    if (GetParam() == HttpsUpgradesTestType::kHttpsUpgradesOnly ||
+        GetParam() == HttpsUpgradesTestType::kBoth) {
       feature_list_.InitWithFeatures(
           /*enabled_features=*/{features::kHttpsFirstModeV2,
                                 features::kHttpsUpgrades},
@@ -100,9 +104,9 @@
     HttpsUpgradesInterceptor::SetHttpsPortForTesting(https_server()->port());
     HttpsUpgradesInterceptor::SetHttpPortForTesting(http_server()->port());
 
-    // For the kHttpsUpgradesOnly test variant, don't enable the HTTPS-First
-    // Mode pref.
-    if (GetParam() == HttpsUpgradesTestType::kHttpsUpgradesOnly) {
+    // Only enable the HTTPS-First Mode pref when the test config calls for it.
+    if (GetParam() == HttpsUpgradesTestType::kHttpsUpgradesOnly ||
+        GetParam() == HttpsUpgradesTestType::kNeither) {
       SetPref(false);
     } else {
       SetPref(true);
@@ -159,7 +163,13 @@
   // trigger (i.e., for fallback HTTP navigations when HTTPS-First Mode is
   // enabled).
   bool IsHttpInterstitialEnabled() const {
-    return GetParam() != HttpsUpgradesTestType::kHttpsUpgradesOnly;
+    return (GetParam() == HttpsUpgradesTestType::kHttpsFirstModeOnly ||
+            GetParam() == HttpsUpgradesTestType::kBoth);
+  }
+
+  // Whether the tests should run steps that assume HTTP upgrading will trigger.
+  bool IsHttpUpgradingEnabled() const {
+    return GetParam() != HttpsUpgradesTestType::kNeither;
   }
 
   net::EmbeddedTestServer* http_server() { return &http_server_; }
@@ -179,7 +189,8 @@
     HttpsUpgradesBrowserTest,
     ::testing::Values(HttpsUpgradesTestType::kHttpsFirstModeOnly,
                       HttpsUpgradesTestType::kHttpsUpgradesOnly,
-                      HttpsUpgradesTestType::kBoth),
+                      HttpsUpgradesTestType::kBoth,
+                      HttpsUpgradesTestType::kNeither),
     // Map param to a human-readable string for better test output.
     [](testing::TestParamInfo<HttpsUpgradesTestType> input_type)
         -> std::string {
@@ -190,11 +201,14 @@
           return "HttpsUpgradesOnly";
         case HttpsUpgradesTestType::kBoth:
           return "BothHttpsFirstModeAndHttpsUpgrades";
+        case HttpsUpgradesTestType::kNeither:
+          return "NeitherHttpsFirstModeNorHttpsUpgrades";
       }
     });
 
 // If the user navigates to an HTTP URL for a site that supports HTTPS, the
-// navigation should end up on the HTTPS version of the URL.
+// navigation should end up on the HTTPS version of the URL if upgrading is
+// enabled.
 IN_PROC_BROWSER_TEST_P(HttpsUpgradesBrowserTest,
                        UrlWithHttpScheme_ShouldUpgrade) {
   GURL http_url = http_server()->GetURL("foo.test", "/simple.html");
@@ -204,17 +218,29 @@
   // redirected to HTTPS.
   auto* contents = browser()->tab_strip_model()->GetActiveWebContents();
   content::TestNavigationObserver nav_observer(contents, 1);
-  EXPECT_FALSE(content::NavigateToURL(contents, http_url));
+  if (IsHttpUpgradingEnabled()) {
+    EXPECT_FALSE(content::NavigateToURL(contents, http_url));
+  } else {
+    EXPECT_TRUE(content::NavigateToURL(contents, http_url));
+  }
   nav_observer.Wait();
 
   EXPECT_TRUE(nav_observer.last_navigation_succeeded());
-  EXPECT_EQ(https_url, contents->GetLastCommittedURL());
   EXPECT_FALSE(chrome_browser_interstitials::IsShowingInterstitial(contents));
 
-  // Verify that navigation event metrics were correctly recorded.
-  histograms()->ExpectTotalCount(kEventHistogram, 2);
-  histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeAttempted, 1);
-  histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeSucceeded, 1);
+  if (IsHttpUpgradingEnabled()) {
+    EXPECT_EQ(https_url, contents->GetLastCommittedURL());
+    histograms()->ExpectTotalCount(kEventHistogram, 2);
+    histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeAttempted,
+                                    1);
+    histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeSucceeded,
+                                    1);
+  } else {
+    EXPECT_EQ(http_url, contents->GetLastCommittedURL());
+    histograms()->ExpectTotalCount(kEventHistogram, 1);
+    histograms()->ExpectBucketCount(kEventHistogram,
+                                    Event::kUpgradeNotAttempted, 1);
+  }
 }
 
 // If the user navigates to an HTTPS URL for a site that supports HTTPS, the
@@ -281,10 +307,18 @@
   }
 
   // Verify that navigation event metrics were correctly recorded.
-  histograms()->ExpectTotalCount(kEventHistogram, 3);
-  histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeAttempted, 1);
-  histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeFailed, 1);
-  histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeCertError, 1);
+  if (IsHttpUpgradingEnabled()) {
+    histograms()->ExpectTotalCount(kEventHistogram, 3);
+    histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeAttempted,
+                                    1);
+    histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeFailed, 1);
+    histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeCertError,
+                                    1);
+  } else {
+    histograms()->ExpectTotalCount(kEventHistogram, 1);
+    histograms()->ExpectBucketCount(kEventHistogram,
+                                    Event::kUpgradeNotAttempted, 1);
+  }
 }
 
 // If the user triggers an HTTPS-Only Mode interstitial for a host and then
@@ -318,16 +352,28 @@
   EXPECT_EQ(http_url, contents->GetLastCommittedURL());
 
   // Verify that navigation event metrics were correctly recorded.
-  histograms()->ExpectTotalCount(kEventHistogram, 3);
-  histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeAttempted, 1);
-  histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeFailed, 1);
-  histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeCertError, 1);
+  if (IsHttpUpgradingEnabled()) {
+    histograms()->ExpectTotalCount(kEventHistogram, 3);
+    histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeAttempted,
+                                    1);
+    histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeFailed, 1);
+    histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeCertError,
+                                    1);
+  } else {
+    histograms()->ExpectTotalCount(kEventHistogram, 1);
+    histograms()->ExpectBucketCount(kEventHistogram,
+                                    Event::kUpgradeNotAttempted, 1);
+  }
 }
 
 // If the upgraded HTTPS URL is not available due to a net error, it should
 // trigger the HTTPS-Only Mode interstitial and offer fallback.
 IN_PROC_BROWSER_TEST_P(HttpsUpgradesBrowserTest,
                        NetErrorOnUpgrade_ShouldInterstitial) {
+  // This test is only interesting when HTTPS Upgrading occurs.
+  if (!IsHttpUpgradingEnabled()) {
+    return;
+  }
   GURL http_url = http_server()->GetURL("foo.test", "/close-socket");
   GURL https_url = https_server()->GetURL("foo.test", "/close-socket");
 
@@ -392,7 +438,13 @@
   }
 
   // Verify that navigation event metrics were recorded for the main frame.
-  histograms()->ExpectTotalCount(kEventHistogram, 3);
+  if (IsHttpUpgradingEnabled()) {
+    histograms()->ExpectTotalCount(kEventHistogram, 3);
+  } else {
+    histograms()->ExpectTotalCount(kEventHistogram, 1);
+    histograms()->ExpectBucketCount(kEventHistogram,
+                                    Event::kUpgradeNotAttempted, 1);
+  }
 
   // Navigate the iframe to `iframe_url`. It should successfully navigate and
   // not get upgraded to HTTPS as the hostname is now in the allowlist.
@@ -402,7 +454,13 @@
   EXPECT_EQ(iframe_url, nav_observer.last_navigation_url());
 
   // Verify that no new navigation event metrics were recorded for the subframe.
-  histograms()->ExpectTotalCount(kEventHistogram, 3);
+  if (IsHttpUpgradingEnabled()) {
+    histograms()->ExpectTotalCount(kEventHistogram, 3);
+  } else {
+    histograms()->ExpectTotalCount(kEventHistogram, 1);
+    histograms()->ExpectBucketCount(kEventHistogram,
+                                    Event::kUpgradeNotAttempted, 1);
+  }
 }
 
 // Tests that a navigation to the HTTP version of a site with an HTTPS version
@@ -463,7 +521,13 @@
   }
 
   // Verify that navigation event metrics were recorded for the initial page.
-  histograms()->ExpectTotalCount(kEventHistogram, 3);
+  if (IsHttpUpgradingEnabled()) {
+    histograms()->ExpectTotalCount(kEventHistogram, 3);
+  } else {
+    histograms()->ExpectTotalCount(kEventHistogram, 1);
+    histograms()->ExpectBucketCount(kEventHistogram,
+                                    Event::kUpgradeNotAttempted, 1);
+  }
 
   // Submit the form and wait for the navigation to complete.
   content::TestNavigationObserver nav_observer(contents, 1);
@@ -477,7 +541,13 @@
 
   // Verify that no new navigation event metrics were recorded for the POST
   // navigation.
-  histograms()->ExpectTotalCount(kEventHistogram, 3);
+  if (IsHttpUpgradingEnabled()) {
+    histograms()->ExpectTotalCount(kEventHistogram, 3);
+  } else {
+    histograms()->ExpectTotalCount(kEventHistogram, 1);
+    histograms()->ExpectBucketCount(kEventHistogram,
+                                    Event::kUpgradeNotAttempted, 1);
+  }
 }
 
 // Tests that if an HTTPS navigation redirects to HTTP on a different host, it
@@ -499,13 +569,22 @@
   nav_observer.Wait();
   EXPECT_TRUE(nav_observer.last_navigation_succeeded());
 
-  EXPECT_TRUE(contents->GetLastCommittedURL().SchemeIs(url::kHttpsScheme));
-  EXPECT_EQ("bar.test", contents->GetLastCommittedURL().host());
-
   // Verify that navigation event metrics were correctly recorded.
-  histograms()->ExpectTotalCount(kEventHistogram, 2);
-  histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeAttempted, 1);
-  histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeSucceeded, 1);
+  if (IsHttpUpgradingEnabled()) {
+    EXPECT_TRUE(contents->GetLastCommittedURL().SchemeIs(url::kHttpsScheme));
+    histograms()->ExpectTotalCount(kEventHistogram, 2);
+    histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeAttempted,
+                                    1);
+    histograms()->ExpectBucketCount(kEventHistogram, Event::kUpgradeSucceeded,
+                                    1);
+  } else {
+    EXPECT_TRUE(contents->GetLastCommittedURL().SchemeIs(url::kHttpScheme));
+    histograms()->ExpectTotalCount(kEventHistogram, 1);
+    histograms()->ExpectBucketCount(kEventHistogram,
+                                    Event::kUpgradeNotAttempted, 1);
+  }
+
+  EXPECT_EQ("bar.test", contents->GetLastCommittedURL().host());
 }
 
 // Tests that navigating to an HTTPS page that downgrades to HTTP on the same
@@ -629,6 +708,10 @@
 // state).
 IN_PROC_BROWSER_TEST_P(HttpsUpgradesBrowserTest,
                        HttpsUpgradeWithBrokenSSL_ShouldTriggerSSLInterstitial) {
+  // If HTTPS upgrading isn't enabled, skip over this test.
+  if (!IsHttpUpgradingEnabled()) {
+    return;
+  }
   // Set up a new test server instance so it can have a custom handler that
   // redirects to the HTTPS server.
   net::EmbeddedTestServer upgrading_server{net::EmbeddedTestServer::TYPE_HTTP};
@@ -915,8 +998,11 @@
   }
 
   EXPECT_EQ(http_url, contents->GetLastCommittedURL());
-  EXPECT_TRUE(state->IsHttpAllowedForHost(
-      http_url.host(), contents->GetPrimaryMainFrame()->GetStoragePartition()));
+  if (IsHttpUpgradingEnabled()) {
+    EXPECT_TRUE(state->IsHttpAllowedForHost(
+        http_url.host(),
+        contents->GetPrimaryMainFrame()->GetStoragePartition()));
+  }
 
   // Simulate the clock advancing by eight days, which is past the expiration
   // point.
@@ -968,6 +1054,15 @@
   }
 
   EXPECT_EQ(http_url, contents->GetLastCommittedURL());
+
+  // If upgrading isn't enabled, ensure the host wasn't allowlisted and exit.
+  if (!IsHttpUpgradingEnabled()) {
+    EXPECT_FALSE(state->IsHttpAllowedForHost(
+        http_url.host(),
+        contents->GetPrimaryMainFrame()->GetStoragePartition()));
+    return;
+  }
+
   EXPECT_TRUE(state->IsHttpAllowedForHost(
       http_url.host(), contents->GetPrimaryMainFrame()->GetStoragePartition()));
 
@@ -1126,6 +1221,10 @@
 // hostname pattern, and bare IP address cases.
 IN_PROC_BROWSER_TEST_P(HttpsUpgradesBrowserTest,
                        EnterpriseAllowlistDisablesUpgrades) {
+  // Skip this test when HTTPS Upgrading isn't enabled.
+  if (!IsHttpUpgradingEnabled()) {
+    return;
+  }
   content::WebContents* contents =
       browser()->tab_strip_model()->GetActiveWebContents();
 
diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/ssl/https_upgrades_interceptor.cc
index 0bd20a9..b7f361b 100644
--- a/chrome/browser/ssl/https_upgrades_interceptor.cc
+++ b/chrome/browser/ssl/https_upgrades_interceptor.cc
@@ -44,6 +44,8 @@
 #include "components/guest_view/browser/guest_view_base.h"
 #endif  // BUILDFLAG(ENABLE_EXTENSIONS)
 
+using security_interstitials::https_only_mode::RecordHttpsFirstModeNavigation;
+
 namespace {
 
 // Used to handle upgrading/fallback for tests using EmbeddedTestServer which
@@ -94,15 +96,6 @@
   return false;
 }
 
-// Helper to record an HTTPS-First Mode navigation event.
-// TODO(crbug.com/1394910): Rename these metrics now that they apply to both
-// HTTPS-First Mode and HTTPS Upgrades.
-void RecordHttpsFirstModeNavigation(
-    security_interstitials::https_only_mode::Event event) {
-  base::UmaHistogramEnumeration(
-      security_interstitials::https_only_mode::kEventHistogram, event);
-}
-
 // Helper to configure an artificial redirect to `new_url`. This configures
 // `response_head` and returns a computed RedirectInfo so both can be passed to
 // URLLoaderClient::OnReceiveRedirect() to trigger the redirect.
@@ -153,18 +146,9 @@
     return nullptr;
   }
   PrefService* prefs = profile->GetPrefs();
-  // Both HTTPS-First Mode and HTTPS-Upgrades are forms of upgrading all HTTP
-  // navigations to HTTPS, with HTTPS-First Mode additionally enabling the
-  // HTTP interstitial on fallback.
   bool https_first_mode_enabled =
       base::FeatureList::IsEnabled(features::kHttpsFirstModeV2) && prefs &&
       prefs->GetBoolean(prefs::kHttpsOnlyModeEnabled);
-  bool https_upgrades_enabled =
-      https_first_mode_enabled ||
-      base::FeatureList::IsEnabled(features::kHttpsUpgrades);
-  if (!https_upgrades_enabled) {
-    return nullptr;
-  }
   return std::make_unique<HttpsUpgradesInterceptor>(frame_tree_node_id,
                                                     https_first_mode_enabled);
 }
@@ -194,22 +178,6 @@
     return;
   }
 
-  // TODO(crbug.com/1394910): Check for HttpsUpgrades and HttpsAllowlist
-  // enterprise policies as well. It might be best to consolidate these checks
-  // into the HttpsUpgradesNavigationThrottle which sees the navigation first.
-  auto* prefs = profile->GetPrefs();
-  bool https_first_mode_enabled =
-      base::FeatureList::IsEnabled(features::kHttpsFirstModeV2) && prefs &&
-      prefs->GetBoolean(prefs::kHttpsOnlyModeEnabled);
-  bool https_upgrades_enabled =
-      base::FeatureList::IsEnabled(features::kHttpsUpgrades) ||
-      https_first_mode_enabled;
-  if (!https_upgrades_enabled) {
-    // Don't upgrade the request and let the default loader continue.
-    std::move(callback).Run({});
-    return;
-  }
-
   auto* web_contents =
       content::WebContents::FromFrameTreeNodeId(frame_tree_node_id_);
   // Could be null if the FrameTreeNode's RenderFrameHost is shutting down.
@@ -235,6 +203,7 @@
 
   // Don't upgrade navigation if it is allowlisted.
   // First, check the enterprise policy HTTP allowlist.
+  PrefService* prefs = profile->GetPrefs();
   if (IsHostnameInAllowlist(tentative_resource_request.url,
                             prefs->GetList(prefs::kHttpAllowlist))) {
     std::move(callback).Run({});
@@ -331,6 +300,24 @@
     return;
   }
 
+  // TODO(crbug.com/1394910): Check for HttpsUpgrades and HttpsAllowlist
+  // enterprise policies as well (possibly earlier). It might be best to
+  // consolidate these checks into the HttpsUpgradesNavigationThrottle which
+  // sees the navigation first, but we need to ensure not to break metrics in
+  // the process.
+
+  // Both HTTPS-First Mode and HTTPS-Upgrades are forms of upgrading all HTTP
+  // navigations to HTTPS, with HTTPS-First Mode additionally enabling the
+  // HTTP interstitial on fallback.
+  if (!base::FeatureList::IsEnabled(features::kHttpsUpgrades) &&
+      !http_interstitial_enabled_) {
+    // Don't upgrade the request and let the default loader continue, but record
+    // that the request *would have* upgraded, had upgrading been enabled.
+    RecordHttpsFirstModeNavigation(Event::kUpgradeNotAttempted);
+    std::move(callback).Run({});
+    return;
+  }
+
   // Mark navigation as upgraded.
   tab_helper->set_is_navigation_upgraded(true);
   tab_helper->set_fallback_url(tentative_resource_request.url);
@@ -372,7 +359,7 @@
   }
 
   auto* tab_helper = HttpsOnlyModeTabHelper::FromWebContents(web_contents);
-  if (!tab_helper->is_navigation_upgraded()) {
+  if (!tab_helper || !tab_helper->is_navigation_upgraded()) {
     return false;
   }
 
diff --git a/chrome/browser/ssl/https_upgrades_navigation_throttle.cc b/chrome/browser/ssl/https_upgrades_navigation_throttle.cc
index a84631c..95de4ba 100644
--- a/chrome/browser/ssl/https_upgrades_navigation_throttle.cc
+++ b/chrome/browser/ssl/https_upgrades_navigation_throttle.cc
@@ -6,7 +6,6 @@
 
 #include "base/feature_list.h"
 #include "base/memory/weak_ptr.h"
-#include "base/metrics/histogram_functions.h"
 #include "base/task/sequenced_task_runner.h"
 #include "base/time/time.h"
 #include "chrome/browser/ssl/https_only_mode_tab_helper.h"
@@ -32,15 +31,6 @@
 // showing the HTTPS-First Mode interstitial.
 base::TimeDelta g_fallback_delay = base::Seconds(3);
 
-// Helper to record an HTTPS-First Mode navigation event.
-// TODO(crbug.com/1394910): Rename these metrics now that they apply to both
-// HTTPS-First Mode and HTTPS Upgrades.
-void RecordHttpsFirstModeNavigation(
-    security_interstitials::https_only_mode::Event event) {
-  base::UmaHistogramEnumeration(
-      security_interstitials::https_only_mode::kEventHistogram, event);
-}
-
 }  // namespace
 
 // static
diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn
index 88966c9..abea7b2b9 100644
--- a/chrome/browser/ui/android/omnibox/BUILD.gn
+++ b/chrome/browser/ui/android/omnibox/BUILD.gn
@@ -124,7 +124,6 @@
     "java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionViewBinder.java",
     "java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionViewProperties.java",
     "java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalView.java",
-    "java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalViewProperties.java",
     "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/AlignmentManager.java",
     "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionProcessor.java",
     "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionView.java",
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxPedalDelegate.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxPedalDelegate.java
index 470b235..0234acee 100644
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxPedalDelegate.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxPedalDelegate.java
@@ -4,9 +4,9 @@
 
 package org.chromium.chrome.browser.omnibox.suggestions;
 
+import androidx.annotation.DrawableRes;
 import androidx.annotation.NonNull;
 
-import org.chromium.chrome.browser.omnibox.suggestions.pedal.PedalViewProperties.PedalIcon;
 import org.chromium.components.omnibox.action.OmniboxPedal;
 
 /**
@@ -14,6 +14,23 @@
  */
 public interface OmniboxPedalDelegate {
     /**
+     * Describes the ChipView decoration.
+     */
+    public static final class ChipIcon {
+        public final @DrawableRes int iconRes;
+        public final boolean tintWithTextColor;
+
+        /**
+         * @param iconRes The resource Id of the icon to be shown beside the text.
+         * @param tintWithTextColor Whether to tint the icon using primary text color.
+         */
+        public ChipIcon(@DrawableRes int iconRes, boolean tintWithTextColor) {
+            this.iconRes = iconRes;
+            this.tintWithTextColor = tintWithTextColor;
+        }
+    }
+
+    /**
      * Call this method when the pedal is clicked.
      *
      * @param omniboxPedal the {@link OmniboxPedal} whose action we want to execute.
@@ -27,5 +44,5 @@
      * @return The icon's information.
      */
     @NonNull
-    PedalIcon getIcon(OmniboxPedal omniboxPedal);
-}
\ No newline at end of file
+    ChipIcon getIcon(OmniboxPedal omniboxPedal);
+}
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/base/BaseSuggestionViewBinder.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/base/BaseSuggestionViewBinder.java
index 321d52d..ed01c893 100644
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/base/BaseSuggestionViewBinder.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/base/BaseSuggestionViewBinder.java
@@ -4,6 +4,7 @@
 
 package org.chromium.chrome.browser.omnibox.suggestions.base;
 
+import android.content.Context;
 import android.content.res.ColorStateList;
 import android.content.res.Resources;
 import android.graphics.drawable.ColorDrawable;
@@ -19,6 +20,7 @@
 import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
 import android.widget.ImageView;
 
+import androidx.annotation.ColorInt;
 import androidx.annotation.ColorRes;
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.content.res.AppCompatResources;
@@ -267,10 +269,7 @@
 
         // Background color to be used for suggestions
         var ctx = view.getContext();
-        var background = new ColorDrawable(isIncognito(model)
-                        ? ctx.getColor(R.color.omnibox_suggestion_bg_incognito)
-                        : ChromeColors.getSurfaceColor(
-                                ctx, R.dimen.omnibox_suggestion_bg_elevation));
+        var background = new ColorDrawable(getSuggestionBackgroundColor(model, view.getContext()));
         // Ripple effect to use when the user interacts with the suggestion.
         var ripple = OmniboxResourceProvider.resolveAttributeToDrawable(ctx,
                 model.get(SuggestionCommonProperties.COLOR_SCHEME),
@@ -285,6 +284,19 @@
     }
 
     /**
+     * Retrieve the background color to be applied to suggestion.
+     *
+     * @param model A property model to look up relevant properties.
+     * @param ctx Context used to retrieve appropriate color value.
+     * @return @ColorInt value representing the color to be applied.
+     */
+    public static @ColorInt int getSuggestionBackgroundColor(PropertyModel model, Context ctx) {
+        return isIncognito(model)
+                ? ctx.getColor(R.color.omnibox_suggestion_bg_incognito)
+                : ChromeColors.getSurfaceColor(ctx, R.dimen.omnibox_suggestion_bg_elevation);
+    }
+
+    /**
      * Checks whether cached FocusableDrawableState should be reset.
      *
      * TODO(ender): Relocate this to appropriate OmniboxResourceManager class.
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionProcessor.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionProcessor.java
index ea5dd227..c038242 100644
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionProcessor.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionProcessor.java
@@ -7,10 +7,10 @@
 import android.content.Context;
 
 import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
 import androidx.collection.ArraySet;
 
 import org.chromium.base.metrics.RecordHistogram;
+import org.chromium.chrome.browser.omnibox.R;
 import org.chromium.chrome.browser.omnibox.UrlBarEditingTextStateProvider;
 import org.chromium.chrome.browser.omnibox.action.OmniboxActionType;
 import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate;
@@ -21,7 +21,7 @@
 import org.chromium.chrome.browser.omnibox.suggestions.SuggestionsMetrics;
 import org.chromium.chrome.browser.omnibox.suggestions.base.BaseSuggestionViewProperties;
 import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor;
-import org.chromium.chrome.browser.omnibox.suggestions.pedal.PedalViewProperties.PedalIcon;
+import org.chromium.components.browser_ui.widget.chips.ChipProperties;
 import org.chromium.components.omnibox.AutocompleteMatch;
 import org.chromium.components.omnibox.action.OmniboxPedal;
 import org.chromium.ui.modelutil.MVCListAdapter.ListItem;
@@ -38,6 +38,7 @@
     // Only show pedals when the suggestion is on the top 3 suggestions.
     private static final int PEDAL_MAX_SHOW_POSITION = 3;
 
+    private final @NonNull Context mContext;
     private final @NonNull OmniboxPedalDelegate mOmniboxPedalDelegate;
     private final @NonNull AutocompleteDelegate mAutocompleteDelegate;
     private @NonNull Set<Integer> mLastVisiblePedals = new ArraySet<>();
@@ -58,6 +59,7 @@
             @NonNull OmniboxPedalDelegate omniboxPedalDelegate,
             @NonNull AutocompleteDelegate autocompleteDelegate) {
         super(context, suggestionHost, editingTextProvider, faviconFetcher, bookmarkState);
+        mContext = context;
         mOmniboxPedalDelegate = omniboxPedalDelegate;
         mAutocompleteDelegate = autocompleteDelegate;
     }
@@ -102,20 +104,27 @@
         final int pedalsCount = omniboxPedalList.size();
         final List<ListItem> modelList = new ArrayList<>(pedalsCount);
 
-        for (OmniboxPedal omniboxPedal : omniboxPedalList) {
-            final PropertyModel pedalModel = new PropertyModel(PedalViewProperties.ALL_KEYS);
-            pedalModel.set(PedalViewProperties.PEDAL, omniboxPedal);
-            pedalModel.set(PedalViewProperties.PEDAL_ICON, getPedalIcon(omniboxPedal));
-            pedalModel.set(
-                    PedalViewProperties.ON_PEDAL_CLICK, v -> executeAction(omniboxPedal, position));
+        for (OmniboxPedal chip : omniboxPedalList) {
+            final var chipModel = new PropertyModel.Builder(ChipProperties.ALL_KEYS)
+                                          .with(ChipProperties.TEXT, chip.getHint())
+                                          .build();
+
+            // Apply changes manually to investigate bizarre CQ finding.
+            final var chipIcon = mOmniboxPedalDelegate.getIcon(chip);
+            chipModel.set(ChipProperties.CONTENT_DESCRIPTION,
+                    mContext.getString(R.string.accessibility_omnibox_pedal, chip.getHint()));
+            chipModel.set(ChipProperties.ENABLED, true);
+            chipModel.set(ChipProperties.CLICK_HANDLER, m -> executeAction(chip, position));
+            chipModel.set(ChipProperties.ICON, chipIcon.iconRes);
+            chipModel.set(ChipProperties.APPLY_ICON_TINT, chipIcon.tintWithTextColor);
 
             modelList.add(
-                    new ListItem(PedalSuggestionViewProperties.ViewType.PEDAL_VIEW, pedalModel));
+                    new ListItem(PedalSuggestionViewProperties.ViewType.PEDAL_VIEW, chipModel));
 
-            if (omniboxPedal.hasPedalId()) {
-                mLastVisiblePedals.add(omniboxPedal.getPedalID());
-            } else if (omniboxPedal.hasActionId()
-                    && omniboxPedal.getActionID() == OmniboxActionType.HISTORY_CLUSTERS) {
+            if (chip.hasPedalId()) {
+                mLastVisiblePedals.add(chip.getPedalID());
+            } else if (chip.hasActionId()
+                    && chip.getActionID() == OmniboxActionType.HISTORY_CLUSTERS) {
                 mJourneysActionShownPosition = position;
             }
         }
@@ -125,16 +134,6 @@
                 BaseSuggestionViewProperties.DENSITY, BaseSuggestionViewProperties.Density.COMPACT);
     }
 
-    /**
-     * Get default icon for pedal suggestion.
-     * @param omniboxPedal OmniboxPedal for the suggestion.
-     * @return The icon's information.
-     */
-    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
-    PedalIcon getPedalIcon(@NonNull OmniboxPedal omniboxPedal) {
-        return mOmniboxPedalDelegate.getIcon(omniboxPedal);
-    }
-
     void executeAction(@NonNull OmniboxPedal omniboxPedal, int position) {
         if (omniboxPedal.hasActionId()
                 && omniboxPedal.getActionID() == OmniboxActionType.HISTORY_CLUSTERS) {
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionView.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionView.java
index 88a84a9..c922f05 100644
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionView.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionView.java
@@ -7,7 +7,6 @@
 import android.content.Context;
 import android.view.KeyEvent;
 import android.view.View;
-import android.widget.TextView;
 
 import androidx.annotation.LayoutRes;
 import androidx.annotation.NonNull;
@@ -70,12 +69,6 @@
         return mBaseSuggestionView;
     }
 
-    /** @return The Primary TextView in the pedal view. */
-    @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
-    public TextView getPedalTextView() {
-        return mPedalList.get(0).getPedalTextView();
-    }
-
     /** @return The {@link ChipView} in this view. */
     @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
     public ChipView getPedalChipView() {
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionViewBinder.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionViewBinder.java
index d9a572a8..7e5ea1ac 100644
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionViewBinder.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalSuggestionViewBinder.java
@@ -4,19 +4,15 @@
 
 package org.chromium.chrome.browser.omnibox.suggestions.pedal;
 
-import android.graphics.Color;
 import android.view.View;
 
 import androidx.core.view.ViewCompat;
 
-import org.chromium.chrome.browser.omnibox.R;
 import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider;
 import org.chromium.chrome.browser.omnibox.suggestions.DropdownCommonProperties;
 import org.chromium.chrome.browser.omnibox.suggestions.SuggestionCommonProperties;
 import org.chromium.chrome.browser.omnibox.suggestions.base.BaseSuggestionViewBinder;
-import org.chromium.chrome.browser.omnibox.suggestions.pedal.PedalViewProperties.PedalIcon;
-import org.chromium.chrome.browser.ui.theme.BrandedColorScheme;
-import org.chromium.components.omnibox.action.OmniboxPedal;
+import org.chromium.components.browser_ui.widget.chips.ChipViewBinder;
 import org.chromium.ui.modelutil.MVCListAdapter.ListItem;
 import org.chromium.ui.modelutil.PropertyKey;
 import org.chromium.ui.modelutil.PropertyModel;
@@ -46,29 +42,27 @@
         mBaseViewBinder.bind(model, view.getBaseSuggestionView(), propertyKey);
 
         if (PedalSuggestionViewProperties.PEDAL_LIST == propertyKey) {
-            List<ListItem> omniboxPedalList = model.get(PedalSuggestionViewProperties.PEDAL_LIST);
-            // Always get the first pedal item during the first step of Actions in Suggest.
-            ListItem omniboxPedalListItem = omniboxPedalList.get(0);
-            OmniboxPedal omniboxPedal = omniboxPedalListItem.model.get(PedalViewProperties.PEDAL);
-            final String hint = omniboxPedal.getHint();
-            final String contentDescription =
-                    view.getContext().getString(R.string.accessibility_omnibox_pedal, hint);
-            view.getPedalTextView().setText(hint);
-            view.getPedalTextView().setContentDescription(contentDescription);
-            final @BrandedColorScheme int brandedColorScheme =
-                    model.get(SuggestionCommonProperties.COLOR_SCHEME);
-            view.getPedalTextView().setTextColor(
-                    OmniboxResourceProvider.getSuggestionPrimaryTextColor(
-                            view.getContext(), brandedColorScheme));
-
-            // Set up icon and click listener from the pedal list item model.
-            PedalIcon icon = omniboxPedalListItem.model.get(PedalViewProperties.PEDAL_ICON);
-            view.getPedalChipView().setIcon(icon.iconRes, icon.tintWithTextColor);
-            view.getPedalChipView().setBackgroundColor(Color.TRANSPARENT);
-            view.getPedalChipView().setOnClickListener(
-                    omniboxPedalListItem.model.get(PedalViewProperties.ON_PEDAL_CLICK));
+            List<ListItem> chipList = model.get(PedalSuggestionViewProperties.PEDAL_LIST);
+            // TODO(crbug/1418077): Turn this into a proper MVC.
+            // We're introducing support for multiple chips (not landed yet) and migrating from
+            // FrameView to RecyclerView.
+            PropertyModel chipModel = chipList.get(0).model;
+            for (var property : chipModel.getAllSetProperties()) {
+                ChipViewBinder.bind(chipModel, view.getPedalChipView(), property);
+            }
         } else if (SuggestionCommonProperties.COLOR_SCHEME == propertyKey) {
             BaseSuggestionViewBinder.applySelectableBackground(model, view.getPedalView());
+            // Apply changes to Chips as well.
+            // Currently chips work well in light and dark themes, but poorly in an Incognito mode.
+            // Need to research how to plumb styling properly so that Incognito mode is properly
+            // reflected.
+            List<ListItem> chipList = model.get(PedalSuggestionViewProperties.PEDAL_LIST);
+            var brandedColorScheme = model.get(SuggestionCommonProperties.COLOR_SCHEME);
+            var chip = view.getPedalChipView();
+            chip.setBackgroundColor(BaseSuggestionViewBinder.getSuggestionBackgroundColor(
+                    model, view.getContext()));
+            chip.setTextColor(OmniboxResourceProvider.getSuggestionPrimaryTextColor(
+                    view.getContext(), brandedColorScheme));
         } else if (SuggestionCommonProperties.LAYOUT_DIRECTION == propertyKey) {
             ViewCompat.setLayoutDirection(
                     view.getPedalView(), model.get(SuggestionCommonProperties.LAYOUT_DIRECTION));
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalView.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalView.java
index 192efdc..5513e54ec 100644
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalView.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalView.java
@@ -7,17 +7,12 @@
 import android.content.Context;
 import android.view.KeyEvent;
 import android.widget.FrameLayout;
-import android.widget.TextView;
 
 import androidx.annotation.NonNull;
-import androidx.core.content.res.ResourcesCompat;
-
-import com.google.android.material.color.MaterialColors;
 
 import org.chromium.chrome.browser.omnibox.R;
 import org.chromium.chrome.browser.util.KeyNavigationUtil;
 import org.chromium.components.browser_ui.widget.chips.ChipView;
-import org.chromium.ui.util.ColorUtils;
 
 /**
  * Container view for the {@link ChipView}.
@@ -39,13 +34,6 @@
         setFocusable(true);
         mPedal = new ChipView(context, R.style.OmniboxPedalChipThemeOverlay);
 
-        final int baseColor = MaterialColors.getColor(context, R.attr.colorSurface, TAG);
-        final int overlayColor = MaterialColors.getColor(context, R.attr.colorOutline, TAG);
-        final float alpha =
-                ResourcesCompat.getFloat(context.getResources(), R.dimen.chip_outline_alpha);
-        mPedal.setBorder(context.getResources().getDimensionPixelSize(R.dimen.chip_border_width),
-                ColorUtils.getColorWithOverlay(baseColor, overlayColor, alpha));
-
         var layoutParams =
                 new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
         layoutParams.setMargins(0, 0, 0,
@@ -73,11 +61,6 @@
         mPedal.setSelected(false);
     }
 
-    /** @return The Primary TextView in this view. */
-    TextView getPedalTextView() {
-        return mPedal.getPrimaryTextView();
-    }
-
     /** @return The {@link ChipView} in this view. */
     ChipView getChipView() {
         return mPedal;
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalViewProperties.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalViewProperties.java
deleted file mode 100644
index 8392a61bc..0000000
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/pedal/PedalViewProperties.java
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2023 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.chrome.browser.omnibox.suggestions.pedal;
-
-import android.view.View.OnClickListener;
-
-import androidx.annotation.DrawableRes;
-
-import org.chromium.components.omnibox.action.OmniboxPedal;
-import org.chromium.ui.modelutil.PropertyKey;
-import org.chromium.ui.modelutil.PropertyModel.WritableObjectPropertyKey;
-
-/**
- * The properties associated with rendering the pedal view.
- */
-public class PedalViewProperties {
-    /**
-     * Describes the pedal Icon.
-     */
-    public static final class PedalIcon {
-        public final @DrawableRes int iconRes;
-        public final boolean tintWithTextColor;
-
-        /**
-         * Create a new action for suggestion.
-         *
-         * @param iconRes The resource id pointing to the icon.
-         * @param tintWithTextColor tintWithTextColor If true then the image view will be tinted
-         *         with the primary text color.
-         */
-        public PedalIcon(@DrawableRes int iconRes, boolean tintWithTextColor) {
-            this.iconRes = iconRes;
-            this.tintWithTextColor = tintWithTextColor;
-        }
-    }
-
-    /** Omnibox Pedal description. */
-    public static final WritableObjectPropertyKey<OmniboxPedal> PEDAL =
-            new WritableObjectPropertyKey();
-
-    /** Omnibox Pedal's drawable resource id. */
-    public static final WritableObjectPropertyKey<PedalIcon> PEDAL_ICON =
-            new WritableObjectPropertyKey<>();
-
-    /** Callback invoked when user clicks the pedal. */
-    public static final WritableObjectPropertyKey<OnClickListener> ON_PEDAL_CLICK =
-            new WritableObjectPropertyKey<>();
-
-    public static final PropertyKey[] ALL_KEYS =
-            new PropertyKey[] {PEDAL, PEDAL_ICON, ON_PEDAL_CLICK};
-}
\ No newline at end of file
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
index f91c359d..e906ce45 100644
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -112,8 +112,7 @@
 #include "ui/ozone/public/ozone_platform.h"
 #endif
 
-using WebExposedIsolationLevel =
-    content::RenderFrameHost::WebExposedIsolationLevel;
+using WebExposedIsolationLevel = content::WebExposedIsolationLevel;
 
 using content::NavigationController;
 using content::NavigationEntry;
diff --git a/chrome/browser/ui/browser_navigator.cc b/chrome/browser/ui/browser_navigator.cc
index baf3262..c80ca778 100644
--- a/chrome/browser/ui/browser_navigator.cc
+++ b/chrome/browser/ui/browser_navigator.cc
@@ -83,8 +83,7 @@
 using content::GlobalRequestID;
 using content::NavigationController;
 using content::WebContents;
-using WebExposedIsolationLevel =
-    content::RenderFrameHost::WebExposedIsolationLevel;
+using WebExposedIsolationLevel = content::WebExposedIsolationLevel;
 
 class BrowserNavigatorWebContentsAdoption {
  public:
diff --git a/chrome/browser/ui/extensions/extension_settings_overridden_dialog.cc b/chrome/browser/ui/extensions/extension_settings_overridden_dialog.cc
index f62f97d1..0b6d944f 100644
--- a/chrome/browser/ui/extensions/extension_settings_overridden_dialog.cc
+++ b/chrome/browser/ui/extensions/extension_settings_overridden_dialog.cc
@@ -180,8 +180,7 @@
 void ExtensionSettingsOverriddenDialog::AcknowledgeControllingExtension() {
   extensions::ExtensionPrefs::Get(profile_)->UpdateExtensionPref(
       params_.controlling_extension_id,
-      params_.extension_acknowledged_preference_name,
-      std::make_unique<base::Value>(true));
+      params_.extension_acknowledged_preference_name, base::Value(true));
 }
 
 bool ExtensionSettingsOverriddenDialog::HasAcknowledgedExtension(
diff --git a/chrome/browser/ui/extensions/extension_settings_overridden_dialog_unittest.cc b/chrome/browser/ui/extensions/extension_settings_overridden_dialog_unittest.cc
index 169211d6..9ab4103 100644
--- a/chrome/browser/ui/extensions/extension_settings_overridden_dialog_unittest.cc
+++ b/chrome/browser/ui/extensions/extension_settings_overridden_dialog_unittest.cc
@@ -93,9 +93,8 @@
 TEST_F(ExtensionSettingsOverriddenDialogUnitTest,
        WontShowForAnAcknowledgedExtension) {
   const extensions::Extension* extension = AddExtension();
-  GetExtensionPrefs()->UpdateExtensionPref(extension->id(),
-                                           kTestAcknowledgedPreference,
-                                           std::make_unique<base::Value>(true));
+  GetExtensionPrefs()->UpdateExtensionPref(
+      extension->id(), kTestAcknowledgedPreference, base::Value(true));
 
   ExtensionSettingsOverriddenDialog controller(
       CreateTestDialogParams(extension->id()), profile());
diff --git a/chrome/browser/ui/extensions/settings_api_bubble_helpers.cc b/chrome/browser/ui/extensions/settings_api_bubble_helpers.cc
index fdb3ed7..6b0a3c3 100644
--- a/chrome/browser/ui/extensions/settings_api_bubble_helpers.cc
+++ b/chrome/browser/ui/extensions/settings_api_bubble_helpers.cc
@@ -114,7 +114,7 @@
     if (overrides.find(chrome::kChromeUINewTabHost) != overrides.end()) {
       prefs->UpdateExtensionPref(extension->id(),
                                  kNtpOverridingExtensionAcknowledged,
-                                 std::make_unique<base::Value>(true));
+                                 base::Value(true));
     }
   }
 }
diff --git a/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view_browsertest.cc b/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view_browsertest.cc
index 849bee83..c554ed9 100644
--- a/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view_browsertest.cc
+++ b/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view_browsertest.cc
@@ -60,7 +60,7 @@
 void SetUninstallURL(extensions::ExtensionPrefs* prefs,
                      const std::string& extension_id) {
   prefs->UpdateExtensionPref(extension_id, kUninstallUrlPrefKey,
-                             std::make_unique<base::Value>(kUninstallUrl));
+                             base::Value(kUninstallUrl));
 }
 
 void CloseUninstallDialog(views::Widget* const bubble_widget) {
diff --git a/chrome/browser/ui/views/keyboard_access_browsertest.cc b/chrome/browser/ui/views/keyboard_access_interactive_uitest.cc
similarity index 93%
rename from chrome/browser/ui/views/keyboard_access_browsertest.cc
rename to chrome/browser/ui/views/keyboard_access_interactive_uitest.cc
index 14a29f1..4516acc 100644
--- a/chrome/browser/ui/views/keyboard_access_browsertest.cc
+++ b/chrome/browser/ui/views/keyboard_access_interactive_uitest.cc
@@ -36,8 +36,8 @@
 // An async version of SendKeyPressSync since we don't get notified when a
 // menu is showing.
 void SendKeyPress(Browser* browser, ui::KeyboardCode key) {
-  ASSERT_TRUE(ui_controls::SendKeyPress(
-      browser->window()->GetNativeWindow(), key, false, false, false, false));
+  ASSERT_TRUE(ui_controls::SendKeyPress(browser->window()->GetNativeWindow(),
+                                        key, false, false, false, false));
 }
 
 // Helper class that waits until the focus has changed to a view other
@@ -60,9 +60,7 @@
     focus_manager_->RemoveFocusChangeListener(this);
   }
 
-  void Wait() {
-    content::RunMessageLoop();
-  }
+  void Wait() { content::RunMessageLoop(); }
 
  private:
   // views::FocusChangeListener:
@@ -158,8 +156,9 @@
   }
 
   void WaitForFocusedViewIDToChange(int original_view_id) {
-    if (GetFocusedViewID() != original_view_id)
+    if (GetFocusedViewID() != original_view_id) {
       return;
+    }
     gfx::NativeWindow window = browser()->window()->GetNativeWindow();
     views::Widget* widget = views::Widget::GetWidgetForNativeWindow(window);
     views::FocusManager* focus_manager = widget->GetFocusManager();
@@ -204,19 +203,20 @@
       browser_view->toolbar_button_provider()->GetAppMenuButton(), browser(),
       false);
 
-  if (focus_omnibox)
+  if (focus_omnibox) {
     browser()->window()->GetLocationBar()->FocusLocation(false);
+  }
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
   // Chrome OS doesn't have a way to just focus the app menu, so we use Alt+F to
   // bring up the menu.
-  ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
-      browser(), ui::VKEY_F, false, shift, true, false));
+  ASSERT_TRUE(ui_test_utils::SendKeyPressSync(browser(), ui::VKEY_F, false,
+                                              shift, true, false));
 #else
   ui::KeyboardCode menu_key =
       alternate_key_sequence ? ui::VKEY_MENU : ui::VKEY_F10;
-  ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
-      browser(), menu_key, false, shift, false, false));
+  ASSERT_TRUE(ui_test_utils::SendKeyPressSync(browser(), menu_key, false, shift,
+                                              false, false));
 #endif
 
   if (shift) {
@@ -233,10 +233,11 @@
   // See above comment. Since we already brought up the menu, no need to do this
   // on ChromeOS.
 #if !BUILDFLAG(IS_CHROMEOS_ASH)
-  if (alternate_key_sequence)
+  if (alternate_key_sequence) {
     SendKeyPress(browser(), ui::VKEY_DOWN);
-  else
+  } else {
     SendKeyPress(browser(), ui::VKEY_RETURN);
+  }
 #endif
 
   // Wait for the new tab to appear.
@@ -280,14 +281,12 @@
   // Sending the Alt space keys to the browser will bring up the system menu
   // which runs a model loop. We set a CBT hook to look for the menu and send
   // keystrokes to it.
-  HHOOK cbt_hook = ::SetWindowsHookEx(WH_CBT,
-                                      SystemMenuTestCBTHook,
-                                      NULL,
+  HHOOK cbt_hook = ::SetWindowsHookEx(WH_CBT, SystemMenuTestCBTHook, NULL,
                                       ::GetCurrentThreadId());
   ASSERT_TRUE(cbt_hook);
 
-  bool ret = ui_test_utils::SendKeyPressSync(
-      browser(), ui::VKEY_SPACE, false, false, true, false);
+  bool ret = ui_test_utils::SendKeyPressSync(browser(), ui::VKEY_SPACE, false,
+                                             false, true, false);
   EXPECT_TRUE(ret);
 
   if (ret) {
@@ -381,8 +380,8 @@
 
   browser()->window()->GetLocationBar()->FocusLocation(false);
 
-  ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
-      browser(), ui::VKEY_F10, false, false, false, false));
+  ASSERT_TRUE(ui_test_utils::SendKeyPressSync(browser(), ui::VKEY_F10, false,
+                                              false, false, false));
 
   WaitForFocusedViewIDToChange(original_view_id);
 
@@ -420,7 +419,8 @@
 
 // If this flakes, use http://crbug.com/62311.
 #if BUILDFLAG(IS_WIN)
-#define MAYBE_TestShiftAltMenuKeyboardAccess DISABLED_TestShiftAltMenuKeyboardAccess
+#define MAYBE_TestShiftAltMenuKeyboardAccess \
+  DISABLED_TestShiftAltMenuKeyboardAccess
 #else
 #define MAYBE_TestShiftAltMenuKeyboardAccess TestShiftAltMenuKeyboardAccess
 #endif
@@ -469,8 +469,8 @@
       browser(), url, WindowOpenDisposition::NEW_FOREGROUND_TAB,
       ui_test_utils::BROWSER_TEST_WAIT_FOR_LOAD_STOP);
 
-  ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
-      browser(), ui::VKEY_TAB, true, false, false, false));
+  ASSERT_TRUE(ui_test_utils::SendKeyPressSync(browser(), ui::VKEY_TAB, true,
+                                              false, false, false));
   ASSERT_EQ(0, browser()->tab_strip_model()->active_index());
 
   ui_test_utils::NavigateToURLWithDisposition(
diff --git a/chrome/browser/ui/web_applications/web_app_interactive_uitest.cc b/chrome/browser/ui/web_applications/web_app_interactive_uitest.cc
index 288c2f2..f02035f 100644
--- a/chrome/browser/ui/web_applications/web_app_interactive_uitest.cc
+++ b/chrome/browser/ui/web_applications/web_app_interactive_uitest.cc
@@ -14,7 +14,6 @@
 #include "ui/display/scoped_display_for_new_windows.h"
 #include "ui/display/screen.h"
 #include "ui/display/screen_base.h"
-#include "ui/display/test/scoped_screen_override.h"
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 #include "ash/shell.h"
diff --git a/chrome/browser/ui/web_applications/web_app_menu_model.cc b/chrome/browser/ui/web_applications/web_app_menu_model.cc
index 1dd14ba..3ae0795 100644
--- a/chrome/browser/ui/web_applications/web_app_menu_model.cc
+++ b/chrome/browser/ui/web_applications/web_app_menu_model.cc
@@ -36,8 +36,7 @@
 #include "ui/views/widget/widget.h"
 #endif
 
-using WebExposedIsolationLevel =
-    content::RenderFrameHost::WebExposedIsolationLevel;
+using WebExposedIsolationLevel = content::WebExposedIsolationLevel;
 
 constexpr int WebAppMenuModel::kUninstallAppCommandId;
 constexpr int WebAppMenuModel::kExtensionsMenuCommandId;
diff --git a/chrome/browser/ui/webui/feedback/OWNERS b/chrome/browser/ui/webui/feedback/OWNERS
new file mode 100644
index 0000000..220e699
--- /dev/null
+++ b/chrome/browser/ui/webui/feedback/OWNERS
@@ -0,0 +1 @@
+file://components/feedback/OWNERS
diff --git a/chrome/browser/ui/webui/side_panel/user_notes/user_notes_page_handler.cc b/chrome/browser/ui/webui/side_panel/user_notes/user_notes_page_handler.cc
index 8847591..8c28c900 100644
--- a/chrome/browser/ui/webui/side_panel/user_notes/user_notes_page_handler.cc
+++ b/chrome/browser/ui/webui/side_panel/user_notes/user_notes_page_handler.cc
@@ -10,10 +10,12 @@
 #include "base/functional/callback.h"
 #include "base/memory/ptr_util.h"
 #include "base/strings/utf_string_conversions.h"
+#include "chrome/browser/bookmarks/bookmark_model_factory.h"
 #include "chrome/browser/power_bookmarks/power_bookmark_service_factory.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h"
+#include "components/bookmarks/browser/bookmark_model.h"
 #include "components/power_bookmarks/common/power.h"
 #include "components/power_bookmarks/common/power_overview.h"
 #include "components/power_bookmarks/core/power_bookmark_service.h"
@@ -31,15 +33,27 @@
 
 side_panel::mojom::NoteOverviewPtr PowerOverviewToMojo(
     const power_bookmarks::PowerOverview& power_overview,
-    const GURL& current_tab_url) {
+    const GURL& current_tab_url,
+    bookmarks::BookmarkModel* bookmark_model) {
   auto* power = power_overview.power();
   DCHECK(power->power_type() ==
          sync_pb::PowerBookmarkSpecifics::POWER_TYPE_NOTE);
   DCHECK(power->power_entity()->has_note_entity());
   auto result = side_panel::mojom::NoteOverview::New();
   result->url = power->url();
-  // TODO(crbug.com/1378131): Get title from the corresponding bookmark.
-  result->title = power->url().spec();
+
+  // Set title to the first bookmark with the same URL, otherwise fall back to
+  // url.
+  std::vector<const bookmarks::BookmarkNode*> nodes;
+  if (bookmark_model) {
+    bookmark_model->GetNodesByURL(power->url(), &nodes);
+  }
+  if (nodes.size() > 0) {
+    result->title = base::UTF16ToUTF8(nodes[0]->GetTitle());
+  } else {
+    result->title = power->url().spec();
+  }
+
   result->text = power->power_entity()->note_entity().plain_text();
   result->num_notes = power_overview.count();
   result->is_current_tab = (power->url() == current_tab_url);
@@ -106,6 +120,7 @@
       page_(std::move(page)),
       profile_(profile),
       service_(PowerBookmarkServiceFactory::GetForBrowserContext(profile_)),
+      bookmark_model_(BookmarkModelFactory::GetForBrowserContext(profile_)),
       browser_(browser),
       user_notes_ui_(user_notes_ui) {
   pref_change_registrar_.Init(profile_->GetPrefs());
@@ -142,16 +157,17 @@
       sync_pb::PowerBookmarkSpecifics::POWER_TYPE_NOTE,
       base::BindOnce(
           [](GetNoteOverviewsCallback callback, const GURL& current_tab_url,
+             bookmarks::BookmarkModel* bookmark_model,
              std::vector<std::unique_ptr<power_bookmarks::PowerOverview>>
                  power_overviews) {
             std::vector<side_panel::mojom::NoteOverviewPtr> results;
             for (auto& power_overview : power_overviews) {
-              results.push_back(
-                  PowerOverviewToMojo(*power_overview, current_tab_url));
+              results.push_back(PowerOverviewToMojo(
+                  *power_overview, current_tab_url, bookmark_model));
             }
             std::move(callback).Run(std::move(results));
           },
-          std::move(callback), current_tab_url_));
+          std::move(callback), current_tab_url_, bookmark_model_));
 }
 
 void UserNotesPageHandler::GetNotesForCurrentTab(
diff --git a/chrome/browser/ui/webui/side_panel/user_notes/user_notes_page_handler.h b/chrome/browser/ui/webui/side_panel/user_notes/user_notes_page_handler.h
index 16a7af01..1ab5da0 100644
--- a/chrome/browser/ui/webui/side_panel/user_notes/user_notes_page_handler.h
+++ b/chrome/browser/ui/webui/side_panel/user_notes/user_notes_page_handler.h
@@ -16,6 +16,10 @@
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
 
+namespace bookmarks {
+class BookmarkModel;
+}
+
 namespace power_bookmarks {
 class PowerBookmarkService;
 }
@@ -87,6 +91,7 @@
   const raw_ptr<Profile> profile_;
   PrefChangeRegistrar pref_change_registrar_;
   const raw_ptr<power_bookmarks::PowerBookmarkService> service_;
+  const raw_ptr<bookmarks::BookmarkModel> bookmark_model_;
   const raw_ptr<Browser> browser_;
   raw_ptr<UserNotesSidePanelUI> user_notes_ui_ = nullptr;
   bool start_creation_after_tab_change_ = false;
diff --git a/chrome/browser/ui/webui/side_panel/user_notes/user_notes_page_handler_unittest.cc b/chrome/browser/ui/webui/side_panel/user_notes/user_notes_page_handler_unittest.cc
index a2e08a6..b06ce61f 100644
--- a/chrome/browser/ui/webui/side_panel/user_notes/user_notes_page_handler_unittest.cc
+++ b/chrome/browser/ui/webui/side_panel/user_notes/user_notes_page_handler_unittest.cc
@@ -9,9 +9,13 @@
 #include "base/memory/raw_ptr.h"
 #include "base/test/scoped_feature_list.h"
 #include "base/test/task_environment.h"
+#include "chrome/browser/bookmarks/bookmark_model_factory.h"
 #include "chrome/browser/ui/webui/side_panel/user_notes/user_notes.mojom-test-utils.h"
 #include "chrome/test/base/browser_with_test_window_test.h"
 #include "chrome/test/base/test_browser_window.h"
+#include "components/bookmarks/browser/bookmark_model.h"
+#include "components/bookmarks/browser/bookmark_node.h"
+#include "components/bookmarks/test/bookmark_test_helpers.h"
 #include "components/power_bookmarks/core/power_bookmark_features.h"
 #include "testing/gmock/include/gmock/gmock.h"
 
@@ -59,6 +63,11 @@
   void SetUp() override {
     features_.InitAndEnableFeature(power_bookmarks::kPowerBookmarkBackend);
     BrowserWithTestWindowTest::SetUp();
+    BookmarkModelFactory::GetInstance()->SetTestingFactory(
+        profile(), BookmarkModelFactory::GetDefaultFactory());
+    ASSERT_TRUE(bookmark_model_ =
+                    BookmarkModelFactory::GetForBrowserContext(profile()));
+    bookmarks::test::WaitForBookmarkModelToLoad(bookmark_model_);
     handler_ = std::make_unique<TestUserNotesPageHandler>(
         page_.BindAndGetRemote(), profile(), browser());
   }
@@ -72,6 +81,7 @@
 
  protected:
   MockUserNotesPage page_;
+  raw_ptr<bookmarks::BookmarkModel> bookmark_model_;
 
  private:
   std::unique_ptr<TestUserNotesPageHandler> handler_;
@@ -123,6 +133,21 @@
   ASSERT_FALSE(note_overviews[0]->is_current_tab);
 }
 
+TEST_F(UserNotesPageHandlerTest, GetNoteOverviewWithBookmarkTitle) {
+  // Add a new bookmark with url.
+  side_panel::mojom::UserNotesPageHandlerAsyncWaiter waiter(handler());
+  const bookmarks::BookmarkNode* bb_node = bookmark_model_->bookmark_bar_node();
+  GURL url("https://google.com");
+  bookmark_model_->AddNewURL(bb_node, 0, u"title", url);
+
+  // Make sure the note overview title is read from the bookmark.
+  handler()->SetCurrentTabUrlForTesting(url);
+  ASSERT_TRUE(waiter.NewNoteFinished("note1"));
+  auto note_overviews = waiter.GetNoteOverviews("");
+  ASSERT_EQ(1u, note_overviews.size());
+  ASSERT_EQ("title", note_overviews[0]->title);
+}
+
 TEST_F(UserNotesPageHandlerTest, CreateAndDeleteNote) {
   EXPECT_CALL(page_, NotesChanged()).Times(2);
   side_panel::mojom::UserNotesPageHandlerAsyncWaiter waiter(handler());
diff --git a/chrome/browser/usb/chrome_usb_delegate.cc b/chrome/browser/usb/chrome_usb_delegate.cc
index bf64b49..6e0e0f2 100644
--- a/chrome/browser/usb/chrome_usb_delegate.cc
+++ b/chrome/browser/usb/chrome_usb_delegate.cc
@@ -163,9 +163,9 @@
     content::RenderFrameHost* frame,
     std::vector<uint8_t>& classes) {
   // Isolated Apps have unrestricted access to any USB interface class.
-  if (frame && frame->GetWebExposedIsolationLevel() >=
-                   content::RenderFrameHost::WebExposedIsolationLevel::
-                       kMaybeIsolatedApplication) {
+  if (frame &&
+      frame->GetWebExposedIsolationLevel() >=
+          content::WebExposedIsolationLevel::kMaybeIsolatedApplication) {
     // TODO(https://crbug.com/1236706): Should the list of interface classes the
     // app expects to claim be encoded in the Web App Manifest?
     classes.clear();
diff --git a/chrome/browser/web_applications/isolated_web_apps/isolated_web_app_browsertest.cc b/chrome/browser/web_applications/isolated_web_apps/isolated_web_app_browsertest.cc
index 60410e1..7951b8e0 100644
--- a/chrome/browser/web_applications/isolated_web_apps/isolated_web_app_browsertest.cc
+++ b/chrome/browser/web_applications/isolated_web_apps/isolated_web_app_browsertest.cc
@@ -250,8 +250,7 @@
   EXPECT_NE(app_browser, browser());
   EXPECT_TRUE(
       AppBrowserController::IsForWebApp(app_browser, url_info.app_id()));
-  EXPECT_EQ(content::RenderFrameHost::WebExposedIsolationLevel::
-                kMaybeIsolatedApplication,
+  EXPECT_EQ(content::WebExposedIsolationLevel::kMaybeIsolatedApplication,
             app_frame->GetWebExposedIsolationLevel());
 }
 
@@ -279,8 +278,7 @@
   EXPECT_NE(app_browser, browser());
   EXPECT_TRUE(
       AppBrowserController::IsForWebApp(app_browser, url_info.app_id()));
-  EXPECT_EQ(content::RenderFrameHost::WebExposedIsolationLevel::
-                kMaybeIsolatedApplication,
+  EXPECT_EQ(content::WebExposedIsolationLevel::kMaybeIsolatedApplication,
             app_frame->GetWebExposedIsolationLevel());
 }
 
@@ -641,8 +639,7 @@
   auto* new_storage_partition = new_app_frame->GetStoragePartition();
   EXPECT_EQ(new_storage_partition, storage_partition_);
   EXPECT_EQ(new_app_frame->GetWebExposedIsolationLevel(),
-            content::RenderFrameHost::WebExposedIsolationLevel::
-                kMaybeIsolatedApplication);
+            content::WebExposedIsolationLevel::kMaybeIsolatedApplication);
   EXPECT_TRUE(AppBrowserController::IsWebApp(new_app_window));
 }
 
diff --git a/chrome/browser/window_management/window_management_printing_interactive_uitest.cc b/chrome/browser/window_management/window_management_printing_interactive_uitest.cc
index 6bef9d965..347b227 100644
--- a/chrome/browser/window_management/window_management_printing_interactive_uitest.cc
+++ b/chrome/browser/window_management/window_management_printing_interactive_uitest.cc
@@ -13,7 +13,6 @@
 #include "content/public/test/browser_test.h"
 #include "net/test/embedded_test_server/embedded_test_server.h"
 #include "ui/display/screen_base.h"
-#include "ui/display/test/scoped_screen_override.h"
 #include "ui/display/test/test_screen.h"
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt
index a43207f0..f58058f 100644
--- a/chrome/build/linux.pgo.txt
+++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@
-chrome-linux-main-1677261545-f6c43e53725ae6bae614e4e9ecb3a2d8c33f2874.profdata
+chrome-linux-main-1677325687-e9ed98a1c0172f665267b0180b30b66fb5642377.profdata
diff --git a/chrome/build/mac-arm.pgo.txt b/chrome/build/mac-arm.pgo.txt
index 4aa1157d..dca0653f 100644
--- a/chrome/build/mac-arm.pgo.txt
+++ b/chrome/build/mac-arm.pgo.txt
@@ -1 +1 @@
-chrome-mac-arm-main-1677275861-2d2542d5e3edcebab95629045106de345ec5ae33.profdata
+chrome-mac-arm-main-1677338906-b9c0e5becf8509eaa629709ab75159c28529bd65.profdata
diff --git a/chrome/build/mac.pgo.txt b/chrome/build/mac.pgo.txt
index 7f72b600..e9151f6e 100644
--- a/chrome/build/mac.pgo.txt
+++ b/chrome/build/mac.pgo.txt
@@ -1 +1 @@
-chrome-mac-main-1677261545-6cc1d298a9feaf75ef9dfc5240d9ed83720cecd7.profdata
+chrome-mac-main-1677325687-b4a26b2af72a0856f88475dedfd3b1d6bbedc4b2.profdata
diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt
index 438051e..acd9a31 100644
--- a/chrome/build/win32.pgo.txt
+++ b/chrome/build/win32.pgo.txt
@@ -1 +1 @@
-chrome-win32-main-1677261545-38db2987eb6b45e47c40c5e7e836156e6d2dd6f7.profdata
+chrome-win32-main-1677336968-237a841210a2e72d37c32a254b7ddffaaf07ade8.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt
index 57bc17c..ebdaead 100644
--- a/chrome/build/win64.pgo.txt
+++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@
-chrome-win64-main-1677261545-3d7ab441cfdab5c75845215dbf1ad736cbb942aa.profdata
+chrome-win64-main-1677325687-322ee1904efb0a9e8b7f5bde4c45c12a650bd9a9.profdata
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 0c4bddf0..958d52b 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -9755,7 +9755,7 @@
         "../browser/ui/views/frame/picture_in_picture_browser_frame_view_interactive_uitest.cc",
         "../browser/ui/views/frame/tab_strip_region_view_interactive_uitest.cc",
         "../browser/ui/views/fullscreen_control/fullscreen_control_view_interactive_uitest.cc",
-        "../browser/ui/views/keyboard_access_browsertest.cc",
+        "../browser/ui/views/keyboard_access_interactive_uitest.cc",
         "../browser/ui/views/location_bar/location_icon_view_interactive_uitest.cc",
         "../browser/ui/views/location_bar/selected_keyword_view_interactive_uitest.cc",
         "../browser/ui/views/location_bar/star_view_interactive_uitest.cc",
@@ -9845,7 +9845,7 @@
           # TODO(port): This times out. Attempts have been made to fix the
           # individual failures, but each time I disable a test from these
           # suites, it seems like one or another starts timing out too.
-          "../browser/ui/views/keyboard_access_browsertest.cc",
+          "../browser/ui/views/keyboard_access_interactive_uitest.cc",
         ]
       }
       if (is_chromeos_ash) {
diff --git a/chrome/test/data/webui/settings/chromeos/per_device_keyboard_remap_keys_test.js b/chrome/test/data/webui/settings/chromeos/per_device_keyboard_remap_keys_test.js
index 37c3c81..b5dbd462 100644
--- a/chrome/test/data/webui/settings/chromeos/per_device_keyboard_remap_keys_test.js
+++ b/chrome/test/data/webui/settings/chromeos/per_device_keyboard_remap_keys_test.js
@@ -161,4 +161,19 @@
     assertEquals(
         metaKeyDropdown.shadowRoot.querySelector('select').value, metaKeyValue);
   });
+
+  /**
+   * Verify that if the keyboard is disconnected while the user is in
+   * the remapping page, it will switch back to per device keyboard page.
+   */
+  test('re-route to back page when keyboard disconnected', async () => {
+    await initializeRemapKeyspage();
+    // Check it's currently in the modifier remapping page.
+    assertEquals(
+        routes.PER_DEVICE_KEYBOARD_REMAP_KEYS,
+        Router.getInstance().currentRoute);
+    const updatedKeyboards = [fakeKeyboards[1], fakeKeyboards[2]];
+    page.onKeyboardListUpdated(updatedKeyboards);
+    assertEquals(routes.PER_DEVICE_KEYBOARD, Router.getInstance().currentRoute);
+  });
 });
\ No newline at end of file
diff --git a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipProperties.java b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipProperties.java
index 8b9f7df..744f76c33 100644
--- a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipProperties.java
+++ b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipProperties.java
@@ -41,6 +41,10 @@
     /** An icon ID to show beside the chip's text. If no icon, use {@link #INVALID_ICON_ID}. */
     public static final WritableIntPropertyKey ICON = new WritableIntPropertyKey();
 
+    /** Whether the icon should be tinted with text color. */
+    public static final WritableBooleanPropertyKey APPLY_ICON_TINT =
+            new WritableBooleanPropertyKey();
+
     /** An arbitrary ID for the chip to help identify it. */
     public static final ReadableIntPropertyKey ID = new ReadableIntPropertyKey();
 
@@ -53,6 +57,6 @@
     /** The max width a chip's text should have in PX. Use {@link #SHOW_WHOLE_TEXT} for no limit. */
     public static final WritableIntPropertyKey TEXT_MAX_WIDTH_PX = new WritableIntPropertyKey();
 
-    public static final PropertyKey[] ALL_KEYS = new PropertyKey[] {CLICK_HANDLER,
+    public static final PropertyKey[] ALL_KEYS = new PropertyKey[] {APPLY_ICON_TINT, CLICK_HANDLER,
             CONTENT_DESCRIPTION, ENABLED, ICON, ID, SELECTED, TEXT, TEXT_MAX_WIDTH_PX};
 }
diff --git a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipView.java b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipView.java
index 750925c..df816669 100644
--- a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipView.java
+++ b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipView.java
@@ -65,6 +65,7 @@
     private ViewGroup mEndIconWrapper;
     private AppCompatTextView mSecondaryText;
     private int mMaxWidth = Integer.MAX_VALUE;
+    private boolean mTintWithTextColor;
 
     /** Constructor for applying a theme overlay. */
     public ChipView(Context context, @StyleRes int themeOverlay) {
@@ -357,6 +358,7 @@
      *      color. If not, the tint will be cleared.
      */
     private void setTint(boolean tintWithTextColor) {
+        mTintWithTextColor = tintWithTextColor;
         if (mPrimaryText.getTextColors() != null && tintWithTextColor) {
             ImageViewCompat.setImageTintList(mStartIcon, mPrimaryText.getTextColors());
         } else {
@@ -384,6 +386,21 @@
     }
 
     /**
+     * Specify primary text color.
+     *
+     * This method applies a different text color, and if the caller previously installed a Tinted
+     * icon - updates the icon tint.
+     *
+     * TODO(crbug/1418077): This method is not intended as part of public API. It's exposed only
+     * temporarily until Incognito theming issue is resolved. Reduce visibility or remove the method
+     * once it is no longer needed.
+     */
+    public void setTextColor(@ColorInt int color) {
+        mPrimaryText.setTextColor(color);
+        setTint(mTintWithTextColor);
+    }
+
+    /**
      * @return The corner radius in pixels of this ChipView.
      */
     public @Px int getCornerRadius() {
@@ -440,4 +457,18 @@
                     MeasureSpec.makeMeasureSpec(mMaxWidth, MeasureSpec.EXACTLY), heightMeasureSpec);
         }
     }
+
+    @Override
+    public boolean isFocused() {
+        // When the selection does not follow focus, we still want to properly reflect the user
+        // selection by highlighting the chip.
+        // An example where this happens is: the user interacts with the Omnibox, and the typed
+        // query triggers an Action chip to be shown.
+        // These chips can be navigated to using physical keyboard (arrow keys to select
+        // corresponding suggestion, tab to activate the chip).
+        // At this time the Omnibox continues to retain focus, but Chip should be highlighted, as
+        // pressing <Enter> on the keyboard will activate the Chip.
+        // Make sure the highlight is properly reflected.
+        return super.isFocused() || (isSelected() && !isInTouchMode());
+    }
 }
diff --git a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipViewBinder.java b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipViewBinder.java
index 5426c16..e79a080 100644
--- a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipViewBinder.java
+++ b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipViewBinder.java
@@ -23,12 +23,16 @@
         } else if (ChipProperties.ENABLED == key) {
             chip.setEnabled(model.get(ChipProperties.ENABLED));
 
-        } else if (ChipProperties.ICON == key) {
+        } else if (ChipProperties.ICON == key || ChipProperties.APPLY_ICON_TINT == key) {
             int iconId = model.get(ChipProperties.ICON);
             if (iconId != ChipProperties.INVALID_ICON_ID) {
+                // TODO: Revisit the logic below:
+                // - avoid overriding supplied icon, make no assumptions about how this is used.
+                // - override won't work if SELECTED property is applied after ICON.
                 boolean isSelected = model.getAllSetProperties().contains(ChipProperties.SELECTED)
                         && model.get(ChipProperties.SELECTED);
-                chip.setIcon(isSelected ? R.drawable.ic_check_googblue_24dp : iconId, true);
+                chip.setIcon(isSelected ? R.drawable.ic_check_googblue_24dp : iconId,
+                        model.get(ChipProperties.APPLY_ICON_TINT));
             } else {
                 chip.setIcon(ChipProperties.INVALID_ICON_ID, false);
             }
diff --git a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipsCoordinator.java b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipsCoordinator.java
index 6f43df7..fb19e68b 100644
--- a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipsCoordinator.java
+++ b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/chips/ChipsCoordinator.java
@@ -78,6 +78,7 @@
                         .with(ChipProperties.CONTENT_DESCRIPTION, text)
                         .with(ChipProperties.CLICK_HANDLER, clickHandler)
                         .with(ChipProperties.ICON, iconId)
+                        .with(ChipProperties.APPLY_ICON_TINT, true)
                         .with(ChipProperties.ENABLED, true)
                         .with(ChipProperties.SELECTED, false)
                         .with(ChipProperties.TEXT_MAX_WIDTH_PX, ChipProperties.SHOW_WHOLE_TEXT)
diff --git a/components/certificate_transparency/data/log_list.json b/components/certificate_transparency/data/log_list.json
index 6cd81c5..0893924 100644
--- a/components/certificate_transparency/data/log_list.json
+++ b/components/certificate_transparency/data/log_list.json
@@ -1,6 +1,6 @@
 {
-  "version": "19.20",
-  "log_list_timestamp": "2023-02-23T12:55:00Z",
+  "version": "19.22",
+  "log_list_timestamp": "2023-02-25T12:56:28Z",
   "operators": [
     {
       "name": "Google",
diff --git a/components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.cc b/components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.cc
index af291a04..e74bfcf 100644
--- a/components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.cc
+++ b/components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.cc
@@ -39,7 +39,6 @@
 }  // namespace
 
 SimpleDevToolsProtocolClient::SimpleDevToolsProtocolClient() = default;
-
 SimpleDevToolsProtocolClient::SimpleDevToolsProtocolClient(
     const std::string& session_id)
     : session_id_(session_id) {}
@@ -104,7 +103,7 @@
           FROM_HERE,
           base::BindOnce(
               &SimpleDevToolsProtocolClient::DispatchProtocolMessageTask,
-              base::Unretained(it->second), std::move(message)));
+              it->second->GetWeakPtr(), std::move(message)));
       return;
     }
   }
@@ -112,7 +111,7 @@
   content::GetUIThreadTaskRunner({})->PostTask(
       FROM_HERE,
       base::BindOnce(&SimpleDevToolsProtocolClient::DispatchProtocolMessageTask,
-                     base::Unretained(this), std::move(message)));
+                     GetWeakPtr(), std::move(message)));
 }
 
 void SimpleDevToolsProtocolClient::AgentHostClosed(
@@ -254,4 +253,9 @@
   return handler != handlers.cend();
 }
 
+base::WeakPtr<SimpleDevToolsProtocolClient>
+SimpleDevToolsProtocolClient::GetWeakPtr() {
+  return weak_ptr_factory_.GetWeakPtr();
+}
+
 }  // namespace simple_devtools_protocol_client
\ No newline at end of file
diff --git a/components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h b/components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h
index 87ec119..d958d45 100644
--- a/components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h
+++ b/components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h
@@ -14,6 +14,7 @@
 #include "base/functional/callback.h"
 #include "base/memory/raw_ptr.h"
 #include "base/memory/scoped_refptr.h"
+#include "base/memory/weak_ptr.h"
 #include "base/values.h"
 #include "content/public/browser/devtools_agent_host.h"
 
@@ -66,13 +67,16 @@
                                base::span<const uint8_t> json_message) override;
   void AgentHostClosed(content::DevToolsAgentHost* agent_host) override;
 
-  void DispatchProtocolMessageTask(base::Value::Dict message);
+  // Virtual for tests.
+  virtual void DispatchProtocolMessageTask(base::Value::Dict message);
 
   void SendProtocolMessage(base::Value::Dict message);
 
   bool HasEventHandler(const std::string& event_name,
                        const EventCallback& event_callback);
 
+  base::WeakPtr<SimpleDevToolsProtocolClient> GetWeakPtr();
+
   const std::string session_id_;
   base::raw_ptr<SimpleDevToolsProtocolClient> parent_client_ = nullptr;
   base::flat_map<std::string, SimpleDevToolsProtocolClient*> sessions_;
@@ -80,6 +84,8 @@
   scoped_refptr<content::DevToolsAgentHost> agent_host_;
   base::flat_map<int, ResponseCallback> pending_response_map_;
   base::flat_map<std::string, std::vector<EventCallback>> event_handler_map_;
+
+  base::WeakPtrFactory<SimpleDevToolsProtocolClient> weak_ptr_factory_{this};
 };
 
 }  // namespace simple_devtools_protocol_client
diff --git a/components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client_unittest.cc b/components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client_unittest.cc
index d81e2a9..6167185 100644
--- a/components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client_unittest.cc
+++ b/components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client_unittest.cc
@@ -7,6 +7,7 @@
 #include <string>
 #include <vector>
 
+#include "base/containers/span.h"
 #include "base/json/json_writer.h"
 #include "base/memory/raw_ptr.h"
 #include "base/memory/ref_counted_memory.h"
@@ -22,6 +23,8 @@
 
 namespace simple_devtools_protocol_client {
 
+namespace {
+
 class SimpleDevToolsProtocolClientTest : public SimpleDevToolsProtocolClient,
                                          public testing::Test {
  public:
@@ -345,4 +348,32 @@
   EXPECT_THAT(received_events_, ElementsAre("event"));
 }
 
+class SelfDestructingSimpleDevToolsProtocolClient
+    : public SimpleDevToolsProtocolClient {
+ public:
+  void TryIt() {
+    std::string json_message = "{}";
+    SimpleDevToolsProtocolClient::DispatchProtocolMessage(
+        agent_host_.get(), base::as_bytes(base::make_span(json_message)));
+
+    // Delete self so that the task posted by the previous call has nowhere to
+    // go.
+    delete this;
+  }
+
+  void DispatchProtocolMessageTask(base::Value::Dict message) override {
+    CHECK(false) << "use-after-free";
+  }
+};
+
+TEST(SimpleDevToolsProtocolClientTest, DestoroyClientInFlight) {
+  content::BrowserTaskEnvironment task_environment;
+
+  (new SelfDestructingSimpleDevToolsProtocolClient)->TryIt();
+
+  task_environment.RunUntilIdle();
+}
+
+}  // namespace
+
 }  // namespace simple_devtools_protocol_client
diff --git a/components/history/core/browser/history_backend_unittest.cc b/components/history/core/browser/history_backend_unittest.cc
index 0703245..c119429 100644
--- a/components/history/core/browser/history_backend_unittest.cc
+++ b/components/history/core/browser/history_backend_unittest.cc
@@ -3160,14 +3160,10 @@
 
   // Setup dummy index database files.
   const char* data = "Dummy";
-  const size_t data_len = 5;
-  ASSERT_EQ(static_cast<int>(data_len), base::WriteFile(db1, data, data_len));
-  ASSERT_EQ(static_cast<int>(data_len),
-            base::WriteFile(db1_journal, data, data_len));
-  ASSERT_EQ(static_cast<int>(data_len),
-            base::WriteFile(db1_wal, data, data_len));
-  ASSERT_EQ(static_cast<int>(data_len),
-            base::WriteFile(db2_actual, data, data_len));
+  ASSERT_TRUE(base::WriteFile(db1, data));
+  ASSERT_TRUE(base::WriteFile(db1_journal, data));
+  ASSERT_TRUE(base::WriteFile(db1_wal, data));
+  ASSERT_TRUE(base::WriteFile(db2_actual, data));
 #if BUILDFLAG(IS_POSIX)
   EXPECT_TRUE(base::CreateSymbolicLink(db2_actual, db2_symlink));
 #endif
diff --git a/components/history_clusters/core/file_clustering_backend_unittest.cc b/components/history_clusters/core/file_clustering_backend_unittest.cc
index 162bef3..a69bf78 100644
--- a/components/history_clusters/core/file_clustering_backend_unittest.cc
+++ b/components/history_clusters/core/file_clustering_backend_unittest.cc
@@ -104,9 +104,7 @@
       })";
   base::FilePath file_path =
       temp_dir().Append(FILE_PATH_LITERAL("clusters.json"));
-  ASSERT_EQ(static_cast<int32_t>(clusters_json_string.size()),
-            base::WriteFile(file_path, clusters_json_string.data(),
-                            clusters_json_string.size()));
+  ASSERT_TRUE(base::WriteFile(file_path, clusters_json_string));
 
   base::CommandLine::ForCurrentProcess()->AppendSwitchPath(
       switches::kClustersOverrideFile, file_path);
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
index ff2bac8f..517e82a4 100644
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -1572,6 +1572,5 @@
 
   return web_contents_ &&
          web_contents_->GetPrimaryMainFrame()->GetWebExposedIsolationLevel() >=
-             content::RenderFrameHost::WebExposedIsolationLevel::
-                 kMaybeIsolatedApplication;
+             content::WebExposedIsolationLevel::kMaybeIsolatedApplication;
 }
diff --git a/components/performance_manager/v8_memory/web_memory_impl.cc b/components/performance_manager/v8_memory/web_memory_impl.cc
index 12fd6a4..b4eefb3 100644
--- a/components/performance_manager/v8_memory/web_memory_impl.cc
+++ b/components/performance_manager/v8_memory/web_memory_impl.cc
@@ -78,7 +78,7 @@
     return;
   }
   if (rfh->GetWebExposedIsolationLevel() ==
-          content::RenderFrameHost::WebExposedIsolationLevel::kNotIsolated &&
+          content::WebExposedIsolationLevel::kNotIsolated &&
       !base::CommandLine::ForCurrentProcess()->HasSwitch(
           switches::kDisableWebSecurity)) {
     std::move(bad_message_callback)
diff --git a/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/DeviceActivityHeartbeatCollectionRateMs.yaml b/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/DeviceActivityHeartbeatCollectionRateMs.yaml
index cfa3060..e915710 100644
--- a/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/DeviceActivityHeartbeatCollectionRateMs.yaml
+++ b/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/DeviceActivityHeartbeatCollectionRateMs.yaml
@@ -19,8 +19,8 @@
   type: integer
 supported_chrome_os_management:
 - google_cloud
-future_on:
-- chrome_os
+supported_on:
+- chrome_os:113-
 tags:
 - admin-sharing
 type: int
diff --git a/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/DeviceActivityHeartbeatEnabled.yaml b/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/DeviceActivityHeartbeatEnabled.yaml
index a2ff1c16..28fe77c9 100644
--- a/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/DeviceActivityHeartbeatEnabled.yaml
+++ b/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/DeviceActivityHeartbeatEnabled.yaml
@@ -22,8 +22,8 @@
   type: boolean
 supported_chrome_os_management:
 - google_cloud
-future_on:
-- chrome_os
+supported_on:
+- chrome_os:113-
 tags:
 - admin-sharing
 type: main
diff --git a/components/power_bookmarks/common/search_params.h b/components/power_bookmarks/common/search_params.h
index f1f8a677..3965a2aa 100644
--- a/components/power_bookmarks/common/search_params.h
+++ b/components/power_bookmarks/common/search_params.h
@@ -23,6 +23,9 @@
   // Unless equal to POWER_TYPE_UNSPECIFIED, narrows the search to a single
   // power type.
   sync_pb::PowerBookmarkSpecifics::PowerType power_type;
+
+  // Whether the search is case sensitive.
+  bool case_sensitive = false;
 };
 
 }  // namespace power_bookmarks
diff --git a/components/power_bookmarks/storage/power_bookmark_database_impl.cc b/components/power_bookmarks/storage/power_bookmark_database_impl.cc
index 91ccdf5..6f78ca6 100644
--- a/components/power_bookmarks/storage/power_bookmark_database_impl.cc
+++ b/components/power_bookmarks/storage/power_bookmark_database_impl.cc
@@ -68,26 +68,40 @@
   return count > 0;
 }
 
+bool MatchPattern(std::string field, std::string pattern, bool case_sensitive) {
+  if (!case_sensitive) {
+    field = base::ToLowerASCII(field);
+    pattern = base::ToLowerASCII(pattern);
+  }
+  return base::MatchPattern(field, pattern);
+}
+
 bool MatchesSearchQuery(const sync_pb::PowerBookmarkSpecifics& specifics,
-                        const std::string& query) {
+                        const std::string& query,
+                        bool case_sensitive) {
   if (query.empty()) {
     return true;
   }
   std::string pattern = base::StrCat({"*", query, "*"});
-  if (base::MatchPattern(specifics.url(), pattern))
-    return true;
+  std::vector<std::string> match_fields = {};
 
-  // A note can be matched by its contents.
+  // Different powers can define their own match fields.
   switch (specifics.power_type()) {
     case sync_pb::PowerBookmarkSpecifics::POWER_TYPE_NOTE:
-      if (base::MatchPattern(
-              specifics.power_entity().note_entity().plain_text(), pattern)) {
-        return true;
-      }
+      match_fields.push_back(
+          specifics.power_entity().note_entity().plain_text());
       break;
     default:
+      match_fields.push_back(specifics.url());
       break;
   }
+
+  for (const std::string& match_field : match_fields) {
+    if (MatchPattern(match_field, pattern, case_sensitive)) {
+      return true;
+    }
+  }
+
   return false;
 }
 
@@ -98,7 +112,8 @@
       search_params.power_type != specifics.power_type()) {
     return false;
   }
-  if (!MatchesSearchQuery(specifics, search_params.query)) {
+  if (!MatchesSearchQuery(specifics, search_params.query,
+                          search_params.case_sensitive)) {
     return false;
   }
   return true;
diff --git a/components/power_bookmarks/storage/power_bookmark_database_impl_unittest.cc b/components/power_bookmarks/storage/power_bookmark_database_impl_unittest.cc
index 8c63b1989..13b459f8 100644
--- a/components/power_bookmarks/storage/power_bookmark_database_impl_unittest.cc
+++ b/components/power_bookmarks/storage/power_bookmark_database_impl_unittest.cc
@@ -632,8 +632,6 @@
   EXPECT_TRUE(pbdb->CreatePower(
       MakePower(GURL("https://example.com/a3.html"), kMockType)));
   EXPECT_TRUE(pbdb->CreatePower(
-      MakePower(GURL("https://example.com/a3.html"), kNoteType)));
-  EXPECT_TRUE(pbdb->CreatePower(
       MakePower(GURL("https://example.com/a3.html"), kMockType)));
   EXPECT_TRUE(pbdb->CreatePower(
       MakePower(GURL("https://example.com/a1.html"), kMockType)));
@@ -644,15 +642,55 @@
   std::vector<std::unique_ptr<PowerOverview>> search_results =
       pbdb->GetPowerOverviewsForSearchParams(search_params);
 
-  EXPECT_EQ(3u, search_results.size());
+  EXPECT_EQ(2u, search_results.size());
   EXPECT_TRUE(ContainsPowerOverview(search_results, kMockType,
                                     GURL("https://example.com/a3.html"), 2));
-  EXPECT_TRUE(ContainsPowerOverview(search_results, kNoteType,
-                                    GURL("https://example.com/a3.html"), 1));
   EXPECT_TRUE(ContainsPowerOverview(search_results, kMockType,
                                     GURL("https://example.com/a1.html"), 1));
 }
 
+TEST_F(PowerBookmarkDatabaseImplTest, GetPowerOverviewsCaseSensitive) {
+  std::unique_ptr<PowerBookmarkDatabaseImpl> pbdb =
+      std::make_unique<PowerBookmarkDatabaseImpl>(db_dir());
+  EXPECT_TRUE(pbdb->Init());
+
+  EXPECT_TRUE(pbdb->CreatePower(
+      MakePower(GURL("https://example.com/a3.html"), kMockType)));
+  EXPECT_TRUE(pbdb->CreatePower(
+      MakePower(GURL("https://example.com/a3.html"), kMockType)));
+  EXPECT_TRUE(pbdb->CreatePower(
+      MakePower(GURL("https://example.com/a1.html"), kMockType)));
+  EXPECT_TRUE(pbdb->CreatePower(
+      MakePower(GURL("https://example.com/a1.html"), kMockType)));
+
+  SearchParams case_sensitive_search_params{.query = "/A",
+                                            .case_sensitive = true};
+  EXPECT_EQ(0u,
+            pbdb->GetPowerOverviewsForSearchParams(case_sensitive_search_params)
+                .size());
+}
+
+TEST_F(PowerBookmarkDatabaseImplTest, GetPowerOverviewsIgnoreCase) {
+  std::unique_ptr<PowerBookmarkDatabaseImpl> pbdb =
+      std::make_unique<PowerBookmarkDatabaseImpl>(db_dir());
+  EXPECT_TRUE(pbdb->Init());
+
+  EXPECT_TRUE(pbdb->CreatePower(
+      MakePower(GURL("https://example.com/a3.html"), kMockType)));
+  EXPECT_TRUE(pbdb->CreatePower(
+      MakePower(GURL("https://example.com/a3.html"), kMockType)));
+  EXPECT_TRUE(pbdb->CreatePower(
+      MakePower(GURL("https://example.com/a1.html"), kMockType)));
+  EXPECT_TRUE(pbdb->CreatePower(
+      MakePower(GURL("https://example.com/a1.html"), kMockType)));
+
+  SearchParams case_insensitive_search_params{.query = "/A",
+                                              .case_sensitive = false};
+  EXPECT_EQ(
+      2u, pbdb->GetPowerOverviewsForSearchParams(case_insensitive_search_params)
+              .size());
+}
+
 TEST_F(PowerBookmarkDatabaseImplTest,
        GetPowerOverviewsForSearchParamsMatchNoteText) {
   std::unique_ptr<PowerBookmarkDatabaseImpl> pbdb =
@@ -767,6 +805,32 @@
   }
 }
 
+TEST_F(PowerBookmarkDatabaseImplTest,
+       GetPowerOverviewsForSearchParamsShouldNotMatchNoteUrl) {
+  std::unique_ptr<PowerBookmarkDatabaseImpl> pbdb =
+      std::make_unique<PowerBookmarkDatabaseImpl>(db_dir());
+  EXPECT_TRUE(pbdb->Init());
+
+  {
+    std::unique_ptr<sync_pb::PowerEntity> note_specifics =
+        std::make_unique<sync_pb::PowerEntity>();
+    note_specifics->mutable_note_entity()->set_plain_text("");
+    std::unique_ptr<Power> note_power = MakePower(
+        GURL("https://example.com/foo"), kNoteType, std::move(note_specifics));
+    EXPECT_TRUE(pbdb->CreatePower(std::move(note_power)));
+  }
+  // Test should not match URL for notes.
+  {
+    SearchParams search_params{
+        .query = "foo",
+    };
+    std::vector<std::unique_ptr<PowerOverview>> search_results =
+        pbdb->GetPowerOverviewsForSearchParams(search_params);
+
+    EXPECT_EQ(0u, search_results.size());
+  }
+}
+
 TEST_F(PowerBookmarkDatabaseImplTest, DeletePower) {
   std::unique_ptr<PowerBookmarkDatabaseImpl> pbdb =
       std::make_unique<PowerBookmarkDatabaseImpl>(db_dir());
diff --git a/components/rlz/rlz_tracker.cc b/components/rlz/rlz_tracker.cc
index f861358..bac140c 100644
--- a/components/rlz/rlz_tracker.cc
+++ b/components/rlz/rlz_tracker.cc
@@ -219,7 +219,8 @@
 
 // static
 RLZTracker* RLZTracker::GetInstance() {
-  return tracker_ ? tracker_ : base::Singleton<RLZTracker>::get();
+  static RLZTracker instance;
+  return tracker_ ? tracker_ : &instance;
 }
 
 RLZTracker::RLZTracker()
@@ -234,7 +235,7 @@
       app_list_used_(false),
       min_init_delay_(kMinInitDelay),
       background_task_runner_(base::ThreadPool::CreateSequencedTaskRunner(
-          {base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN, base::MayBlock(),
+          {base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN, base::MayBlock(),
            base::TaskPriority::BEST_EFFORT})) {
   DETACH_FROM_SEQUENCE(sequence_checker_);
 }
diff --git a/components/security_interstitials/core/https_only_mode_metrics.cc b/components/security_interstitials/core/https_only_mode_metrics.cc
index 81a79554..ccf5e55 100644
--- a/components/security_interstitials/core/https_only_mode_metrics.cc
+++ b/components/security_interstitials/core/https_only_mode_metrics.cc
@@ -4,10 +4,16 @@
 
 #include "components/security_interstitials/core/https_only_mode_metrics.h"
 
-namespace security_interstitials {
-namespace https_only_mode {
+#include "base/metrics/histogram_functions.h"
+
+namespace security_interstitials::https_only_mode {
 
 const char kEventHistogram[] = "Security.HttpsFirstMode.NavigationEvent";
 
+// TODO(crbug.com/1394910): Rename these metrics now that they apply to both
+// HTTPS-First Mode and HTTPS Upgrades.
+void RecordHttpsFirstModeNavigation(Event event) {
+  base::UmaHistogramEnumeration(kEventHistogram, event);
 }
-}  // namespace security_interstitials
+
+}  // namespace security_interstitials::https_only_mode
diff --git a/components/security_interstitials/core/https_only_mode_metrics.h b/components/security_interstitials/core/https_only_mode_metrics.h
index a5bc86c..1b743d9 100644
--- a/components/security_interstitials/core/https_only_mode_metrics.h
+++ b/components/security_interstitials/core/https_only_mode_metrics.h
@@ -5,12 +5,13 @@
 #ifndef COMPONENTS_SECURITY_INTERSTITIALS_CORE_HTTPS_ONLY_MODE_METRICS_H_
 #define COMPONENTS_SECURITY_INTERSTITIALS_CORE_HTTPS_ONLY_MODE_METRICS_H_
 
-namespace security_interstitials {
-
-namespace https_only_mode {
+namespace security_interstitials::https_only_mode {
 
 extern const char kEventHistogram[];
 
+// Recorded by HTTPS-First Mode and HTTPS-Upgrade logic when a navigation is
+// upgraded, or is eligible to be upgraded but wasn't.
+//
 // These values are persisted to logs. Entries should not be renumbered and
 // numeric values should never be reused.
 enum class Event {
@@ -37,10 +38,16 @@
   // A prerendered HTTP navigation was cancelled.
   kPrerenderCancelled = 6,
 
-  kMaxValue = kPrerenderCancelled,
+  // An upgrade would have been attempted but wasn't because neither HTTPS-First
+  // Mode nor HTTPS Upgrading were enabled.
+  kUpgradeNotAttempted = 7,
+
+  kMaxValue = kUpgradeNotAttempted,
 };
 
-}  // namespace https_only_mode
-}  // namespace security_interstitials
+// Helper to record an HTTPS-First Mode navigation event.
+void RecordHttpsFirstModeNavigation(Event event);
+
+}  // namespace security_interstitials::https_only_mode
 
 #endif  // COMPONENTS_SECURITY_INTERSTITIALS_CORE_HTTPS_ONLY_MODE_METRICS_H_
diff --git a/components/sync/test/test_sync_service.cc b/components/sync/test/test_sync_service.cc
index 5f2c31f..ba19f27f 100644
--- a/components/sync/test/test_sync_service.cc
+++ b/components/sync/test/test_sync_service.cc
@@ -170,6 +170,9 @@
   if (auth_error_.IsPersistentError()) {
     return UserActionableError::kSignInNeedsUpdate;
   }
+  if (user_settings_.IsPassphraseRequiredForPreferredDataTypes()) {
+    return UserActionableError::kNeedsPassphrase;
+  }
   return UserActionableError::kNone;
 }
 
diff --git a/components/ui_devtools/devtools_server.cc b/components/ui_devtools/devtools_server.cc
index 7ab612a..89c7170 100644
--- a/components/ui_devtools/devtools_server.cc
+++ b/components/ui_devtools/devtools_server.cc
@@ -37,8 +37,7 @@
 void WriteUIDevtoolsPortToFile(base::FilePath output_dir, int port) {
   base::FilePath path = output_dir.Append(kUIDevToolsActivePortFileName);
   std::string port_target_string = base::StringPrintf("%d", port);
-  if (base::WriteFile(path, port_target_string.c_str(),
-                      static_cast<int>(port_target_string.length())) < 0) {
+  if (!base::WriteFile(path, port_target_string)) {
     LOG(ERROR) << "Error writing UIDevTools active port to file";
   }
 }
diff --git a/content/browser/child_process_launcher_helper.cc b/content/browser/child_process_launcher_helper.cc
index 162ef74..87e8962 100644
--- a/content/browser/child_process_launcher_helper.cc
+++ b/content/browser/child_process_launcher_helper.cc
@@ -189,6 +189,13 @@
   if (launch_elevated) {
     invitation.set_extra_flags(MOJO_SEND_INVITATION_FLAG_ELEVATED);
   }
+
+#if BUILDFLAG(IS_WIN)
+  if (delegate_->ShouldUseUntrustedMojoInvitation()) {
+    invitation.set_extra_flags(MOJO_SEND_INVITATION_FLAG_UNTRUSTED_PROCESS);
+  }
+#endif
+
   if (process.process.IsValid()) {
 #if !BUILDFLAG(IS_FUCHSIA)
     if (mojo_named_channel_) {
diff --git a/content/browser/renderer_host/isolated_context_util.cc b/content/browser/renderer_host/isolated_context_util.cc
index c607906..3a053cf 100644
--- a/content/browser/renderer_host/isolated_context_util.cc
+++ b/content/browser/renderer_host/isolated_context_util.cc
@@ -13,8 +13,7 @@
 
 bool IsFrameSufficientlyIsolated(RenderFrameHost* frame) {
   if (frame->GetWebExposedIsolationLevel() >=
-      content::RenderFrameHost::WebExposedIsolationLevel::
-          kMaybeIsolatedApplication) {
+      content::WebExposedIsolationLevel::kMaybeIsolatedApplication) {
     return true;
   }
 
diff --git a/content/browser/renderer_host/isolated_web_app_throttle_browsertest.cc b/content/browser/renderer_host/isolated_web_app_throttle_browsertest.cc
index cc954f3..893e7b79 100644
--- a/content/browser/renderer_host/isolated_web_app_throttle_browsertest.cc
+++ b/content/browser/renderer_host/isolated_web_app_throttle_browsertest.cc
@@ -23,11 +23,10 @@
 
 namespace {
 
-static constexpr RenderFrameHost::WebExposedIsolationLevel kNotIsolated =
-    RenderFrameHost::WebExposedIsolationLevel::kNotIsolated;
-static constexpr RenderFrameHost::WebExposedIsolationLevel
-    kMaybeIsolatedApplication =
-        RenderFrameHost::WebExposedIsolationLevel::kMaybeIsolatedApplication;
+static constexpr WebExposedIsolationLevel kNotIsolated =
+    WebExposedIsolationLevel::kNotIsolated;
+static constexpr WebExposedIsolationLevel kMaybeIsolatedApplication =
+    WebExposedIsolationLevel::kMaybeIsolatedApplication;
 
 const char kAppHost[] = "app.com";
 const char kNonAppHost[] = "other.com";
diff --git a/content/browser/renderer_host/isolated_web_app_throttle_unittest.cc b/content/browser/renderer_host/isolated_web_app_throttle_unittest.cc
index cd002e1..33ca063 100644
--- a/content/browser/renderer_host/isolated_web_app_throttle_unittest.cc
+++ b/content/browser/renderer_host/isolated_web_app_throttle_unittest.cc
@@ -31,11 +31,10 @@
 const char kAppUrl2[] = "https://isolated.app/page";
 const char kNonAppUrl[] = "https://example.com";
 const char kNonAppUrl2[] = "https://example.com/page";
-static constexpr RenderFrameHost::WebExposedIsolationLevel kNotIsolated =
-    RenderFrameHost::WebExposedIsolationLevel::kNotIsolated;
-static constexpr RenderFrameHost::WebExposedIsolationLevel
-    kMaybeIsolatedApplication =
-        RenderFrameHost::WebExposedIsolationLevel::kMaybeIsolatedApplication;
+static constexpr WebExposedIsolationLevel kNotIsolated =
+    WebExposedIsolationLevel::kNotIsolated;
+static constexpr WebExposedIsolationLevel kMaybeIsolatedApplication =
+    WebExposedIsolationLevel::kMaybeIsolatedApplication;
 
 class IsolatedWebAppContentBrowserClient : public ContentBrowserClient {
  public:
@@ -155,8 +154,7 @@
     return child_rfh->GetFrameTreeNodeId();
   }
 
-  RenderFrameHost::WebExposedIsolationLevel GetWebExposedIsolationLevel(
-      int frame_tree_node_id) {
+  WebExposedIsolationLevel GetWebExposedIsolationLevel(int frame_tree_node_id) {
     return FrameTreeNode::GloballyFindByID(frame_tree_node_id)
         ->current_frame_host()
         ->GetWebExposedIsolationLevel();
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 6731136..7108cb11 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -2315,20 +2315,19 @@
   return GetSiteInstance() != parent_->GetSiteInstance();
 }
 
-RenderFrameHost::WebExposedIsolationLevel
-RenderFrameHostImpl::GetWebExposedIsolationLevel() {
+WebExposedIsolationLevel RenderFrameHostImpl::GetWebExposedIsolationLevel() {
   WebExposedIsolationInfo info =
       GetSiteInstance()->GetSiteInfo().web_exposed_isolation_info();
   if (info.is_isolated_application()) {
     // TODO(crbug.com/1159832): Check the document policy once it's available to
     // find out if this frame is actually isolated.
-    return RenderFrameHost::WebExposedIsolationLevel::kMaybeIsolatedApplication;
+    return WebExposedIsolationLevel::kMaybeIsolatedApplication;
   } else if (info.is_isolated()) {
     // TODO(crbug.com/1159832): Check the document policy once it's available to
     // find out if this frame is actually isolated.
-    return RenderFrameHost::WebExposedIsolationLevel::kMaybeIsolated;
+    return WebExposedIsolationLevel::kMaybeIsolated;
   }
-  return RenderFrameHost::WebExposedIsolationLevel::kNotIsolated;
+  return WebExposedIsolationLevel::kNotIsolated;
 }
 
 const GURL& RenderFrameHostImpl::GetLastCommittedURL() const {
diff --git a/content/browser/renderer_host/render_frame_host_impl_browsertest.cc b/content/browser/renderer_host/render_frame_host_impl_browsertest.cc
index 5ce0f858..6c8903d7 100644
--- a/content/browser/renderer_host/render_frame_host_impl_browsertest.cc
+++ b/content/browser/renderer_host/render_frame_host_impl_browsertest.cc
@@ -5507,7 +5507,7 @@
   // Not isolated:
   EXPECT_TRUE(
       NavigateToURL(shell(), embedded_test_server()->GetURL("/empty.html")));
-  EXPECT_EQ(RenderFrameHost::WebExposedIsolationLevel::kNotIsolated,
+  EXPECT_EQ(WebExposedIsolationLevel::kNotIsolated,
             root_frame_host()->GetWebExposedIsolationLevel());
 
   // Cross-Origin Isolated:
@@ -5517,11 +5517,10 @@
                                 "Cross-Origin-Opener-Policy: same-origin&"
                                 "Cross-Origin-Embedder-Policy: require-corp")));
   // Status can be kIsolated or kMaybeIsolated.
-  EXPECT_LT(RenderFrameHost::WebExposedIsolationLevel::kNotIsolated,
+  EXPECT_LT(WebExposedIsolationLevel::kNotIsolated,
             root_frame_host()->GetWebExposedIsolationLevel());
-  EXPECT_GT(
-      RenderFrameHost::WebExposedIsolationLevel::kMaybeIsolatedApplication,
-      root_frame_host()->GetWebExposedIsolationLevel());
+  EXPECT_GT(WebExposedIsolationLevel::kMaybeIsolatedApplication,
+            root_frame_host()->GetWebExposedIsolationLevel());
 }
 
 namespace {
@@ -5587,7 +5586,7 @@
   navigation_observer.Wait();
 
   EXPECT_TRUE(navigation_observer.last_navigation_succeeded());
-  EXPECT_EQ(RenderFrameHost::WebExposedIsolationLevel::kNotIsolated,
+  EXPECT_EQ(WebExposedIsolationLevel::kNotIsolated,
             root_frame_host()->GetWebExposedIsolationLevel());
 
   // Cross-Origin Isolated:
@@ -5597,7 +5596,7 @@
                              "/set-header?"
                              "Cross-Origin-Opener-Policy: same-origin&"
                              "Cross-Origin-Embedder-Policy: require-corp")));
-  EXPECT_EQ(RenderFrameHost::WebExposedIsolationLevel::kMaybeIsolated,
+  EXPECT_EQ(WebExposedIsolationLevel::kMaybeIsolated,
             root_frame_host()->GetWebExposedIsolationLevel());
 
   // Isolated Application:
@@ -5606,11 +5605,10 @@
       /*site_instance=*/nullptr, gfx::Size());
   EXPECT_TRUE(NavigateToURL(app_shell,
                             https_server()->GetURL(kAppHost, "/empty.html")));
-  EXPECT_EQ(
-      RenderFrameHost::WebExposedIsolationLevel::kMaybeIsolatedApplication,
-      app_shell->web_contents()
-          ->GetPrimaryMainFrame()
-          ->GetWebExposedIsolationLevel());
+  EXPECT_EQ(WebExposedIsolationLevel::kMaybeIsolatedApplication,
+            app_shell->web_contents()
+                ->GetPrimaryMainFrame()
+                ->GetWebExposedIsolationLevel());
 }
 
 IN_PROC_BROWSER_TEST_F(RenderFrameHostImplBrowserTest,
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index d714f76..d35ba53 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -1795,7 +1795,7 @@
 #if BUILDFLAG(IS_WIN)
     std::unique_ptr<SandboxedProcessLauncherDelegate> sandbox_delegate =
         std::make_unique<RendererSandboxedProcessLauncherDelegateWin>(
-            cmd_line.get(), IsJitDisabled());
+            *cmd_line, IsJitDisabled());
 #else
     std::unique_ptr<SandboxedProcessLauncherDelegate> sandbox_delegate =
         std::make_unique<RendererSandboxedProcessLauncherDelegate>();
@@ -1809,8 +1809,6 @@
     // Spawn the child process asynchronously to avoid blocking the UI thread.
     // As long as there's no renderer prefix, we can use the zygote process
     // at this stage.
-    mojo_invitation_.set_extra_flags(
-        MOJO_SEND_INVITATION_FLAG_UNTRUSTED_PROCESS);
     child_process_launcher_ = std::make_unique<ChildProcessLauncher>(
         std::move(sandbox_delegate), std::move(cmd_line), GetID(), this,
         std::move(mojo_invitation_),
diff --git a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc
index 83f3f0d6..0cc14c2 100644
--- a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc
+++ b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc
@@ -56,8 +56,9 @@
 
 #if BUILDFLAG(IS_WIN)
 RendererSandboxedProcessLauncherDelegateWin::
-    RendererSandboxedProcessLauncherDelegateWin(base::CommandLine* cmd_line,
-                                                bool is_jit_disabled)
+    RendererSandboxedProcessLauncherDelegateWin(
+        const base::CommandLine& cmd_line,
+        bool is_jit_disabled)
     : renderer_code_integrity_enabled_(
           GetContentClient()->browser()->IsRendererCodeIntegrityEnabled()),
       renderer_app_container_disabled_(
@@ -66,9 +67,9 @@
     dynamic_code_can_be_disabled_ = true;
     return;
   }
-  if (cmd_line->HasSwitch(blink::switches::kJavaScriptFlags)) {
+  if (cmd_line.HasSwitch(blink::switches::kJavaScriptFlags)) {
     std::string js_flags =
-        cmd_line->GetSwitchValueASCII(blink::switches::kJavaScriptFlags);
+        cmd_line.GetSwitchValueASCII(blink::switches::kJavaScriptFlags);
     std::vector<base::StringPiece> js_flag_list = base::SplitStringPiece(
         js_flags, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
     for (const auto& js_flag : js_flag_list) {
@@ -162,6 +163,11 @@
   return dynamic_code_can_be_disabled_;
 }
 
+bool RendererSandboxedProcessLauncherDelegateWin::
+    ShouldUseUntrustedMojoInvitation() {
+  return true;
+}
+
 #endif  // BUILDFLAG(IS_WIN)
 
 }  // namespace content
diff --git a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h
index 8f6531e..d375125 100644
--- a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h
+++ b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h
@@ -28,6 +28,7 @@
   bool EnableCpuSecurityMitigations() override;
 #endif  // BUILDFLAG(IS_MAC)
 
+  // sandbox::policy::SandboxDelegate:
   sandbox::mojom::Sandbox GetSandboxType() override;
 };
 
@@ -36,16 +37,17 @@
 class CONTENT_EXPORT RendererSandboxedProcessLauncherDelegateWin
     : public RendererSandboxedProcessLauncherDelegate {
  public:
-  RendererSandboxedProcessLauncherDelegateWin(base::CommandLine* cmd_line,
+  RendererSandboxedProcessLauncherDelegateWin(const base::CommandLine& cmd_line,
                                               bool is_jit_disabled);
-
+  // sandbox::policy::SandboxDelegate:
   std::string GetSandboxTag() override;
-
   bool PreSpawnTarget(sandbox::TargetPolicy* policy) override;
   void PostSpawnTarget(base::ProcessHandle process) override;
-
   bool CetCompatible() override;
 
+  // SandboxedProcessLauncherDelegate:
+  bool ShouldUseUntrustedMojoInvitation() override;
+
  private:
   const bool renderer_code_integrity_enabled_;
   const bool renderer_app_container_disabled_;
diff --git a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate_unittest.cc b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate_unittest.cc
index 4ba6d08..1677243 100644
--- a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate_unittest.cc
+++ b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate_unittest.cc
@@ -63,7 +63,7 @@
   auto policy = broker->CreatePolicy();
 
   content::RendererSandboxedProcessLauncherDelegateWin test_renderer_delegate(
-      &cmd_line, /* is_jit_disabled */ false);
+      cmd_line, /*is_jit_disabled=*/false);
 
   // PreSpawn
   ::sandbox::ResultCode result =
diff --git a/content/browser/worker_host/worker_browsertest.cc b/content/browser/worker_host/worker_browsertest.cc
index 8689c5e6..9b2c3a6f 100644
--- a/content/browser/worker_host/worker_browsertest.cc
+++ b/content/browser/worker_host/worker_browsertest.cc
@@ -379,7 +379,7 @@
       ProcessLock::FromSiteInfo(page_rfh->GetSiteInstance()->GetSiteInfo());
   EXPECT_TRUE(page_lock.GetWebExposedIsolationInfo().is_isolated());
   EXPECT_GT(page_rfh->GetWebExposedIsolationLevel(),
-            RenderFrameHost::WebExposedIsolationLevel::kNotIsolated);
+            WebExposedIsolationLevel::kNotIsolated);
 
   // Create a shared worker from the cross-origin-isolated page:
 
diff --git a/content/public/browser/BUILD.gn b/content/public/browser/BUILD.gn
index 9043efd..110cb3d 100644
--- a/content/public/browser/BUILD.gn
+++ b/content/public/browser/BUILD.gn
@@ -434,6 +434,7 @@
     "web_contents_view_delegate.cc",
     "web_contents_view_delegate.h",
     "web_drag_dest_delegate.h",
+    "web_exposed_isolation_level.h",
     "web_ui.h",
     "web_ui_browser_interface_broker_registry.h",
     "web_ui_controller.cc",
diff --git a/content/public/browser/render_frame_host.h b/content/public/browser/render_frame_host.h
index 90c73ae..986ae0e 100644
--- a/content/public/browser/render_frame_host.h
+++ b/content/public/browser/render_frame_host.h
@@ -16,6 +16,7 @@
 #include "build/build_config.h"
 #include "content/common/content_export.h"
 #include "content/public/browser/back_forward_cache.h"
+#include "content/public/browser/web_exposed_isolation_level.h"
 #include "content/public/common/extra_mojo_js_features.mojom.h"
 #include "content/public/common/isolated_world_ids.h"
 #include "ipc/ipc_listener.h"
@@ -456,69 +457,6 @@
   // Returns true if the frame is out of process relative to its parent.
   virtual bool IsCrossProcessSubframe() = 0;
 
-  // Reflects the web-exposed isolation properties of a given frame, which
-  // depends both on the process in which the frame lives, as well as the agent
-  // cluster into which it has been placed.
-  //
-  // Three broad categories are possible:
-  //
-  // 1.  The frame may not be isolated in a web-facing way.
-  //
-  // 2.  The frame may be "cross-origin isolated", corresponding to the value
-  //     returned by `WorkerOrWindowGlobalScope.crossOriginIsolated`, and gating
-  //     the set of APIs which specify [CrossOriginIsolated] attributes. The
-  //     requirements for this level of isolation are described in [1] and [2]
-  //     below.
-  //
-  //     In practice this means that the frame is guaranteed to be hosted in a
-  //     process that is isolated to the frame's origin. Additionally, the
-  //     frame may embed cross-origin frames and workers only if they have
-  //     opted in to being embedded by asserting CORS or CORP headers.
-  //
-  // 3.  The frame may be an "isolated application", corresponding to a mostly
-  //     TBD set of restrictions we're exploring in https://crbug.com/1206150,
-  //     and which currently gate the set of APIs which specify
-  //     [DirectSocketEnabled] attributes.
-  //
-  // The enum below is ordered from least-isolated to most-isolated.
-  //
-  // [1]
-  // https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/crossOriginIsolated
-  // [2] https://w3c.github.io/webappsec-permissions-policy/
-  //
-  // NOTE: some of the information needed to fully determine a frame's
-  // isolation status is currently not available in the browser process.
-  // Access to web platform API's must be checked in the renderer, with the
-  // WebExposedIsolationLevel on the browser side only used as a backup to
-  // catch misbehaving renderers.
-  enum class WebExposedIsolationLevel {
-    // The frame is not in a cross-origin isolated agent cluster. It may not
-    // meet the requirements for such isolation in itself, or it may be
-    // hosted in a process capable of supporting cross-origin isolation or
-    // application isolation, but barred from using those capabilities by
-    // its embedder.
-    kNotIsolated,
-
-    // The frame is in a cross-origin isolated process and agent cluster,
-    // allowed to access web platform APIs gated on [CrossOriginIsolated].
-    //
-    // TODO(clamy): Remove this "maybe" status once it is possible to determine
-    // conclusively whether the document is capable of calling cross-origin
-    // isolated APIs by examining the active document policy.
-    kMaybeIsolated,
-    kIsolated,
-
-    // The frame is in a cross-origin isolated process and agent cluster that
-    // supports application isolation, allowing access to web platform APIs
-    // gated on both [CrossOriginIsolated] and [DirectSocketEnabled].
-    //
-    // TODO(clamy): Remove this "maybe" status once it is possible to determine
-    // conclusively whether the document is capable of calling cross-origin
-    // isolated APIs by examining the active document policy.
-    kMaybeIsolatedApplication,
-    kIsolatedApplication
-  };
-
   // Returns the web-exposed isolation level of a frame's agent cluster.
   //
   // Note that this is a property of the document so can change as the frame
diff --git a/content/public/browser/web_exposed_isolation_level.h b/content/public/browser/web_exposed_isolation_level.h
new file mode 100644
index 0000000..7554e85
--- /dev/null
+++ b/content/public/browser/web_exposed_isolation_level.h
@@ -0,0 +1,77 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_PUBLIC_BROWSER_WEB_EXPOSED_ISOLATION_LEVEL_H_
+#define CONTENT_PUBLIC_BROWSER_WEB_EXPOSED_ISOLATION_LEVEL_H_
+
+namespace content {
+
+// Reflects the web-exposed isolation properties of a given frame or worker.
+// For the frame, this depends both on the process in which the frame lives, as
+// well as the agent cluster into which it has been placed. For a worker, this
+// depends on the process in which the worker lives.
+//
+// Three broad categories are possible:
+//
+// 1.  The frame or worker may not be isolated in a web-facing way.
+//
+// 2.  The frame or worker may be "cross-origin isolated", corresponding to the
+//     value returned by `WorkerOrWindowGlobalScope.crossOriginIsolated`, and
+//     gating the set of APIs which specify [CrossOriginIsolated] attributes.
+//     The requirements for this level of isolation are described in [1] and [2]
+//     below.
+//
+//     In practice this means that the frame or worker are guaranteed to be
+//     hosted in a process that is isolated to the frame or worker's origin.
+//     Additionally for frames, the frame may embed cross-origin frames and
+//     workers only if they have opted in to being embedded by asserting CORS or
+//     CORP headers.
+//
+// 3.  The frame or worker may be an "isolated application", corresponding to a
+//     mostly TBD set of restrictions we're exploring in
+//     https://crbug.com/1206150, and which currently gate the set of APIs
+//     which specify [DirectSocketEnabled] attributes.
+//
+// The enum below is ordered from least-isolated to most-isolated.
+//
+// [1]
+// https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/crossOriginIsolated
+// [2] https://w3c.github.io/webappsec-permissions-policy/
+//
+// NOTE: some of the information needed to fully determine a frame or worker's
+// isolation status is currently not available in the browser process.
+// Access to web platform API's must be checked in the renderer, with the
+// WebExposedIsolationLevel on the browser side only used as a backup to
+// catch misbehaving renderers.
+enum class WebExposedIsolationLevel {
+  // The frame or worker is not in a cross-origin isolated agent cluster. It may
+  // not meet the requirements for such isolation in itself, or it may be hosted
+  // in a process capable of supporting cross-origin isolation or application
+  // isolation, but barred from using those capabilities by its embedder.
+  kNotIsolated,
+
+  // The frame or worker is in a cross-origin isolated process and agent
+  // cluster, allowed to access web platform APIs gated on
+  // [CrossOriginIsolated].
+  //
+  // TODO(clamy): Remove this "maybe" status once it is possible to determine
+  // conclusively whether the document is capable of calling cross-origin
+  // isolated APIs by examining the active document policy.
+  kMaybeIsolated,
+  kIsolated,
+
+  // The frame or worker is in a cross-origin isolated process and agent cluster
+  // that supports application isolation, allowing access to web platform APIs
+  // gated on both [CrossOriginIsolated] and [DirectSocketEnabled].
+  //
+  // TODO(clamy): Remove this "maybe" status once it is possible to determine
+  // conclusively whether the document is capable of calling cross-origin
+  // isolated APIs by examining the active document policy.
+  kMaybeIsolatedApplication,
+  kIsolatedApplication
+};
+
+}  // namespace content
+
+#endif  // CONTENT_PUBLIC_BROWSER_WEB_EXPOSED_ISOLATION_LEVEL_H_
diff --git a/content/public/common/sandboxed_process_launcher_delegate.cc b/content/public/common/sandboxed_process_launcher_delegate.cc
index 422613b7..e6753a2 100644
--- a/content/public/common/sandboxed_process_launcher_delegate.cc
+++ b/content/public/common/sandboxed_process_launcher_delegate.cc
@@ -32,10 +32,6 @@
 void SandboxedProcessLauncherDelegate::PostSpawnTarget(
     base::ProcessHandle process) {}
 
-bool SandboxedProcessLauncherDelegate::ShouldLaunchElevated() {
-  return false;
-}
-
 bool SandboxedProcessLauncherDelegate::ShouldUnsandboxedRunInJob() {
   return false;
 }
@@ -45,6 +41,16 @@
 }
 #endif  // BUILDFLAG(IS_WIN)
 
+#if BUILDFLAG(IS_WIN)
+bool SandboxedProcessLauncherDelegate::ShouldLaunchElevated() {
+  return false;
+}
+
+bool SandboxedProcessLauncherDelegate::ShouldUseUntrustedMojoInvitation() {
+  return false;
+}
+#endif  // BUILDFLAG(IS_WIN)
+
 #if BUILDFLAG(USE_ZYGOTE)
 ZygoteCommunication* SandboxedProcessLauncherDelegate::GetZygote() {
   // Default to the sandboxed zygote. If a more lax sandbox is needed, then the
diff --git a/content/public/common/sandboxed_process_launcher_delegate.h b/content/public/common/sandboxed_process_launcher_delegate.h
index ea53423..1dba166f 100644
--- a/content/public/common/sandboxed_process_launcher_delegate.h
+++ b/content/public/common/sandboxed_process_launcher_delegate.h
@@ -29,7 +29,7 @@
   ~SandboxedProcessLauncherDelegate() override {}
 
 #if BUILDFLAG(IS_WIN)
-  // SandboxDelegate:
+  // sandbox::policy::SandboxDelegate:
   std::string GetSandboxTag() override;
   bool DisableDefaultPolicy() override;
   bool GetAppContainerId(std::string* appcontainer_id) override;
@@ -37,10 +37,17 @@
   void PostSpawnTarget(base::ProcessHandle process) override;
   bool ShouldUnsandboxedRunInJob() override;
   bool CetCompatible() override;
+#endif  // BUILDFLAG(IS_WIN)
 
+#if BUILDFLAG(IS_WIN)
   // Override to return true if the process should be launched as an elevated
   // process (which implies no sandbox).
   virtual bool ShouldLaunchElevated();
+
+  // Whether or not to use the MOJO_SEND_INVITATION_FLAG_UNTRUSTED_PROCESS flag
+  // on the outgoing invitation used to create the mojo connection to this
+  // process.
+  virtual bool ShouldUseUntrustedMojoInvitation();
 #endif  // BUILDFLAG(IS_WIN)
 
 #if BUILDFLAG(USE_ZYGOTE)
diff --git a/content/renderer/sandbox_mac_v2_unittest.mm b/content/renderer/sandbox_mac_v2_unittest.mm
index 99aecb6..3290f30 100644
--- a/content/renderer/sandbox_mac_v2_unittest.mm
+++ b/content/renderer/sandbox_mac_v2_unittest.mm
@@ -109,10 +109,10 @@
   CHECK(result) << error;
 
   // Test the properties of the sandbox profile.
-  const char log_msg[] = "logged";
-  CHECK_NE(-1, base::WriteFile(log_file, log_msg, sizeof(log_msg)));
+  constexpr base::StringPiece log_msg = "logged";
+  CHECK(base::WriteFile(log_file, base::StringPiece(log_msg)));
   // Log file is write only.
-  char read_buf[sizeof(log_msg)];
+  char read_buf[log_msg.size()];
   CHECK_EQ(-1, base::ReadFile(log_file, read_buf, sizeof(read_buf)));
 
   // Try executing the blessed binary.
diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
index c446c329..fcb7b0a 100644
--- a/content/shell/BUILD.gn
+++ b/content/shell/BUILD.gn
@@ -114,6 +114,13 @@
       "app/shell_main_delegate_mac.mm",
     ]
   }
+  if (is_ios) {
+    sources += [
+      "app/ios/shell_application_ios.h",
+      "app/ios/shell_application_ios.mm",
+    ]
+    configs += [ "//build/config/compiler:enable_arc" ]
+  }
   defines = [
     "CONTENT_SHELL_VERSION=\"$content_shell_version\"",
     "CONTENT_SHELL_MAJOR_VERSION=\"$content_shell_major_version\"",
@@ -204,8 +211,6 @@
 
   if (is_ios) {
     sources += [
-      "browser/shell_application_ios.h",
-      "browser/shell_application_ios.mm",
       "browser/shell_platform_delegate_ios.mm",
       "browser/shell_web_contents_view_delegate_ios.mm",
     ]
diff --git a/content/shell/browser/shell_application_ios.h b/content/shell/app/ios/shell_application_ios.h
similarity index 72%
rename from content/shell/browser/shell_application_ios.h
rename to content/shell/app/ios/shell_application_ios.h
index a8e0380f..2a4b6f2 100644
--- a/content/shell/browser/shell_application_ios.h
+++ b/content/shell/app/ios/shell_application_ios.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CONTENT_SHELL_BROWSER_SHELL_APPLICATION_IOS_H_
-#define CONTENT_SHELL_BROWSER_SHELL_APPLICATION_IOS_H_
+#ifndef CONTENT_SHELL_APP_IOS_SHELL_APPLICATION_IOS_H_
+#define CONTENT_SHELL_APP_IOS_SHELL_APPLICATION_IOS_H_
 
 #ifdef __OBJC__
 #import <UIKit/UIKit.h>
@@ -20,4 +20,4 @@
 
 int RunShellApplication(int argc, const char* _Nullable* _Nullable argv);
 
-#endif  // CONTENT_SHELL_BROWSER_SHELL_APPLICATION_IOS_H_
+#endif  // CONTENT_SHELL_APP_IOS_SHELL_APPLICATION_IOS_H_
diff --git a/content/shell/browser/shell_application_ios.mm b/content/shell/app/ios/shell_application_ios.mm
similarity index 65%
rename from content/shell/browser/shell_application_ios.mm
rename to content/shell/app/ios/shell_application_ios.mm
index 363d7df6..38b0d55 100644
--- a/content/shell/browser/shell_application_ios.mm
+++ b/content/shell/app/ios/shell_application_ios.mm
@@ -2,33 +2,45 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "content/shell/browser/shell_application_ios.h"
+#import "content/shell/app/ios/shell_application_ios.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
 #error "This file requires ARC support."
 #endif
 
 #include "base/command_line.h"
+#include "content/public/app/content_main.h"
+#include "content/public/app/content_main_runner.h"
+#include "content/shell/app/shell_main_delegate.h"
 #include "content/shell/browser/shell.h"
 #include "content/shell/browser/shell_browser_context.h"
 #include "content/shell/browser/shell_content_browser_client.h"
 #include "ui/gfx/geometry/size.h"
 
+static int g_argc = 0;
+static const char** g_argv = nullptr;
+static std::unique_ptr<content::ContentMainRunner> g_main_runner;
+static std::unique_ptr<content::ShellMainDelegate> g_main_delegate;
+
 @interface ShellAppSceneDelegate : UIResponder <UIWindowSceneDelegate>
 @end
 
 @implementation ShellAppSceneDelegate
 
-@synthesize window = _window;
-
 - (void)scene:(UIScene*)scene
     willConnectToSession:(UISceneSession*)session
                  options:(UISceneConnectionOptions*)connectionOptions {
   CHECK_EQ(1u, content::Shell::windows().size());
   UIWindow* window = content::Shell::windows()[0]->window();
+
+  // The rootViewController must be added after a windowScene is set
+  // so stash it in a temp variable and then reattach it. If we don't
+  // do this the safe area gets screwed up on orientation changes.
+  UIViewController* controller = window.rootViewController;
+  window.rootViewController = nil;
   window.windowScene = (UIWindowScene*)scene;
-  self.window = window;
-  [self.window makeKeyAndVisible];
+  window.rootViewController = controller;
+  [window makeKeyAndVisible];
 }
 
 @end
@@ -39,13 +51,21 @@
     configurationForConnectingSceneSession:
         (UISceneSession*)connectingSceneSession
                                    options:(UISceneConnectionOptions*)options {
-  UISceneConfiguration* configuration = [[UISceneConfiguration alloc] init];
+  UISceneConfiguration* configuration =
+      [[UISceneConfiguration alloc] initWithName:nil
+                                     sessionRole:connectingSceneSession.role];
   configuration.delegateClass = ShellAppSceneDelegate.class;
   return configuration;
 }
 
 - (BOOL)application:(UIApplication*)application
     willFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
+  g_main_delegate = std::make_unique<content::ShellMainDelegate>();
+  content::ContentMainParams params(g_main_delegate.get());
+  params.argc = g_argc;
+  params.argv = g_argv;
+  g_main_runner = content::ContentMainRunner::Create();
+  content::RunContentProcess(std::move(params), g_main_runner.get());
   return YES;
 }
 
@@ -83,6 +103,8 @@
 @end
 
 int RunShellApplication(int argc, const char** argv) {
+  g_argc = argc;
+  g_argv = argv;
   @autoreleasepool {
     return UIApplicationMain(argc, const_cast<char**>(argv), nil,
                              NSStringFromClass([ShellAppDelegate class]));
diff --git a/content/shell/app/shell_main.cc b/content/shell/app/shell_main.cc
index 26b7fd9..352dc26 100644
--- a/content/shell/app/shell_main.cc
+++ b/content/shell/app/shell_main.cc
@@ -15,8 +15,7 @@
 
 #if BUILDFLAG(IS_IOS)
 #include "base/at_exit.h"                                 // nogncheck
-#include "content/public/app/content_main_runner.h"       // nogncheck
-#include "content/shell/browser/shell_application_ios.h"  // nogncheck
+#include "content/shell/app/ios/shell_application_ios.h"
 #endif
 
 #if BUILDFLAG(IS_WIN)
@@ -49,15 +48,7 @@
   // Create this here since it's needed to start the crash handler.
   base::AtExitManager at_exit;
 
-  content::ShellMainDelegate delegate;
-  content::ContentMainParams params(&delegate);
-  params.argc = argc;
-  params.argv = argv;
-  auto runner = content::ContentMainRunner::Create();
-  int res = content::RunContentProcess(std::move(params), runner.get());
-  if (res != 0) {
-    return res;
-  }
+  // We will create the ContentMainRunner once the UIApplication is ready.
   return RunShellApplication(argc, argv);
 }
 
diff --git a/content/shell/app/shell_main_delegate.cc b/content/shell/app/shell_main_delegate.cc
index cc5b8f3..89aa942a 100644
--- a/content/shell/app/shell_main_delegate.cc
+++ b/content/shell/app/shell_main_delegate.cc
@@ -85,7 +85,7 @@
 #endif
 
 #if BUILDFLAG(IS_IOS)
-#include "content/shell/browser/shell_application_ios.h"
+#include "content/shell/app/ios/shell_application_ios.h"
 #endif
 
 namespace {
diff --git a/courgette/courgette_tool.cc b/courgette/courgette_tool.cc
index 17fd2ff..169d160b8 100644
--- a/courgette/courgette_tool.cc
+++ b/courgette/courgette_tool.cc
@@ -101,13 +101,11 @@
 
 void WriteSinkToFile(const courgette::SinkStream* sink,
                      const base::FilePath& output_file) {
-  int count = base::WriteFile(output_file,
-                              reinterpret_cast<const char*>(sink->Buffer()),
-                              static_cast<int>(sink->Length()));
-  if (count == -1)
+  bool success = base::WriteFile(
+      output_file, base::make_span(sink->Buffer(), sink->Length()));
+  if (!success) {
     Problem("Can't write output.");
-  if (static_cast<size_t>(count) != sink->Length())
-    Problem("Incomplete write.");
+  }
 }
 
 bool Supported(const base::FilePath& input_file) {
diff --git a/extensions/browser/api/declarative/rules_cache_delegate.cc b/extensions/browser/api/declarative/rules_cache_delegate.cc
index be71c1c5..26615a0 100644
--- a/extensions/browser/api/declarative/rules_cache_delegate.cc
+++ b/extensions/browser/api/declarative/rules_cache_delegate.cc
@@ -252,9 +252,8 @@
   DCHECK_EQ(Type::kPersistent, type_);
 
   ExtensionPrefs* extension_prefs = ExtensionPrefs::Get(browser_context_);
-  extension_prefs->UpdateExtensionPref(
-      extension_id, rules_stored_key_,
-      std::make_unique<base::Value>(rules_stored));
+  extension_prefs->UpdateExtensionPref(extension_id, rules_stored_key_,
+                                       base::Value(rules_stored));
 }
 
 }  // namespace extensions
diff --git a/extensions/browser/api/device_permissions_manager.cc b/extensions/browser/api/device_permissions_manager.cc
index 8e118e7..7ab2831 100644
--- a/extensions/browser/api/device_permissions_manager.cc
+++ b/extensions/browser/api/device_permissions_manager.cc
@@ -168,7 +168,7 @@
 // Clears all DevicePermissionEntries for the app from ExtensionPrefs.
 void ClearDevicePermissionEntries(ExtensionPrefs* prefs,
                                   const std::string& extension_id) {
-  prefs->UpdateExtensionPref(extension_id, kDevices, nullptr);
+  prefs->UpdateExtensionPref(extension_id, kDevices, absl::nullopt);
 }
 
 scoped_refptr<DevicePermissionEntry> ReadDevicePermissionEntry(
diff --git a/extensions/browser/api/file_system/file_system_api.cc b/extensions/browser/api/file_system/file_system_api.cc
index ce0ad1a0..21855c54 100644
--- a/extensions/browser/api/file_system/file_system_api.cc
+++ b/extensions/browser/api/file_system/file_system_api.cc
@@ -276,9 +276,8 @@
 void SetLastChooseEntryDirectory(ExtensionPrefs* prefs,
                                  const std::string& extension_id,
                                  const base::FilePath& path) {
-  prefs->UpdateExtensionPref(
-      extension_id, kLastChooseEntryDirectory,
-      base::Value::ToUniquePtrValue(::base::FilePathToValue(path)));
+  prefs->UpdateExtensionPref(extension_id, kLastChooseEntryDirectory,
+                             ::base::FilePathToValue(path));
 }
 
 }  // namespace file_system_api
diff --git a/extensions/browser/api/runtime/runtime_api.cc b/extensions/browser/api/runtime/runtime_api.cc
index eff2ce77..7c45ff6d 100644
--- a/extensions/browser/api/runtime/runtime_api.cc
+++ b/extensions/browser/api/runtime/runtime_api.cc
@@ -632,9 +632,8 @@
   }
 
   ExtensionPrefs::Get(browser_context())
-      ->UpdateExtensionPref(
-          extension_id(), kUninstallUrl,
-          std::make_unique<base::Value>(std::move(params->url)));
+      ->UpdateExtensionPref(extension_id(), kUninstallUrl,
+                            base::Value(std::move(params->url)));
   return RespondNow(NoArguments());
 }
 
diff --git a/extensions/browser/api/scripting/scripting_utils.cc b/extensions/browser/api/scripting/scripting_utils.cc
index b4265cf..360d3018 100644
--- a/extensions/browser/api/scripting/scripting_utils.cc
+++ b/extensions/browser/api/scripting/scripting_utils.cc
@@ -8,6 +8,7 @@
 #include "extensions/browser/api/scripting/scripting_constants.h"
 #include "extensions/browser/extension_prefs.h"
 #include "extensions/common/user_script.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 
 namespace extensions {
 namespace scripting {
@@ -36,7 +37,7 @@
                                       const ExtensionId& extension_id) {
   ExtensionPrefs::Get(browser_context)
       ->UpdateExtensionPref(extension_id, kPrefPersistentScriptURLPatterns,
-                            nullptr);
+                            absl::nullopt);
 }
 
 }  // namespace scripting
diff --git a/extensions/browser/blocklist_extension_prefs.cc b/extensions/browser/blocklist_extension_prefs.cc
index 6423587..dabfb07 100644
--- a/extensions/browser/blocklist_extension_prefs.cc
+++ b/extensions/browser/blocklist_extension_prefs.cc
@@ -6,6 +6,7 @@
 
 #include "extensions/browser/blocklist_state.h"
 #include "extensions/browser/extension_prefs.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 
 namespace extensions {
 
@@ -196,12 +197,12 @@
     ExtensionPrefs* extension_prefs) {
   if (bitmap_blocklist_state == BitMapBlocklistState::NOT_BLOCKLISTED) {
     extension_prefs->UpdateExtensionPref(extension_id, kPrefBlocklistState,
-                                         nullptr);
+                                         absl::nullopt);
     extension_prefs->DeleteExtensionPrefsIfPrefEmpty(extension_id);
   } else {
     extension_prefs->UpdateExtensionPref(
         extension_id, kPrefBlocklistState,
-        std::make_unique<base::Value>(
+        base::Value(
             BitMapBlocklistStateToBlocklistState(bitmap_blocklist_state)));
   }
 }
diff --git a/extensions/browser/browser_context_data.cc b/extensions/browser/browser_context_data.cc
index a62a3de..b7011b6 100644
--- a/extensions/browser/browser_context_data.cc
+++ b/extensions/browser/browser_context_data.cc
@@ -16,9 +16,9 @@
 }
 
 bool BrowserContextData::IsIsolatedApplication() const {
-  return frame_ && frame_->GetWebExposedIsolationLevel() >=
-                       content::RenderFrameHost::WebExposedIsolationLevel::
-                           kMaybeIsolatedApplication;
+  return frame_ &&
+         frame_->GetWebExposedIsolationLevel() >=
+             content::WebExposedIsolationLevel::kMaybeIsolatedApplication;
 }
 
 std::unique_ptr<ContextData> BrowserContextData::GetLocalParentOrOpener()
diff --git a/extensions/browser/event_router.cc b/extensions/browser/event_router.cc
index 8f6d7c54..97c9240 100644
--- a/extensions/browser/event_router.cc
+++ b/extensions/browser/event_router.cc
@@ -1262,9 +1262,8 @@
   const char* pref_key = type == RegisteredEventType::kLazy
                              ? kRegisteredLazyEvents
                              : kRegisteredServiceWorkerEvents;
-  extension_prefs_->UpdateExtensionPref(
-      extension_id, pref_key,
-      std::make_unique<base::Value>(std::move(events_list)));
+  extension_prefs_->UpdateExtensionPref(extension_id, pref_key,
+                                        base::Value(std::move(events_list)));
 }
 
 void EventRouter::AddFilterToEvent(const std::string& event_name,
diff --git a/extensions/browser/events/lazy_event_dispatch_util.cc b/extensions/browser/events/lazy_event_dispatch_util.cc
index 7d1fb90..4cf5f2ec 100644
--- a/extensions/browser/events/lazy_event_dispatch_util.cc
+++ b/extensions/browser/events/lazy_event_dispatch_util.cc
@@ -9,6 +9,7 @@
 #include "content/public/browser/browser_context.h"
 #include "extensions/browser/event_router.h"
 #include "extensions/browser/extension_prefs.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 
 namespace extensions {
 
@@ -95,8 +96,8 @@
   ExtensionPrefs* prefs = ExtensionPrefs::Get(browser_context_);
   DCHECK(prefs);
 
-  prefs->UpdateExtensionPref(extension_id,
-                             kPrefPendingOnInstalledEventDispatchInfo, nullptr);
+  prefs->UpdateExtensionPref(
+      extension_id, kPrefPendingOnInstalledEventDispatchInfo, absl::nullopt);
 }
 
 void LazyEventDispatchUtil::StorePendingOnInstallInfoToPref(
@@ -114,9 +115,9 @@
                               previous_version.IsValid()
                                   ? previous_version.GetString()
                                   : std::string());
-  prefs->UpdateExtensionPref(
-      extension->id(), kPrefPendingOnInstalledEventDispatchInfo,
-      std::make_unique<base::Value>(std::move(pending_on_install_info)));
+  prefs->UpdateExtensionPref(extension->id(),
+                             kPrefPendingOnInstalledEventDispatchInfo,
+                             base::Value(std::move(pending_on_install_info)));
 }
 
 }  // namespace extensions
diff --git a/extensions/browser/extension_prefs.cc b/extensions/browser/extension_prefs.cc
index 7e400467..6b5f2ac 100644
--- a/extensions/browser/extension_prefs.cc
+++ b/extensions/browser/extension_prefs.cc
@@ -568,16 +568,17 @@
 void ExtensionPrefs::UpdateExtensionPref(
     const std::string& extension_id,
     base::StringPiece key,
-    std::unique_ptr<base::Value> data_value) {
+    absl::optional<base::Value> data_value) {
   if (!crx_file::id_util::IdIsValid(extension_id)) {
     NOTREACHED() << "Invalid extension_id " << extension_id;
     return;
   }
   ScopedExtensionPrefUpdate update(prefs_, extension_id);
-  if (data_value)
-    update->Set(key, base::Value::FromUniquePtrValue(std::move(data_value)));
-  else
+  if (data_value) {
+    update->Set(key, *std::move(data_value));
+  } else {
     update->Remove(key);
+  }
 }
 
 void ExtensionPrefs::DeleteExtensionPrefs(const std::string& extension_id) {
@@ -778,10 +779,7 @@
     const std::string& extension_id,
     base::StringPiece pref_key,
     const URLPatternSet& set) {
-  // Clear the |pref_key| in case |set| is empty.
-  std::unique_ptr<base::Value> value =
-      std::make_unique<base::Value>(set.ToValue());
-  UpdateExtensionPref(extension_id, pref_key, std::move(value));
+  UpdateExtensionPref(extension_id, pref_key, base::Value(set.ToValue()));
 }
 
 bool ExtensionPrefs::ReadPrefAsBooleanAndReturn(
@@ -837,6 +835,8 @@
       std::move(explicit_hosts), std::move(scriptable_hosts));
 }
 
+namespace {
+
 // Set the API or Manifest permissions.
 // The format of api_values is:
 // [ "permission_name1",   // permissions do not support detail.
@@ -846,7 +846,7 @@
 //   ...
 // ]
 template <typename T>
-static std::unique_ptr<base::Value> CreatePermissionList(const T& permissions) {
+base::Value CreatePermissionList(const T& permissions) {
   base::Value::List values;
   for (const auto* permission : permissions) {
     std::unique_ptr<base::Value> detail(permission->ToValue());
@@ -859,9 +859,11 @@
       values.Append(permission->name());
     }
   }
-  return std::make_unique<base::Value>(std::move(values));
+  return base::Value(std::move(values));
 }
 
+}  // anonymous namespace
+
 void ExtensionPrefs::SetExtensionPrefPermissionSet(
     const std::string& extension_id,
     base::StringPiece pref_key,
@@ -926,7 +928,7 @@
   ReadPrefAsInteger(extension_id, kPrefAcknowledgePromptCount, &count);
   ++count;
   UpdateExtensionPref(extension_id, kPrefAcknowledgePromptCount,
-                      std::make_unique<base::Value>(count));
+                      base::Value(count));
   return count;
 }
 
@@ -939,8 +941,8 @@
     const std::string& extension_id) {
   DCHECK(crx_file::id_util::IdIsValid(extension_id));
   UpdateExtensionPref(extension_id, kPrefExternalAcknowledged,
-                      std::make_unique<base::Value>(true));
-  UpdateExtensionPref(extension_id, kPrefAcknowledgePromptCount, nullptr);
+                      base::Value(true));
+  UpdateExtensionPref(extension_id, kPrefAcknowledgePromptCount, absl::nullopt);
 }
 
 bool ExtensionPrefs::IsBlocklistedExtensionAcknowledged(
@@ -954,7 +956,7 @@
   DCHECK(crx_file::id_util::IdIsValid(extension_id));
   blocklist_prefs::AddAcknowledgedBlocklistState(
       extension_id, BitMapBlocklistState::BLOCKLISTED_MALWARE, this);
-  UpdateExtensionPref(extension_id, kPrefAcknowledgePromptCount, nullptr);
+  UpdateExtensionPref(extension_id, kPrefAcknowledgePromptCount, absl::nullopt);
 }
 
 bool ExtensionPrefs::IsExternalInstallFirstRun(
@@ -966,7 +968,7 @@
     const std::string& extension_id) {
   DCHECK(crx_file::id_util::IdIsValid(extension_id));
   UpdateExtensionPref(extension_id, kPrefExternalInstallFirstRun,
-                      std::make_unique<base::Value>(true));
+                      base::Value(true));
 }
 
 bool ExtensionPrefs::SetAlertSystemFirstRun() {
@@ -1094,10 +1096,9 @@
     return;
 
   if (new_value == default_bit) {
-    UpdateExtensionPref(extension_id, pref_key, nullptr);
+    UpdateExtensionPref(extension_id, pref_key, absl::nullopt);
   } else {
-    UpdateExtensionPref(extension_id, pref_key,
-                        std::make_unique<base::Value>(new_value));
+    UpdateExtensionPref(extension_id, pref_key, base::Value(new_value));
   }
 }
 
@@ -1144,8 +1145,7 @@
 
 void ExtensionPrefs::SetActiveBit(const std::string& extension_id,
                                   bool active) {
-  UpdateExtensionPref(extension_id, kActiveBit,
-                      std::make_unique<base::Value>(active));
+  UpdateExtensionPref(extension_id, kActiveBit, base::Value(active));
 }
 
 std::unique_ptr<PermissionSet> ExtensionPrefs::GetGrantedPermissions(
@@ -1196,7 +1196,7 @@
 void ExtensionPrefs::SetWithholdingPermissions(const ExtensionId& extension_id,
                                                bool should_withhold) {
   UpdateExtensionPref(extension_id, kPrefWithholdingPermissions,
-                      std::make_unique<base::Value>(should_withhold));
+                      base::Value(should_withhold));
 }
 
 bool ExtensionPrefs::GetWithholdingPermissions(
@@ -1243,8 +1243,7 @@
 
 void ExtensionPrefs::SetExtensionRunning(const std::string& extension_id,
                                          bool is_running) {
-  UpdateExtensionPref(extension_id, kPrefRunning,
-                      std::make_unique<base::Value>(is_running));
+  UpdateExtensionPref(extension_id, kPrefRunning, base::Value(is_running));
 }
 
 bool ExtensionPrefs::IsExtensionRunning(const std::string& extension_id) const {
@@ -1256,8 +1255,7 @@
 
 void ExtensionPrefs::SetIsActive(const std::string& extension_id,
                                  bool is_active) {
-  UpdateExtensionPref(extension_id, kIsActive,
-                      std::make_unique<base::Value>(is_active));
+  UpdateExtensionPref(extension_id, kIsActive, base::Value(is_active));
 }
 
 bool ExtensionPrefs::IsActive(const std::string& extension_id) const {
@@ -1274,7 +1272,7 @@
 void ExtensionPrefs::SetIsIncognitoEnabled(const std::string& extension_id,
                                            bool enabled) {
   UpdateExtensionPref(extension_id, kPrefIncognitoEnabled,
-                      std::make_unique<base::Value>(enabled));
+                      base::Value(enabled));
   extension_pref_value_map_->SetExtensionIncognitoState(extension_id, enabled);
 }
 
@@ -1284,8 +1282,7 @@
 
 void ExtensionPrefs::SetAllowFileAccess(const std::string& extension_id,
                                         bool allow) {
-  UpdateExtensionPref(extension_id, kPrefAllowFileAccess,
-                      std::make_unique<base::Value>(allow));
+  UpdateExtensionPref(extension_id, kPrefAllowFileAccess, base::Value(allow));
 }
 
 bool ExtensionPrefs::HasAllowFileAccessSetting(
@@ -1394,9 +1391,9 @@
 
 void ExtensionPrefs::SetExtensionEnabled(const std::string& extension_id) {
   UpdateExtensionPref(extension_id, kPrefState,
-                      std::make_unique<base::Value>(Extension::ENABLED));
+                      base::Value(Extension::ENABLED));
   extension_pref_value_map_->SetExtensionState(extension_id, true);
-  UpdateExtensionPref(extension_id, kPrefDisableReasons, nullptr);
+  UpdateExtensionPref(extension_id, kPrefDisableReasons, absl::nullopt);
   for (auto& observer : observer_list_)
     observer.OnExtensionStateChanged(extension_id, true);
 }
@@ -1404,10 +1401,10 @@
 void ExtensionPrefs::SetExtensionDisabled(const std::string& extension_id,
                                           int disable_reasons) {
   UpdateExtensionPref(extension_id, kPrefState,
-                      std::make_unique<base::Value>(Extension::DISABLED));
+                      base::Value(Extension::DISABLED));
   extension_pref_value_map_->SetExtensionState(extension_id, false);
   UpdateExtensionPref(extension_id, kPrefDisableReasons,
-                      std::make_unique<base::Value>(disable_reasons));
+                      base::Value(disable_reasons));
   for (auto& observer : observer_list_)
     observer.OnExtensionStateChanged(extension_id, false);
 }
@@ -1434,17 +1431,15 @@
         !old_manifest || *extension->manifest()->value() != *old_manifest;
     if (update_required) {
       UpdateExtensionPref(extension->id(), kPrefManifest,
-                          std::make_unique<base::Value>(
-                              extension->manifest()->value()->Clone()));
+                          base::Value(extension->manifest()->value()->Clone()));
     }
   }
 }
 
 void ExtensionPrefs::SetInstallLocation(const std::string& extension_id,
                                         ManifestLocation location) {
-  UpdateExtensionPref(
-      extension_id, kPrefLocation,
-      std::make_unique<base::Value>(static_cast<int>(location)));
+  UpdateExtensionPref(extension_id, kPrefLocation,
+                      base::Value(static_cast<int>(location)));
 }
 
 std::unique_ptr<ExtensionInfo> ExtensionPrefs::GetInstalledInfoHelper(
@@ -1948,9 +1943,8 @@
 
 void ExtensionPrefs::SetGeometryCache(const std::string& extension_id,
                                       base::Value::Dict cache) {
-  UpdateExtensionPref(
-      extension_id, kPrefGeometryCache,
-      base::Value::ToUniquePtrValue(base::Value(std::move(cache))));
+  UpdateExtensionPref(extension_id, kPrefGeometryCache,
+                      base::Value(std::move(cache)));
 }
 
 const base::Value::Dict& ExtensionPrefs::GetInstallSignature() const {
@@ -1984,7 +1978,7 @@
 void ExtensionPrefs::SetInstallParam(const std::string& extension_id,
                                      const std::string& install_parameter) {
   UpdateExtensionPref(extension_id, kPrefInstallParam,
-                      std::make_unique<base::Value>(install_parameter));
+                      base::Value(install_parameter));
 }
 
 bool ExtensionPrefs::NeedsSync(const std::string& extension_id) const {
@@ -1993,9 +1987,11 @@
 
 void ExtensionPrefs::SetNeedsSync(const std::string& extension_id,
                                   bool needs_sync) {
-  UpdateExtensionPref(
-      extension_id, kPrefNeedsSync,
-      needs_sync ? std::make_unique<base::Value>(true) : nullptr);
+  absl::optional<base::Value> value;
+  if (needs_sync) {
+    value = base::Value(true);
+  }
+  UpdateExtensionPref(extension_id, kPrefNeedsSync, std::move(value));
 }
 
 bool ExtensionPrefs::GetDNRStaticRulesetChecksum(
@@ -2015,8 +2011,7 @@
   std::string pref =
       JoinPrefs({kDNRStaticRulesetPref,
                  base::NumberToString(ruleset_id.value()), kDNRChecksumKey});
-  UpdateExtensionPref(extension_id, pref,
-                      std::make_unique<base::Value>(checksum));
+  UpdateExtensionPref(extension_id, pref, base::Value(checksum));
 }
 
 bool ExtensionPrefs::GetDNRDynamicRulesetChecksum(
@@ -2030,8 +2025,7 @@
     const ExtensionId& extension_id,
     int checksum) {
   std::string pref = JoinPrefs({kDNRDynamicRulesetPref, kDNRChecksumKey});
-  UpdateExtensionPref(extension_id, pref,
-                      std::make_unique<base::Value>(checksum));
+  UpdateExtensionPref(extension_id, pref, base::Value(checksum));
 }
 
 absl::optional<std::set<declarative_net_request::RulesetID>>
@@ -2061,7 +2055,7 @@
     ids_list.Append(id.value());
 
   UpdateExtensionPref(extension_id, kDNREnabledStaticRulesetIDs,
-                      std::make_unique<base::Value>(std::move(ids_list)));
+                      base::Value(std::move(ids_list)));
 }
 
 bool ExtensionPrefs::GetDNRUseActionCountAsBadgeText(
@@ -2073,9 +2067,8 @@
 void ExtensionPrefs::SetDNRUseActionCountAsBadgeText(
     const ExtensionId& extension_id,
     bool use_action_count_as_badge_text) {
-  UpdateExtensionPref(
-      extension_id, kPrefDNRUseActionCountAsBadgeText,
-      std::make_unique<base::Value>(use_action_count_as_badge_text));
+  UpdateExtensionPref(extension_id, kPrefDNRUseActionCountAsBadgeText,
+                      base::Value(use_action_count_as_badge_text));
 }
 
 bool ExtensionPrefs::ShouldIgnoreDNRRuleset(
@@ -2109,10 +2102,10 @@
       static_cast<size_t>(declarative_net_request::GetGlobalStaticRuleLimit()));
 
   // Clear the pref entry if the extension has a global allocation of 0.
-  std::unique_ptr<base::Value> pref_value =
-      rule_count > 0
-          ? std::make_unique<base::Value>(static_cast<int>(rule_count))
-          : nullptr;
+  absl::optional<base::Value> pref_value;
+  if (rule_count > 0) {
+    pref_value = base::Value(static_cast<int>(rule_count));
+  }
   UpdateExtensionPref(extension_id, kDNRExtensionRulesAllocated,
                       std::move(pref_value));
 }
@@ -2126,9 +2119,10 @@
                                                 bool keep_excess_allocation) {
   // Clear the pref entry if the extension will not keep its excess global rules
   // allocation.
-  std::unique_ptr<base::Value> pref_value =
-      keep_excess_allocation ? std::make_unique<base::Value>(true) : nullptr;
-
+  absl::optional<base::Value> pref_value;
+  if (keep_excess_allocation) {
+    pref_value = base::Value(true);
+  }
   UpdateExtensionPref(extension_id, kPrefDNRKeepExcessAllocation,
                       std::move(pref_value));
 }
@@ -2587,7 +2581,7 @@
     }
 
     UpdateExtensionPref(extension_id, kPrefWithholdingPermissions,
-                        std::make_unique<base::Value>(new_pref_value));
+                        base::Value(new_pref_value));
   }
 }
 
diff --git a/extensions/browser/extension_prefs.h b/extensions/browser/extension_prefs.h
index 484b3ad7..ed54bf8 100644
--- a/extensions/browser/extension_prefs.h
+++ b/extensions/browser/extension_prefs.h
@@ -309,7 +309,7 @@
 
   void UpdateExtensionPref(const std::string& id,
                            base::StringPiece key,
-                           std::unique_ptr<base::Value> value);
+                           absl::optional<base::Value> value);
 
   void DeleteExtensionPrefs(const std::string& id);
 
diff --git a/extensions/browser/service_worker_task_queue.cc b/extensions/browser/service_worker_task_queue.cc
index 5afd0990..c396ed0e 100644
--- a/extensions/browser/service_worker_task_queue.cc
+++ b/extensions/browser/service_worker_task_queue.cc
@@ -36,6 +36,7 @@
 #include "extensions/common/manifest_constants.h"
 #include "extensions/common/manifest_handlers/background_info.h"
 #include "extensions/common/manifest_handlers/incognito_info.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 #include "third_party/blink/public/common/storage_key/storage_key.h"
 #include "third_party/blink/public/mojom/service_worker/service_worker_registration_options.mojom.h"
 #include "url/origin.h"
@@ -605,7 +606,7 @@
     info.Set(kServiceWorkerVersion, version.GetString());
     ExtensionPrefs::Get(browser_context_)
         ->UpdateExtensionPref(extension_id, kPrefServiceWorkerRegistrationInfo,
-                              std::make_unique<base::Value>(std::move(info)));
+                              base::Value(std::move(info)));
   }
 }
 
@@ -616,7 +617,7 @@
   } else {
     ExtensionPrefs::Get(browser_context_)
         ->UpdateExtensionPref(extension_id, kPrefServiceWorkerRegistrationInfo,
-                              nullptr);
+                              absl::nullopt);
   }
 }
 
diff --git a/fuchsia_web/webengine/context_provider_impl_unittest.cc b/fuchsia_web/webengine/context_provider_impl_unittest.cc
index ae783280..0d03a3722 100644
--- a/fuchsia_web/webengine/context_provider_impl_unittest.cc
+++ b/fuchsia_web/webengine/context_provider_impl_unittest.cc
@@ -611,10 +611,9 @@
 
   // Setup data dir.
   ASSERT_TRUE(profile_temp_dir.CreateUniqueTempDir());
-  ASSERT_EQ(
+  ASSERT_TRUE(
       base::WriteFile(profile_temp_dir.GetPath().AppendASCII(kTestDataFileIn),
-                      nullptr, 0),
-      0);
+                      base::StringPiece()));
 
   fidl::InterfaceRequest<fuchsia::component::Binder> binder_request;
   fidl::InterfaceRequest<fuchsia::web::Context> context_request;
@@ -651,8 +650,8 @@
   ASSERT_PRED1(base::PathExists, data_dir.AppendASCII(kTestDataFileIn));
 
   // Make sure that the mapped dir can be written to.
-  ASSERT_EQ(base::WriteFile(data_dir.AppendASCII(kTestDataFileOut), nullptr, 0),
-            0);
+  ASSERT_TRUE(base::WriteFile(data_dir.AppendASCII(kTestDataFileOut),
+                              base::StringPiece()));
   ASSERT_PRED1(base::PathExists,
                profile_temp_dir.GetPath().AppendASCII(kTestDataFileOut));
 }
diff --git a/ios/chrome/app/strings/ios_strings.grd b/ios/chrome/app/strings/ios_strings.grd
index 9f8278a..d2d44013b1 100644
--- a/ios/chrome/app/strings/ios_strings.grd
+++ b/ios/chrome/app/strings/ios_strings.grd
@@ -4139,6 +4139,12 @@
            =1 {{count} saved profile available above your keyboard.}
            other {{count} saved profiles available above your keyboard.}}
       </message>
+      <message name="IDS_IOS_ACCOUNT_TABLE_ENTER_PASSPHRASE_BUTTON" desc="Label for the button to open the passphrase dialog from the accounts table. [iOS only]">
+        Enter Passphrase…
+      </message>
+      <message name="IDS_IOS_ACCOUNT_TABLE_ENTER_PASSPHRASE_MESSAGE" desc="The error message to show in the account table when there is a passphrase error. [iOS only]">
+        Sync is not working. To start sync enter your passphrase.
+      </message>
     </messages>
   </release>
 </grit>
diff --git a/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_ACCOUNT_TABLE_ENTER_PASSPHRASE_BUTTON.png.sha1 b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_ACCOUNT_TABLE_ENTER_PASSPHRASE_BUTTON.png.sha1
new file mode 100644
index 0000000..bb9e416
--- /dev/null
+++ b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_ACCOUNT_TABLE_ENTER_PASSPHRASE_BUTTON.png.sha1
@@ -0,0 +1 @@
+17d889f72c7231125e533098e0a16fd53bf02e23
\ No newline at end of file
diff --git a/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_ACCOUNT_TABLE_ENTER_PASSPHRASE_MESSAGE.png.sha1 b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_ACCOUNT_TABLE_ENTER_PASSPHRASE_MESSAGE.png.sha1
new file mode 100644
index 0000000..cdf58b8b
--- /dev/null
+++ b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_ACCOUNT_TABLE_ENTER_PASSPHRASE_MESSAGE.png.sha1
@@ -0,0 +1 @@
+ca21bc8e3c90a56ce1816ddd6ccca51ece4811ea
\ No newline at end of file
diff --git a/ios/chrome/browser/flags/about_flags.mm b/ios/chrome/browser/flags/about_flags.mm
index 826b14d..06b5cc8 100644
--- a/ios/chrome/browser/flags/about_flags.mm
+++ b/ios/chrome/browser/flags/about_flags.mm
@@ -1387,6 +1387,11 @@
      FEATURE_WITH_PARAMS_VALUE_TYPE(kAddToHomeScreen,
                                     kAddToHomeScreenVariations,
                                     "IOSEditMenuPartialTranslate")},
+    {"indicate-account-storage-error-in-account-cell",
+     flag_descriptions::kIndicateAccountStorageErrorInAccountCellName,
+     flag_descriptions::kIndicateAccountStorageErrorInAccountCellDescription,
+     flags_ui::kOsIos,
+     FEATURE_VALUE_TYPE(kIndicateAccountStorageErrorInAccountCell)},
 };
 
 bool SkipConditionalFeatureEntry(const flags_ui::FeatureEntry& entry) {
diff --git a/ios/chrome/browser/flags/ios_chrome_flag_descriptions.cc b/ios/chrome/browser/flags/ios_chrome_flag_descriptions.cc
index 1a3f995c..aaa7f89 100644
--- a/ios/chrome/browser/flags/ios_chrome_flag_descriptions.cc
+++ b/ios/chrome/browser/flags/ios_chrome_flag_descriptions.cc
@@ -446,6 +446,12 @@
 const char kIncognitoNtpRevampDescription[] =
     "When enabled, Incognito new tab page will have an updated UI.";
 
+const char kIndicateAccountStorageErrorInAccountCellName[] =
+    "Indicate Account Storage Error in Account Cell";
+const char kIndicateAccountStorageErrorInAccountCellDescription[] =
+    "When enabled, the Account Cell indicates the Account"
+    " Storage error when Sync is turned OFF";
+
 const char kInProductHelpDemoModeName[] = "In-Product Help Demo Mode";
 const char kInProductHelpDemoModeDescription[] =
     "When enabled, in-product help promotions occur exactly once per cold "
diff --git a/ios/chrome/browser/flags/ios_chrome_flag_descriptions.h b/ios/chrome/browser/flags/ios_chrome_flag_descriptions.h
index b73e6207..fd1894c 100644
--- a/ios/chrome/browser/flags/ios_chrome_flag_descriptions.h
+++ b/ios/chrome/browser/flags/ios_chrome_flag_descriptions.h
@@ -387,6 +387,11 @@
 extern const char kIncognitoNtpRevampName[];
 extern const char kIncognitoNtpRevampDescription[];
 
+// Title and description for the flag to indicate the Account Storage error in
+// the account cell when Sync is turned OFF.
+extern const char kIndicateAccountStorageErrorInAccountCellName[];
+extern const char kIndicateAccountStorageErrorInAccountCellDescription[];
+
 // Title and description for the flag to enable feature_engagement::Tracker
 // demo mode.
 extern const char kInProductHelpDemoModeName[];
diff --git a/ios/chrome/browser/ui/authentication/cells/BUILD.gn b/ios/chrome/browser/ui/authentication/cells/BUILD.gn
index 45bc4b0..865fee33 100644
--- a/ios/chrome/browser/ui/authentication/cells/BUILD.gn
+++ b/ios/chrome/browser/ui/authentication/cells/BUILD.gn
@@ -32,6 +32,7 @@
     "//ios/chrome/browser/ui/authentication/views",
     "//ios/chrome/browser/ui/collection_view/cells",
     "//ios/chrome/browser/ui/commands",
+    "//ios/chrome/browser/ui/icons:symbols",
     "//ios/chrome/browser/ui/ntp",
     "//ios/chrome/browser/ui/settings/cells:public",
     "//ios/chrome/browser/ui/table_view:styler",
diff --git a/ios/chrome/browser/ui/authentication/cells/table_view_account_item.mm b/ios/chrome/browser/ui/authentication/cells/table_view_account_item.mm
index c307ea7..5cfd11d 100644
--- a/ios/chrome/browser/ui/authentication/cells/table_view_account_item.mm
+++ b/ios/chrome/browser/ui/authentication/cells/table_view_account_item.mm
@@ -5,6 +5,7 @@
 #import "ios/chrome/browser/ui/authentication/cells/table_view_account_item.h"
 
 #import "base/mac/foundation_util.h"
+#import "ios/chrome/browser/ui/icons/symbols.h"
 #import "ios/chrome/browser/ui/settings/cells/settings_cells_constants.h"
 #import "ios/chrome/browser/ui/util/uikit_ui_util.h"
 #import "ios/chrome/common/ui/colors/semantic_color_names.h"
@@ -17,10 +18,10 @@
 namespace {
 
 // Padding used between the text and error icon.
-const CGFloat kHorizontalPaddingBetweenTextAndError = 5;
+constexpr CGFloat kHorizontalPaddingBetweenTextAndError = 5;
 
 // Size of the error icon image.
-const CGFloat KErrorIconImageSize = 18;
+constexpr CGFloat KErrorIconImageSize = 22.;
 
 }  // namespace
 
@@ -46,10 +47,9 @@
   cell.textLabel.text = self.text;
   cell.detailTextLabel.text = self.detailText;
   if (self.shouldDisplayError) {
-    cell.errorIcon.image = [[UIImage imageNamed:@"settings_error"]
-        imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
+    cell.errorIcon.image =
+        DefaultSymbolWithPointSize(kErrorCircleFillSymbol, KErrorIconImageSize);
     cell.errorIcon.tintColor = [UIColor colorNamed:kRedColor];
-    cell.detailTextLabel.textColor = [UIColor colorNamed:kRedColor];
   } else {
     cell.errorIcon.image = nil;
     cell.detailTextLabel.textColor = [UIColor colorNamed:kTextSecondaryColor];
diff --git a/ios/chrome/browser/ui/settings/BUILD.gn b/ios/chrome/browser/ui/settings/BUILD.gn
index e3e6f9f..722e5c9 100644
--- a/ios/chrome/browser/ui/settings/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/BUILD.gn
@@ -357,6 +357,7 @@
     "//ios/chrome/browser/sync",
     "//ios/chrome/browser/sync:test_support",
     "//ios/chrome/browser/translate",
+    "//ios/chrome/browser/ui:feature_flags",
     "//ios/chrome/browser/ui/authentication/cells",
     "//ios/chrome/browser/ui/commands",
     "//ios/chrome/browser/ui/icons",
diff --git a/ios/chrome/browser/ui/settings/google_services/BUILD.gn b/ios/chrome/browser/ui/settings/google_services/BUILD.gn
index a29de69..b0577844 100644
--- a/ios/chrome/browser/ui/settings/google_services/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/google_services/BUILD.gn
@@ -44,6 +44,7 @@
     "//components/signin/public/identity_manager/objc",
     "//components/strings",
     "//components/sync",
+    "//components/sync/driver",
     "//components/unified_consent",
     "//ios/chrome/app/strings",
     "//ios/chrome/browser/application_context",
@@ -188,9 +189,12 @@
     "//components/autofill/core/common",
     "//components/prefs",
     "//components/prefs:test_support",
+    "//components/signin/public/identity_manager",
+    "//components/sync",
     "//components/sync:test_support",
     "//components/sync/driver",
     "//components/variations:test_support",
+    "//google_apis",
     "//ios/chrome/app/strings",
     "//ios/chrome/browser/application_context",
     "//ios/chrome/browser/browser_state:test_support",
@@ -201,6 +205,7 @@
     "//ios/chrome/browser/signin:test_support",
     "//ios/chrome/browser/sync",
     "//ios/chrome/browser/sync:test_support",
+    "//ios/chrome/browser/ui:feature_flags",
     "//ios/chrome/browser/ui/commands",
     "//ios/chrome/browser/ui/settings/cells",
     "//ios/chrome/browser/ui/settings/google_services:constants",
@@ -209,7 +214,6 @@
     "//ios/chrome/browser/ui/table_view/cells",
     "//ios/chrome/test:test_support",
     "//ios/web/public/test",
-    "//ios/web/public/test",
     "//testing/gtest",
     "//third_party/ocmock:ocmock",
     "//ui/base",
diff --git a/ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.mm b/ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.mm
index 9f53220..0162c9f0 100644
--- a/ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.mm
@@ -25,6 +25,8 @@
 #import "ios/chrome/browser/signin/identity_manager_factory.h"
 #import "ios/chrome/browser/signin/system_identity.h"
 #import "ios/chrome/browser/signin/system_identity_manager.h"
+#import "ios/chrome/browser/sync/sync_observer_bridge.h"
+#import "ios/chrome/browser/sync/sync_service_factory.h"
 #import "ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.h"
 #import "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h"
 #import "ios/chrome/browser/ui/authentication/authentication_ui_util.h"
@@ -32,11 +34,18 @@
 #import "ios/chrome/browser/ui/authentication/enterprise/enterprise_utils.h"
 #import "ios/chrome/browser/ui/authentication/signout_action_sheet_coordinator.h"
 #import "ios/chrome/browser/ui/commands/application_commands.h"
+#import "ios/chrome/browser/ui/commands/browser_commands.h"
+#import "ios/chrome/browser/ui/commands/browsing_data_commands.h"
+#import "ios/chrome/browser/ui/commands/command_dispatcher.h"
 #import "ios/chrome/browser/ui/commands/open_new_tab_command.h"
 #import "ios/chrome/browser/ui/commands/show_signin_command.h"
 #import "ios/chrome/browser/ui/icons/chrome_icon.h"
 #import "ios/chrome/browser/ui/icons/symbols.h"
+#import "ios/chrome/browser/ui/settings/cells/settings_image_detail_text_item.h"
 #import "ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller_constants.h"
+#import "ios/chrome/browser/ui/settings/settings_root_view_controlling.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/account_error_ui_info.h"
 #import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_detail_text_item.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_link_header_footer_item.h"
@@ -68,7 +77,7 @@
 
 typedef NS_ENUM(NSInteger, SectionIdentifier) {
   SectionIdentifierAccounts = kSectionIdentifierEnumZero,
-  SectionIdentifierSync,
+  SectionIdentifierError,
   SectionIdentifierSignOut,
 };
 
@@ -84,14 +93,23 @@
   // Detailed description of the actions taken by sign out, e.g. turning off
   // sync.
   ItemTypeSignOutSyncingFooter,
+  // Indicates the errors related to the signed in account.
+  ItemTypeAccountErrorMessage,
+  // Button to resolve the account error.
+  ItemTypeAccountErrorButton,
+
 };
 
+// Size of the symbols.
+constexpr CGFloat kSymbolSize = 15.;
+
 }  // namespace
 
 @interface AccountsTableViewController () <
     ChromeAccountManagerServiceObserver,
     IdentityManagerObserverBridgeDelegate,
-    SignoutActionSheetCoordinatorDelegate> {
+    SignoutActionSheetCoordinatorDelegate,
+    SyncObserverModelBridge> {
   Browser* _browser;
   BOOL _closeSettingsOnAddAccount;
   std::unique_ptr<ChromeAccountManagerServiceObserverBridge>
@@ -107,6 +125,15 @@
 
   // Enable lookup of item corresponding to a given identity GAIA ID string.
   NSDictionary<NSString*, TableViewItem*>* _identityMap;
+
+  std::unique_ptr<SyncObserverBridge> _syncObserver;
+
+  // The type of account error that is being displayed in the error section.
+  // Is set to kNone when there is no error section.
+  syncer::SyncService::UserActionableError _diplayedAccountErrorType;
+
+  // The type of actionable the user needs to take to resolve the error.
+  AccountErrorUserActionableType _accountErrorUserActionableType;
 }
 
 // Modal alert to choose between remove an identity and show MyGoogle UI.
@@ -156,6 +183,12 @@
     _accountManagerServiceObserver =
         std::make_unique<ChromeAccountManagerServiceObserverBridge>(
             self, _accountManagerService);
+    syncer::SyncService* syncService =
+        SyncServiceFactory::GetForBrowserState(_browser->GetBrowserState());
+    DCHECK(syncService);
+    _syncObserver = std::make_unique<SyncObserverBridge>(self, syncService);
+    _diplayedAccountErrorType = syncer::SyncService::UserActionableError::kNone;
+    _accountErrorUserActionableType = AccountErrorUserActionableType::kNoAction;
   }
 
   return self;
@@ -191,6 +224,7 @@
   self.removeAccountCoordinator = nil;
   [self stopBrowserStateServiceObservers];
   _accountManagerServiceObserver.reset();
+  _syncObserver.reset();
   _browser = nullptr;
   _accountManagerService = nullptr;
 
@@ -280,6 +314,9 @@
         forSectionWithIdentifier:SectionIdentifierAccounts];
   }
 
+  // Account Storage errors section.
+  [self updateErrorSectionModelAndReloadViewIfNeeded:NO];
+
   // Sign out section.
   [model addSectionWithIdentifier:SectionIdentifierSignOut];
   [model addItem:[self signOutItem]
@@ -394,6 +431,103 @@
   return item;
 }
 
+// Initializes the passphrase error message item.
+- (TableViewItem*)accountErrorMessageItemWithMessageID:(int)messageID {
+  SettingsImageDetailTextItem* item = [[SettingsImageDetailTextItem alloc]
+      initWithType:ItemTypeAccountErrorMessage];
+  item.detailText = l10n_util::GetNSString(messageID);
+  item.image = DefaultSymbolWithPointSize(kErrorCircleFillSymbol, kSymbolSize);
+  item.imageViewTintColor = [UIColor colorNamed:kRedColor];
+  return item;
+}
+
+// Initializes the passphrase error button to open the passphrase dialog.
+- (TableViewItem*)accountErrorButtonItemWithLabelID:(int)labelID {
+  TableViewTextItem* item =
+      [[TableViewTextItem alloc] initWithType:ItemTypeAccountErrorButton];
+  item.text = l10n_util::GetNSString(labelID);
+  item.textColor = [UIColor colorNamed:kBlueColor];
+  item.accessibilityTraits = UIAccessibilityTraitButton;
+  return item;
+}
+
+// Updates the error section in the table view model to indicate the latest
+// account error if the states of the account error and the table view model
+// don't match. If `reloadViewIfNeeded` is NO, only the model will be
+// updated without reloading the view. Can refresh, add or remove the error
+// section when an update is needed.
+- (void)updateErrorSectionModelAndReloadViewIfNeeded:(BOOL)reloadViewIfNeeded {
+  AccountErrorUIInfo* errorInfo =
+      GetAccountErrorUIInfo(_browser->GetBrowserState());
+  BOOL hadErrorSection = [self.tableViewModel
+      hasSectionForSectionIdentifier:SectionIdentifierError];
+  syncer::SyncService::UserActionableError newErrorType =
+      errorInfo ? errorInfo.errorType
+                : syncer::SyncService::UserActionableError::kNone;
+
+  if (newErrorType == syncer::SyncService::UserActionableError::kNone &&
+      _diplayedAccountErrorType ==
+          syncer::SyncService::UserActionableError::kNone) {
+    DCHECK(!hadErrorSection);
+    // Don't update if there is no error to indicate or to remove.
+    return;
+  }
+
+  if (reloadViewIfNeeded && newErrorType == _diplayedAccountErrorType) {
+    DCHECK(hadErrorSection);
+    // Don't update if there is already a model and a view, and the state of
+    // the model already matches the error that has to be indicated.
+    return;
+  }
+
+  _diplayedAccountErrorType = newErrorType;
+  _accountErrorUserActionableType = errorInfo.userActionableType;
+
+  if (hadErrorSection) {
+    // Remove the section from the model to either clear the error section when
+    // there is no error or to update the type of error to indicate.
+    NSUInteger index = [self.tableViewModel
+        sectionForSectionIdentifier:SectionIdentifierError];
+    [self.tableViewModel removeSectionWithIdentifier:SectionIdentifierError];
+
+    if (errorInfo == nil) {
+      // Delete the error section in the view when there is an error section
+      // while there is no account error to indicate.
+      if (reloadViewIfNeeded) {
+        [self.tableView deleteSections:[NSIndexSet indexSetWithIndex:index]
+                      withRowAnimation:UITableViewRowAnimationAutomatic];
+      }
+      return;
+    }
+  }
+
+  // Update the error section in the model to indicate the latest account error.
+  NSInteger sectionIndex =
+      [self.tableViewModel
+          sectionForSectionIdentifier:SectionIdentifierAccounts] +
+      1;
+  [self.tableViewModel insertSectionWithIdentifier:SectionIdentifierError
+                                           atIndex:sectionIndex];
+  [self.tableViewModel addItem:[self accountErrorMessageItemWithMessageID:
+                                         errorInfo.messageID]
+       toSectionWithIdentifier:SectionIdentifierError];
+  [self.tableViewModel addItem:[self accountErrorButtonItemWithLabelID:
+                                         errorInfo.buttonLabelID]
+       toSectionWithIdentifier:SectionIdentifierError];
+
+  if (reloadViewIfNeeded) {
+    if (hadErrorSection) {
+      // Only refresh the section if there was already an error section, where
+      // there was a change in the type of error to indicate (excluding kNone).
+      [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:sectionIndex]
+                    withRowAnimation:UITableViewRowAnimationAutomatic];
+    } else {
+      [self.tableView insertSections:[NSIndexSet indexSetWithIndex:sectionIndex]
+                    withRowAnimation:UITableViewRowAnimationAutomatic];
+    }
+  }
+}
+
 #pragma mark - UITableViewDataSource
 
 - (UIView*)tableView:(UITableView*)tableView
@@ -410,8 +544,6 @@
       linkView.delegate = self;
       break;
     }
-    case SectionIdentifierSync:
-      break;
   }
   return view;
 }
@@ -452,6 +584,15 @@
       [self showSignOutWithItemView:itemView];
       break;
     }
+    case ItemTypeAccountErrorButton: {
+      [self handleAccountErrorUserActionable];
+      break;
+    }
+    case ItemTypeAccountErrorMessage:
+      // Do not handle row selection on the account error message item because
+      // its selection is disabled. The only purpose of the item is to show a
+      // message that gives details on the error.
+      break;
     case ItemTypeSignInHeader:
     case ItemTypeSignOutSyncingFooter:
     case ItemTypeRestrictedAccountsFooter:
@@ -462,6 +603,12 @@
   [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
 }
 
+#pragma mark - SyncObserverModelBridge
+
+- (void)onSyncStateChanged {
+  [self updateErrorSectionModelAndReloadViewIfNeeded:YES];
+}
+
 #pragma mark - IdentityManagerObserverBridgeDelegate
 
 - (void)onEndBatchOfRefreshTokenStateChanges {
@@ -772,4 +919,34 @@
   [self.applicationCommandsHandler closeSettingsUIAndOpenURL:command];
 }
 
+#pragma mark - Internal
+
+- (void)handleAccountErrorUserActionable {
+  switch (_accountErrorUserActionableType) {
+    case AccountErrorUserActionableType::kEnterPassphrase: {
+      [self openPassphraseDialog];
+      break;
+    }
+    case AccountErrorUserActionableType::kNoAction:
+      break;
+  }
+}
+
+// Opens the passphrase dialog.
+- (void)openPassphraseDialog {
+  UIViewController<SettingsRootViewControlling>* controllerToPush =
+      [[SyncEncryptionPassphraseTableViewController alloc]
+          initWithBrowser:_browser];
+
+  // Verify that the accounts table is displayed from a navigation controller.
+  DCHECK(self.navigationController);
+
+  // TODO(crbug.com/1045047): Use HandlerForProtocol after commands protocol
+  // clean up.
+  controllerToPush.dispatcher = static_cast<
+      id<ApplicationCommands, BrowserCommands, BrowsingDataCommands>>(
+      _browser->GetCommandDispatcher());
+  [self.navigationController pushViewController:controllerToPush animated:YES];
+}
+
 @end
diff --git a/ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller_unittest.mm b/ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller_unittest.mm
index 616651b..b441538 100644
--- a/ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller_unittest.mm
+++ b/ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller_unittest.mm
@@ -7,7 +7,13 @@
 #import "base/functional/callback_helpers.h"
 #import "base/mac/foundation_util.h"
 #import "base/run_loop.h"
+#import "base/strings/sys_string_conversions.h"
+#import "base/test/scoped_feature_list.h"
+#import "components/signin/public/identity_manager/account_info.h"
+#import "components/sync/driver/sync_service.h"
+#import "components/sync/test/test_sync_service.h"
 #import "components/variations/scoped_variations_ids_provider.h"
+#import "google_apis/gaia/core_account_id.h"
 #import "ios/chrome/browser/application_context/application_context.h"
 #import "ios/chrome/browser/browser_state/test_chrome_browser_state.h"
 #import "ios/chrome/browser/main/test_browser.h"
@@ -17,11 +23,17 @@
 #import "ios/chrome/browser/signin/fake_system_identity.h"
 #import "ios/chrome/browser/signin/fake_system_identity_manager.h"
 #import "ios/chrome/browser/signin/identity_manager_factory.h"
+#import "ios/chrome/browser/sync/sync_service_factory.h"
+#import "ios/chrome/browser/sync/sync_setup_service_factory.h"
+#import "ios/chrome/browser/sync/sync_setup_service_mock.h"
 #import "ios/chrome/browser/ui/commands/application_commands.h"
 #import "ios/chrome/browser/ui/commands/command_dispatcher.h"
 #import "ios/chrome/browser/ui/table_view/chrome_table_view_controller_test.h"
+#import "ios/chrome/browser/ui/ui_feature_flags.h"
 #import "ios/chrome/test/ios_chrome_scoped_testing_local_state.h"
+#import "ios/web/public/browser_state.h"
 #import "ios/web/public/test/web_task_environment.h"
+#import "testing/gmock/include/gmock/gmock.h"
 #import "testing/gtest/include/gtest/gtest.h"
 #import "third_party/ocmock/OCMock/OCMock.h"
 #import "third_party/ocmock/gtest_support.h"
@@ -30,6 +42,35 @@
 #error "This file requires ARC support."
 #endif
 
+namespace {
+
+std::unique_ptr<KeyedService> CreateTestSyncService(
+    web::BrowserState* context) {
+  return std::make_unique<syncer::TestSyncService>();
+}
+
+void SetSyncStateFeatureActive(const CoreAccountInfo& account,
+                               syncer::TestSyncService* sync_service) {
+  sync_service->SetAccountInfo(account);
+  sync_service->SetHasSyncConsent(true);
+  sync_service->SetTransportState(syncer::SyncService::TransportState::ACTIVE);
+  sync_service->SetDisableReasons({});
+  sync_service->SetFirstSetupComplete(true);
+  ASSERT_TRUE(sync_service->IsSyncFeatureEnabled());
+}
+
+void SetSyncStateTransportActive(const CoreAccountInfo& account,
+                                 syncer::TestSyncService* sync_service) {
+  sync_service->SetAccountInfo(account);
+  sync_service->SetHasSyncConsent(false);
+  sync_service->SetTransportState(syncer::SyncService::TransportState::ACTIVE);
+  sync_service->SetDisableReasons(
+      {syncer::SyncService::DisableReason::DISABLE_REASON_USER_CHOICE});
+  ASSERT_FALSE(sync_service->IsSyncFeatureEnabled());
+}
+
+}  // namespace
+
 class AccountsTableViewControllerTest : public ChromeTableViewControllerTest {
  public:
   AccountsTableViewControllerTest()
@@ -38,6 +79,11 @@
     builder.AddTestingFactory(
         AuthenticationServiceFactory::GetInstance(),
         AuthenticationServiceFactory::GetDefaultFactory());
+    builder.AddTestingFactory(
+        SyncSetupServiceFactory::GetInstance(),
+        base::BindRepeating(&SyncSetupServiceMock::CreateKeyedService));
+    builder.AddTestingFactory(SyncServiceFactory::GetInstance(),
+                              base::BindRepeating(&CreateTestSyncService));
     browser_state_ = builder.Build();
     browser_ = std::make_unique<TestBrowser>(browser_state_.get());
 
@@ -90,6 +136,16 @@
         GetApplicationContext()->GetSystemIdentityManager());
   }
 
+  SyncSetupServiceMock* sync_setup_service_mock() {
+    return static_cast<SyncSetupServiceMock*>(
+        SyncSetupServiceFactory::GetForBrowserState(browser_state_.get()));
+  }
+
+  syncer::TestSyncService* test_sync_service() {
+    return static_cast<syncer::TestSyncService*>(
+        SyncServiceFactory::GetForBrowserState(browser_state_.get()));
+  }
+
  private:
   web::WebTaskEnvironment task_environment_;
   IOSChromeScopedTestingLocalState local_state_;
@@ -157,3 +213,155 @@
   EXPECT_EQ(2, NumberOfSections());
   EXPECT_EQ(2, NumberOfItemsInSection(0));
 }
+
+// Tests that when eligible the account model holds the passphrase error and
+// clears the error when the error is resolved.
+TEST_F(AccountsTableViewControllerTest, HoldPassphraseErrorWhenEligible) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(
+      kIndicateAccountStorageErrorInAccountCell);
+
+  const std::string email = "foo@gmail.com";
+  const std::string gaia_id = "fooID";
+
+  FakeSystemIdentity* identity =
+      [FakeSystemIdentity identityWithEmail:base::SysUTF8ToNSString(email)
+                                     gaiaID:base::SysUTF8ToNSString(gaia_id)
+                                       name:@"Fake Foo"];
+  fake_system_identity_manager()->AddIdentity(identity);
+
+  // Simulate a credential reload.
+  authentication_service()->SignIn(identity);
+  fake_system_identity_manager()->FireSystemIdentityReloaded();
+  base::RunLoop().RunUntilIdle();
+
+  CoreAccountInfo account;
+  account.email = email;
+  account.gaia = gaia_id;
+  account.account_id = CoreAccountId::FromGaiaId(account.gaia);
+  SetSyncStateTransportActive(account, test_sync_service());
+  test_sync_service()->SetPassphraseRequiredForPreferredDataTypes(true);
+
+  CreateController();
+  CheckController();
+
+  EXPECT_EQ(3, NumberOfSections());
+  EXPECT_EQ(2, NumberOfItemsInSection(1));
+}
+
+// Tests that the Account Storage error is removed from the account model when
+// the error is resolved. Triggers the model update by firing a Sync State
+// change.
+TEST_F(AccountsTableViewControllerTest, ClearPassphraseErrorWhenResolved) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(
+      kIndicateAccountStorageErrorInAccountCell);
+
+  const std::string email = "foo@gmail.com";
+  const std::string gaia_id = "fooID";
+
+  FakeSystemIdentity* identity =
+      [FakeSystemIdentity identityWithEmail:base::SysUTF8ToNSString(email)
+                                     gaiaID:base::SysUTF8ToNSString(gaia_id)
+                                       name:@"Fake Foo"];
+  fake_system_identity_manager()->AddIdentity(identity);
+
+  // Simulate a credential reload.
+  authentication_service()->SignIn(identity);
+  fake_system_identity_manager()->FireSystemIdentityReloaded();
+  base::RunLoop().RunUntilIdle();
+
+  CoreAccountInfo account;
+  account.email = email;
+  account.gaia = gaia_id;
+  account.account_id = CoreAccountId::FromGaiaId(account.gaia);
+  SetSyncStateTransportActive(account, test_sync_service());
+  test_sync_service()->SetPassphraseRequiredForPreferredDataTypes(true);
+
+  CreateController();
+  CheckController();
+
+  ASSERT_EQ(3, NumberOfSections());
+  ASSERT_EQ(2, NumberOfItemsInSection(1));
+
+  // Dismiss the error section when the account error is resolved.
+  test_sync_service()->SetPassphraseRequiredForPreferredDataTypes(false);
+
+  test_sync_service()->FireStateChanged();
+  EXPECT_EQ(2, NumberOfSections());
+
+  // Don't update the table model when the states of the account error and the
+  // error section are aligned.
+  test_sync_service()->FireStateChanged();
+  EXPECT_EQ(2, NumberOfSections());
+}
+
+// Tests that when ineligible the account model doesn't hold the Account Storage
+// error.
+TEST_F(AccountsTableViewControllerTest, DontHoldPassphraseErrorWhenIneligible) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(
+      kIndicateAccountStorageErrorInAccountCell);
+
+  const std::string email = "foo@gmail.com";
+  const std::string gaia_id = "fooID";
+
+  FakeSystemIdentity* identity =
+      [FakeSystemIdentity identityWithEmail:base::SysUTF8ToNSString(email)
+                                     gaiaID:base::SysUTF8ToNSString(gaia_id)
+                                       name:@"Fake Foo"];
+  fake_system_identity_manager()->AddIdentity(identity);
+
+  // Simulate a credential reload.
+  authentication_service()->SignIn(identity);
+  fake_system_identity_manager()->FireSystemIdentityReloaded();
+  base::RunLoop().RunUntilIdle();
+
+  CoreAccountInfo account;
+  account.email = email;
+  account.gaia = gaia_id;
+  account.account_id = CoreAccountId::FromGaiaId(account.gaia);
+  SetSyncStateFeatureActive(account, test_sync_service());
+  test_sync_service()->SetPassphraseRequiredForPreferredDataTypes(true);
+
+  CreateController();
+  CheckController();
+
+  EXPECT_EQ(2, NumberOfSections());
+}
+
+// Tests that when eligible the account model doesn't have the Account Storage
+// error when there is no error.
+TEST_F(AccountsTableViewControllerTest,
+       DontHoldPassphraseErrorWhenEligibleNoError) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(
+      kIndicateAccountStorageErrorInAccountCell);
+
+  const std::string email = "foo@gmail.com";
+  const std::string gaia_id = "fooID";
+
+  FakeSystemIdentity* identity =
+      [FakeSystemIdentity identityWithEmail:base::SysUTF8ToNSString(email)
+                                     gaiaID:base::SysUTF8ToNSString(gaia_id)
+                                       name:@"Fake Foo"];
+  fake_system_identity_manager()->AddIdentity(identity);
+
+  // Simulate a credential reload.
+  authentication_service()->SignIn(identity);
+  fake_system_identity_manager()->FireSystemIdentityReloaded();
+  base::RunLoop().RunUntilIdle();
+
+  CoreAccountInfo account;
+  account.email = email;
+  account.gaia = gaia_id;
+  account.account_id = CoreAccountId::FromGaiaId(account.gaia);
+  SetSyncStateFeatureActive(account, test_sync_service());
+  test_sync_service()->SetPassphraseRequiredForPreferredDataTypes(false);
+
+  CreateController();
+  CheckController();
+
+  // Verify that there are only 2 sections, exluding the error section.
+  EXPECT_EQ(2, NumberOfSections());
+}
diff --git a/ios/chrome/browser/ui/settings/password/password_details/BUILD.gn b/ios/chrome/browser/ui/settings/password/password_details/BUILD.gn
index e958c4e..d2fe7e2 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/password/password_details/BUILD.gn
@@ -26,6 +26,7 @@
     "//components/strings",
     "//components/url_formatter",
     "//ios/chrome/app/strings",
+    "//ios/chrome/browser/browser_state",
     "//ios/chrome/browser/credential_provider_promo:features",
     "//ios/chrome/browser/main:public",
     "//ios/chrome/browser/passwords",
diff --git a/ios/chrome/browser/ui/settings/password/password_details/add_password_coordinator.mm b/ios/chrome/browser/ui/settings/password/password_details/add_password_coordinator.mm
index 87e91ca..48648df 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/add_password_coordinator.mm
+++ b/ios/chrome/browser/ui/settings/password/password_details/add_password_coordinator.mm
@@ -8,11 +8,9 @@
 #import "base/metrics/histogram_functions.h"
 #import "base/strings/sys_string_conversions.h"
 #import "components/strings/grit/components_strings.h"
+#import "ios/chrome/browser/browser_state/chrome_browser_state.h"
 #import "ios/chrome/browser/main/browser.h"
-#import "ios/chrome/browser/signin/authentication_service.h"
-#import "ios/chrome/browser/signin/authentication_service_factory.h"
-#import "ios/chrome/browser/sync/sync_setup_service.h"
-#import "ios/chrome/browser/sync/sync_setup_service_factory.h"
+#import "ios/chrome/browser/sync/sync_service_factory.h"
 #import "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h"
 #import "ios/chrome/browser/ui/commands/application_commands.h"
 #import "ios/chrome/browser/ui/commands/command_dispatcher.h"
@@ -79,27 +77,15 @@
 }
 
 - (void)start {
-  AuthenticationService* authenticationService =
-      AuthenticationServiceFactory::GetForBrowserState(
-          self.browser->GetBrowserState());
-  DCHECK(authenticationService);
-  NSString* syncingUserEmail = nil;
-  id<SystemIdentity> identity =
-      authenticationService->GetPrimaryIdentity(signin::ConsentLevel::kSync);
-  if (identity) {
-    SyncSetupService* syncSetupService =
-        SyncSetupServiceFactory::GetForBrowserState(
-            self.browser->GetBrowserState());
-    if (syncSetupService->IsDataTypeActive(syncer::PASSWORDS)) {
-      syncingUserEmail = identity.userEmail;
-    }
-  }
+  ChromeBrowserState* browserState = self.browser->GetBrowserState();
+  self.viewController = [[AddPasswordViewController alloc] init];
 
-  self.viewController = [[AddPasswordViewController alloc]
-      initWithSyncingUserEmail:syncingUserEmail];
-
-  self.mediator = [[AddPasswordMediator alloc] initWithDelegate:self
-                                           passwordCheckManager:_manager];
+  self.mediator = [[AddPasswordMediator alloc]
+          initWithDelegate:self
+      passwordCheckManager:_manager
+               prefService:browserState->GetPrefs()
+               syncService:SyncServiceFactory::GetForBrowserState(
+                               browserState)];
   self.mediator.consumer = self.viewController;
   self.viewController.delegate = self.mediator;
   self.viewController.addPasswordHandler = self;
diff --git a/ios/chrome/browser/ui/settings/password/password_details/add_password_details_consumer.h b/ios/chrome/browser/ui/settings/password/password_details/add_password_details_consumer.h
index 60e46c9..4668f6b8 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/add_password_details_consumer.h
+++ b/ios/chrome/browser/ui/settings/password/password_details/add_password_details_consumer.h
@@ -10,6 +10,10 @@
 // Sets the Add Password details for consumer.
 @protocol AddPasswordDetailsConsumer <NSObject>
 
+// Sets the account where passwords are being saved to, or nil if passwords are
+// only being saved locally.
+- (void)setAccountSavingPasswords:(NSString*)email;
+
 // Called when the validation to find duplicate existing credentials has been
 // completed.
 - (void)onDuplicateCheckCompletion:(BOOL)duplicateFound;
diff --git a/ios/chrome/browser/ui/settings/password/password_details/add_password_mediator.h b/ios/chrome/browser/ui/settings/password/password_details/add_password_mediator.h
index 148db5e..a3f1100 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/add_password_mediator.h
+++ b/ios/chrome/browser/ui/settings/password/password_details/add_password_mediator.h
@@ -12,12 +12,19 @@
 @protocol AddPasswordDetailsConsumer;
 @protocol AddPasswordMediatorDelegate;
 class IOSChromePasswordCheckManager;
+class PrefService;
+
+namespace syncer {
+class SyncService;
+}  // namespace syncer
 
 // This mediator stores logic for adding new password credentials.
 @interface AddPasswordMediator : NSObject <AddPasswordViewControllerDelegate>
 
 - (instancetype)initWithDelegate:(id<AddPasswordMediatorDelegate>)delegate
             passwordCheckManager:(IOSChromePasswordCheckManager*)manager
+                     prefService:(PrefService*)prefService
+                     syncService:(syncer::SyncService*)syncService
     NS_DESIGNATED_INITIALIZER;
 
 - (instancetype)init NS_UNAVAILABLE;
diff --git a/ios/chrome/browser/ui/settings/password/password_details/add_password_mediator.mm b/ios/chrome/browser/ui/settings/password/password_details/add_password_mediator.mm
index 39b38a0..fcee366c 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/add_password_mediator.mm
+++ b/ios/chrome/browser/ui/settings/password/password_details/add_password_mediator.mm
@@ -4,7 +4,10 @@
 
 #import "ios/chrome/browser/ui/settings/password/password_details/add_password_mediator.h"
 
+#import "base/check.h"
+#import "base/containers/flat_set.h"
 #import "base/functional/bind.h"
+#import "base/memory/raw_ptr.h"
 #import "base/ranges/algorithm.h"
 #import "base/strings/sys_string_conversions.h"
 #import "base/task/cancelable_task_tracker.h"
@@ -12,8 +15,11 @@
 #import "base/task/thread_pool.h"
 #import "components/password_manager/core/browser/form_parsing/form_parser.h"
 #import "components/password_manager/core/browser/password_form.h"
+#import "components/password_manager/core/browser/password_manager_features_util.h"
 #import "components/password_manager/core/browser/password_manager_util.h"
+#import "components/password_manager/core/browser/password_sync_util.h"
 #import "components/password_manager/core/browser/ui/credential_ui_entry.h"
+#import "components/signin/public/identity_manager/account_info.h"
 #import "components/sync/base/features.h"
 #import "ios/chrome/browser/passwords/password_check_observer_bridge.h"
 #import "ios/chrome/browser/ui/settings/password/password_details/add_password_details_consumer.h"
@@ -52,17 +58,15 @@
 
 @interface AddPasswordMediator () <AddPasswordViewControllerDelegate> {
   // Password Check manager.
-  IOSChromePasswordCheckManager* _manager;
+  raw_ptr<IOSChromePasswordCheckManager> _manager;
+  // Pref service.
+  raw_ptr<PrefService> _prefService;
+  // Sync service.
+  raw_ptr<syncer::SyncService> _syncService;
   // Used to create and run validation tasks.
   std::unique_ptr<base::CancelableTaskTracker> _validationTaskTracker;
 }
 
-// Caches the password form data submitted by the user. This value is set only
-// when the user tries to save a credential which has username and site similar
-// to an existing credential.
-@property(nonatomic, readonly) absl::optional<password_manager::PasswordForm>
-    cachedPasswordForm;
-
 // Delegate for this mediator.
 @property(nonatomic, weak) id<AddPasswordMediatorDelegate> delegate;
 
@@ -78,11 +82,15 @@
 @implementation AddPasswordMediator
 
 - (instancetype)initWithDelegate:(id<AddPasswordMediatorDelegate>)delegate
-            passwordCheckManager:(IOSChromePasswordCheckManager*)manager {
+            passwordCheckManager:(IOSChromePasswordCheckManager*)manager
+                     prefService:(PrefService*)prefService
+                     syncService:(syncer::SyncService*)syncService {
   self = [super init];
   if (self) {
     _delegate = delegate;
     _manager = manager;
+    _prefService = prefService;
+    _syncService = syncService;
     _sequencedTaskRunner = base::ThreadPool::CreateSequencedTaskRunner(
         {base::MayBlock(), base::TaskPriority::BEST_EFFORT});
     _validationTaskTracker = std::make_unique<base::CancelableTaskTracker>();
@@ -94,6 +102,18 @@
   if (_consumer == consumer)
     return;
   _consumer = consumer;
+  // TODO(crbug.com/1392699): This logic keeps showing up, there should be a
+  // helper IsSavingPasswordsToAccount(), or GetAccountSavingPasswords().
+  if (password_manager::sync_util::IsPasswordSyncEnabled(_syncService) ||
+      password_manager::features_util::IsOptedInForAccountStorage(
+          _prefService, _syncService)) {
+    CoreAccountInfo account = _syncService->GetAccountInfo();
+    DCHECK(!account.IsEmpty());
+    [_consumer
+        setAccountSavingPasswords:base::SysUTF8ToNSString(account.email)];
+  } else {
+    [_consumer setAccountSavingPasswords:nil];
+  }
 }
 
 - (void)dealloc {
@@ -101,12 +121,7 @@
   _validationTaskTracker.reset();
 }
 
-#pragma mark - AddPasswordTableViewControllerDelegate
-
-- (void)addPasswordViewController:(AddPasswordViewController*)viewController
-           didEditPasswordDetails:(PasswordDetails*)password {
-  NOTREACHED();
-}
+#pragma mark - AddPasswordViewControllerDelegate
 
 - (void)addPasswordViewController:(AddPasswordViewController*)viewController
             didAddPasswordDetails:(NSString*)username
@@ -127,7 +142,9 @@
   if (base::FeatureList::IsEnabled(syncer::kPasswordNotesWithBackup)) {
     credential.note = SysNSStringToUTF16(note);
   }
-  credential.stored_in = {password_manager::PasswordForm::Store::kProfileStore};
+  credential.stored_in = {
+      password_manager::features_util::GetDefaultPasswordStore(_prefService,
+                                                               _syncService)};
 
   password_manager::CredentialFacet facet;
   facet.url = self.URL;
diff --git a/ios/chrome/browser/ui/settings/password/password_details/add_password_view_controller.h b/ios/chrome/browser/ui/settings/password/password_details/add_password_view_controller.h
index e3b0479..85355d3 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/add_password_view_controller.h
+++ b/ios/chrome/browser/ui/settings/password/password_details/add_password_view_controller.h
@@ -21,10 +21,7 @@
     : AutofillEditTableViewController <AddPasswordDetailsConsumer>
 
 // The designated initializer.
-// `syncingUserEmail` stores the user email if the user is authenticated amd
-// syncing passwords.
-- (instancetype)initWithSyncingUserEmail:(NSString*)syncingUserEmail
-    NS_DESIGNATED_INITIALIZER;
+- (instancetype)init NS_DESIGNATED_INITIALIZER;
 
 - (instancetype)initWithStyle:(UITableViewStyle)style NS_UNAVAILABLE;
 
diff --git a/ios/chrome/browser/ui/settings/password/password_details/add_password_view_controller.mm b/ios/chrome/browser/ui/settings/password/password_details/add_password_view_controller.mm
index 9889b9d..32b1dd9 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/add_password_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/password/password_details/add_password_view_controller.mm
@@ -121,8 +121,9 @@
 // If YES, the password details are shown without requiring any authentication.
 @property(nonatomic, assign) BOOL showPasswordWithoutAuth;
 
-// Stores the user email if the user is authenticated amd syncing passwords.
-@property(nonatomic, readonly) NSString* syncingUserEmail;
+// The account where passwords are being saved to, or nil if passwords are only
+// being saved locally.
+@property(nonatomic, strong) NSString* accountSavingPasswords;
 
 // Stores the user current typed password. (Used for testing).
 @property(nonatomic, strong) NSString* passwordForTesting;
@@ -133,7 +134,7 @@
 
 #pragma mark - ViewController Life Cycle.
 
-- (instancetype)initWithSyncingUserEmail:(NSString*)syncingUserEmail {
+- (instancetype)init {
   self = [super initWithStyle:ChromeTableViewStyle()];
   if (self) {
     _isDuplicatedCredential = NO;
@@ -142,7 +143,6 @@
     _isTLDMissingMessageShown = NO;
     _isNoteFooterShown = NO;
     _isNoteValid = YES;
-    _syncingUserEmail = syncingUserEmail;
   }
   return self;
 }
@@ -378,10 +378,10 @@
 }
 
 - (NSString*)footerText {
-  if (self.syncingUserEmail) {
+  if (self.accountSavingPasswords) {
     return l10n_util::GetNSStringF(
         IDS_IOS_SETTINGS_ADD_PASSWORD_FOOTER_BRANDED,
-        base::SysNSStringToUTF16(self.syncingUserEmail));
+        base::SysNSStringToUTF16(self.accountSavingPasswords));
   }
 
   return l10n_util::GetNSString(IDS_IOS_SAVE_PASSWORD_FOOTER_NOT_SYNCING);
@@ -512,6 +512,10 @@
 
 #pragma mark - AddPasswordDetailsConsumer
 
+- (void)setAccountSavingPasswords:(NSString*)accountSavingPasswords {
+  _accountSavingPasswords = accountSavingPasswords;
+}
+
 - (void)onDuplicateCheckCompletion:(BOOL)duplicateFound {
   if (duplicateFound == self.isDuplicatedCredential) {
     return;
diff --git a/ios/chrome/browser/ui/settings/password/password_details/add_password_view_controller_unittest.mm b/ios/chrome/browser/ui/settings/password/password_details/add_password_view_controller_unittest.mm
index e7db8ca..c942b82 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/add_password_view_controller_unittest.mm
+++ b/ios/chrome/browser/ui/settings/password/password_details/add_password_view_controller_unittest.mm
@@ -98,8 +98,8 @@
   }
 
   ChromeTableViewController* InstantiateController() override {
-    AddPasswordViewController* controller = [[AddPasswordViewController alloc]
-        initWithSyncingUserEmail:syncing_user_email_];
+    AddPasswordViewController* controller =
+        [[AddPasswordViewController alloc] init];
     controller.delegate = delegate_;
     return controller;
   }
@@ -135,13 +135,8 @@
 
   FakeAddPasswordDelegate* delegate() { return delegate_; }
 
-  void SetUserSyncingEmail(NSString* syncing_user_email) {
-    syncing_user_email_ = syncing_user_email;
-  }
-
  private:
   FakeAddPasswordDelegate* delegate_ = nil;
-  NSString* syncing_user_email_ = nil;
 };
 
 // Tests that password is shown/hidden.
@@ -257,12 +252,11 @@
 }
 
 // Tests the footer text of the view controller when adding a new credential and
-// the user syncing email address is provided.
-TEST_F(AddPasswordViewControllerTest, TestFooterTextWithSyncingEmail) {
-  SetUserSyncingEmail(@"example@gmail.com");
-
+// the user email address is provided.
+TEST_F(AddPasswordViewControllerTest, TestFooterTextWithEmail) {
   AddPasswordViewController* passwords_controller =
       static_cast<AddPasswordViewController*>(controller());
+  [passwords_controller setAccountSavingPasswords:@"example@gmail.com"];
   [passwords_controller loadModel];
 
   CheckSectionFooter(
diff --git a/ios/chrome/browser/ui/settings/settings_table_view_controller.mm b/ios/chrome/browser/ui/settings/settings_table_view_controller.mm
index 0a9fe041..f0f366c 100644
--- a/ios/chrome/browser/ui/settings/settings_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/settings_table_view_controller.mm
@@ -1896,6 +1896,8 @@
           _identity, IdentityAvatarSize::TableViewIcon);
   identityAccountItem.text = _identity.userFullName;
   identityAccountItem.detailText = _identity.userEmail;
+  identityAccountItem.shouldDisplayError =
+      GetAccountErrorUIInfo(_browserState) != nil;
 }
 
 - (void)reloadAccountCell {
diff --git a/ios/chrome/browser/ui/settings/settings_table_view_controller_unittest.mm b/ios/chrome/browser/ui/settings/settings_table_view_controller_unittest.mm
index 413de37f..53ac3e7 100644
--- a/ios/chrome/browser/ui/settings/settings_table_view_controller_unittest.mm
+++ b/ios/chrome/browser/ui/settings/settings_table_view_controller_unittest.mm
@@ -4,7 +4,9 @@
 
 #import "ios/chrome/browser/ui/settings/settings_table_view_controller.h"
 
+#import "base/mac/foundation_util.h"
 #import "base/strings/sys_string_conversions.h"
+#import "base/test/scoped_feature_list.h"
 #import "base/test/task_environment.h"
 #import "components/keyed_service/core/service_access_type.h"
 #import "components/password_manager/core/browser/password_manager_test_utils.h"
@@ -27,6 +29,7 @@
 #import "ios/chrome/browser/signin/fake_system_identity_manager.h"
 #import "ios/chrome/browser/sync/mock_sync_service_utils.h"
 #import "ios/chrome/browser/sync/sync_service_factory.h"
+#import "ios/chrome/browser/ui/authentication/cells/table_view_account_item.h"
 #import "ios/chrome/browser/ui/commands/application_commands.h"
 #import "ios/chrome/browser/ui/commands/browsing_data_commands.h"
 #import "ios/chrome/browser/ui/commands/command_dispatcher.h"
@@ -38,6 +41,7 @@
 #import "ios/chrome/browser/ui/table_view/cells/table_view_image_item.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_info_button_item.h"
 #import "ios/chrome/browser/ui/table_view/chrome_table_view_controller_test.h"
+#import "ios/chrome/browser/ui/ui_feature_flags.h"
 #import "ios/chrome/grit/ios_chromium_strings.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/ios_chrome_scoped_testing_local_state.h"
@@ -246,6 +250,12 @@
               l10n_util::GetNSString(IDS_IOS_SYNC_ENCRYPTION_DESCRIPTION));
   ASSERT_EQ(UILayoutConstraintAxisVertical, sync_item.textLayoutConstraintAxis);
 
+  // Verify that the account item does not hold the error when done through the
+  // sync item.
+  TableViewAccountItem* identityAccountItem =
+      base::mac::ObjCCast<TableViewAccountItem>(account_items[0]);
+  EXPECT_FALSE(identityAccountItem.shouldDisplayError);
+
   // Check that there is no sign-in promo when there is a sync error.
   ASSERT_FALSE([controller().tableViewModel
       hasSectionForSectionIdentifier:SettingsSectionIdentifier::
@@ -365,3 +375,135 @@
   ASSERT_NSEQ(signin_item.statusText,
               l10n_util::GetNSString(IDS_IOS_SETTING_OFF));
 }
+
+// Verifies that when eligible the account item model holds the Account Storage
+// error.
+TEST_F(SettingsTableViewControllerTest, HoldAccountStorageErrorWhenEligible) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(
+      kIndicateAccountStorageErrorInAccountCell);
+
+  // Set account error.
+  ON_CALL(*sync_service_mock_, GetUserActionableError())
+      .WillByDefault(
+          Return(syncer::SyncService::UserActionableError::kNeedsPassphrase));
+
+  auth_service_->SignIn(fake_identity_);
+
+  CreateController();
+  CheckController();
+
+  NSArray* account_items = [controller().tableViewModel
+      itemsInSectionWithIdentifier:SettingsSectionIdentifier::
+                                       SettingsSectionIdentifierAccount];
+  ASSERT_EQ(3U, account_items.count);
+
+  // Verify that the account item is in an error state.
+  TableViewAccountItem* identityAccountItem =
+      base::mac::ObjCCast<TableViewAccountItem>(account_items[0]);
+  EXPECT_TRUE(identityAccountItem.shouldDisplayError);
+}
+
+// Verifies that the error is removed from the model when the Account Storage
+// error is resolved. Triggers the model update by firing a Sync State change.
+TEST_F(SettingsTableViewControllerTest, ClearAccountStorageErrorWhenResolved) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(
+      kIndicateAccountStorageErrorInAccountCell);
+
+  // Set account error to resolve.
+  ON_CALL(*sync_service_mock_, GetUserActionableError())
+      .WillByDefault(
+          Return(syncer::SyncService::UserActionableError::kNeedsPassphrase));
+
+  auth_service_->SignIn(fake_identity_);
+
+  CreateController();
+  CheckController();
+
+  NSArray* account_items = [controller().tableViewModel
+      itemsInSectionWithIdentifier:SettingsSectionIdentifier::
+                                       SettingsSectionIdentifierAccount];
+  ASSERT_EQ(3U, account_items.count);
+
+  // Verify that the account item is in an error state.
+  TableViewAccountItem* identityAccountItem =
+      base::mac::ObjCCast<TableViewAccountItem>(account_items[0]);
+  ASSERT_TRUE(identityAccountItem.shouldDisplayError);
+
+  // Resolve the account error.
+  ON_CALL(*sync_service_mock_, GetUserActionableError())
+      .WillByDefault(Return(syncer::SyncService::UserActionableError::kNone));
+
+  // Verify that the account item is not in an error state when the error was
+  // resolved and the data model reloaded.
+  [controller() loadModel];
+  account_items = [controller().tableViewModel
+      itemsInSectionWithIdentifier:SettingsSectionIdentifier::
+                                       SettingsSectionIdentifierAccount];
+  ASSERT_EQ(3U, account_items.count);
+  identityAccountItem =
+      base::mac::ObjCCast<TableViewAccountItem>(account_items[0]);
+  ASSERT_TRUE(identityAccountItem != nil);
+  EXPECT_FALSE(identityAccountItem.shouldDisplayError);
+}
+
+// Verifies that when ineligible the account item model doesn't hold the Account
+// Storage error.
+TEST_F(SettingsTableViewControllerTest, DontHoldAccountErrorWhenIneligible) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(
+      kIndicateAccountStorageErrorInAccountCell);
+
+  // Enable Sync to make the account item ineligible to indicate errors.
+  SetupSyncServiceEnabledExpectations();
+
+  // Set account error that would be in the model when eligible.
+  ON_CALL(*sync_service_mock_, GetUserActionableError())
+      .WillByDefault(
+          Return(syncer::SyncService::UserActionableError::kNeedsPassphrase));
+
+  auth_service_->SignIn(fake_identity_);
+
+  CreateController();
+  CheckController();
+
+  NSArray* account_items = [controller().tableViewModel
+      itemsInSectionWithIdentifier:SettingsSectionIdentifier::
+                                       SettingsSectionIdentifierAccount];
+  ASSERT_EQ(3U, account_items.count);
+
+  // Verify that the account item is not in an error state.
+  TableViewAccountItem* identityAccountItem =
+      base::mac::ObjCCast<TableViewAccountItem>(account_items[0]);
+  ASSERT_TRUE(identityAccountItem != nil);
+  EXPECT_FALSE(identityAccountItem.shouldDisplayError);
+}
+
+// Verifies that when eligible the account item model doesn't have the Account
+// Storage error when there is no error.
+TEST_F(SettingsTableViewControllerTest, DontHoldAccountErrorWhenNoError) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(
+      kIndicateAccountStorageErrorInAccountCell);
+
+  // Set no account error state.
+  ON_CALL(*sync_service_mock_, GetUserActionableError())
+      .WillByDefault(Return(syncer::SyncService::UserActionableError::kNone));
+
+  auth_service_->SignIn(fake_identity_);
+
+  CreateController();
+  CheckController();
+
+  NSArray* account_items = [controller().tableViewModel
+      itemsInSectionWithIdentifier:SettingsSectionIdentifier::
+                                       SettingsSectionIdentifierAccount];
+  ASSERT_EQ(3U, account_items.count);
+
+  // Verify that the account item is not in an error state.
+  TableViewAccountItem* identityAccountItem =
+      base::mac::ObjCCast<TableViewAccountItem>(account_items[0]);
+  ASSERT_TRUE(identityAccountItem != nil);
+  EXPECT_FALSE(identityAccountItem.shouldDisplayError);
+}
diff --git a/ios/chrome/browser/ui/settings/sync/utils/BUILD.gn b/ios/chrome/browser/ui/settings/sync/utils/BUILD.gn
index b96ee1b..9f7acb4 100644
--- a/ios/chrome/browser/ui/settings/sync/utils/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/sync/utils/BUILD.gn
@@ -7,6 +7,8 @@
 source_set("utils") {
   configs += [ "//build/config/compiler:enable_arc" ]
   sources = [
+    "account_error_ui_info.h",
+    "account_error_ui_info.mm",
     "sync_error_infobar_delegate.h",
     "sync_error_infobar_delegate.mm",
     "sync_presenter.h",
@@ -19,16 +21,21 @@
     "//components/infobars/core",
     "//components/strings",
     "//components/sync",
+    "//components/sync/driver",
     "//google_apis",
     "//ios/chrome/app/strings",
     "//ios/chrome/browser/browser_state",
     "//ios/chrome/browser/infobars",
     "//ios/chrome/browser/infobars:public",
+    "//ios/chrome/browser/main:public",
     "//ios/chrome/browser/signin",
     "//ios/chrome/browser/sync",
     "//ios/chrome/browser/tabs",
+    "//ios/chrome/browser/ui:feature_flags",
     "//ios/chrome/browser/ui/commands",
     "//ios/chrome/browser/ui/icons:symbols",
+    "//ios/chrome/browser/ui/settings:constants",
+    "//ios/chrome/browser/ui/settings:settings_root",
     "//ios/chrome/browser/ui/settings/google_services/resources:google_services_sync_error",
     "//ios/chrome/common/ui/colors",
     "//ui/base",
diff --git a/ios/chrome/browser/ui/settings/sync/utils/account_error_ui_info.h b/ios/chrome/browser/ui/settings/sync/utils/account_error_ui_info.h
new file mode 100644
index 0000000..48ce51d
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/sync/utils/account_error_ui_info.h
@@ -0,0 +1,46 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_UTILS_ACCOUNT_ERROR_UI_INFO_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_UTILS_ACCOUNT_ERROR_UI_INFO_H_
+
+#import <Foundation/Foundation.h>
+
+#import "components/sync/driver/sync_service.h"
+
+enum class AccountErrorUserActionableType {
+  // No action to take.
+  kNoAction,
+  // User needs to enter their passphrase.
+  kEnterPassphrase,
+};
+
+// Contains the information of the account error UI item.
+@interface AccountErrorUIInfo : NSObject
+
+- (instancetype)
+     initWithErrorType:(syncer::SyncService::UserActionableError)errorType
+    userActionableType:(AccountErrorUserActionableType)userActionableType
+             messageID:(int)messageID
+         buttonLabelID:(int)buttonLabelID NS_DESIGNATED_INITIALIZER;
+- (instancetype)init NS_UNAVAILABLE;
+
+// Type of the error to display.
+@property(nonatomic, assign, readonly)
+    syncer::SyncService::UserActionableError errorType;
+
+// Type of user actionable to resolve the error.
+@property(nonatomic, assign, readonly)
+    AccountErrorUserActionableType userActionableType;
+
+// ID of the message localized string that gives details on the account error.
+@property(nonatomic, assign, readonly) int messageID;
+
+// ID of the button label localized string that gives details on the action to
+// resolve the account error.
+@property(nonatomic, assign, readonly) int buttonLabelID;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_UTILS_ACCOUNT_ERROR_UI_INFO_H_
diff --git a/ios/chrome/browser/ui/settings/sync/utils/account_error_ui_info.mm b/ios/chrome/browser/ui/settings/sync/utils/account_error_ui_info.mm
new file mode 100644
index 0000000..e8689642
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/sync/utils/account_error_ui_info.mm
@@ -0,0 +1,27 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/ui/settings/sync/utils/account_error_ui_info.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+@implementation AccountErrorUIInfo
+
+- (instancetype)
+     initWithErrorType:(syncer::SyncService::UserActionableError)errorType
+    userActionableType:(AccountErrorUserActionableType)userActionableType
+             messageID:(int)messageID
+         buttonLabelID:(int)buttonLabelID {
+  if (self = [super init]) {
+    _errorType = errorType;
+    _userActionableType = userActionableType;
+    _messageID = messageID;
+    _buttonLabelID = buttonLabelID;
+  }
+  return self;
+}
+
+@end
diff --git a/ios/chrome/browser/ui/settings/sync/utils/sync_util.h b/ios/chrome/browser/ui/settings/sync/utils/sync_util.h
index 23d0a465..9c889c4 100644
--- a/ios/chrome/browser/ui/settings/sync/utils/sync_util.h
+++ b/ios/chrome/browser/ui/settings/sync/utils/sync_util.h
@@ -7,8 +7,10 @@
 
 #import <Foundation/Foundation.h>
 
-#include "components/sync/driver/sync_service.h"
+#import "components/sync/driver/sync_service.h"
+#import "google_apis/gaia/google_service_auth_error.h"
 
+@class AccountErrorUIInfo;
 class ChromeBrowserState;
 @protocol SyncPresenter;
 
@@ -41,4 +43,8 @@
                        web::WebState* web_state,
                        id<SyncPresenter> presenter);
 
+// Returns a data object with the needed information and handlers to display the
+// account error UI. Returns nil if there is no account error to display.
+AccountErrorUIInfo* GetAccountErrorUIInfo(ChromeBrowserState* browserState);
+
 #endif  // IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_UTILS_SYNC_UTIL_H_
diff --git a/ios/chrome/browser/ui/settings/sync/utils/sync_util.mm b/ios/chrome/browser/ui/settings/sync/utils/sync_util.mm
index e30873e4..0a5e663 100644
--- a/ios/chrome/browser/ui/settings/sync/utils/sync_util.mm
+++ b/ios/chrome/browser/ui/settings/sync/utils/sync_util.mm
@@ -4,16 +4,26 @@
 
 #import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 
+#import <UIKit/UIKit.h>
+
 #import "base/metrics/histogram_macros.h"
 #import "components/infobars/core/infobar_manager.h"
 #import "components/signin/public/identity_manager/identity_manager.h"
 #import "components/strings/grit/components_strings.h"
+#import "components/sync/driver/sync_service.h"
 #import "ios/chrome/browser/browser_state/chrome_browser_state.h"
 #import "ios/chrome/browser/infobars/infobar_manager_impl.h"
+#import "ios/chrome/browser/main/browser.h"
 #import "ios/chrome/browser/signin/identity_manager_factory.h"
 #import "ios/chrome/browser/sync/sync_service_factory.h"
+#import "ios/chrome/browser/ui/commands/application_commands.h"
+#import "ios/chrome/browser/ui/commands/browser_commands.h"
+#import "ios/chrome/browser/ui/commands/browsing_data_commands.h"
 #import "ios/chrome/browser/ui/commands/show_signin_command.h"
+#import "ios/chrome/browser/ui/settings/settings_root_view_controlling.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/account_error_ui_info.h"
 #import "ios/chrome/browser/ui/settings/sync/utils/sync_error_infobar_delegate.h"
+#import "ios/chrome/browser/ui/ui_feature_flags.h"
 #import "ios/chrome/grit/ios_chromium_strings.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ui/base/l10n/l10n_util.h"
@@ -23,6 +33,7 @@
 #endif
 
 namespace {
+
 // Enumerated constants for logging when a sign-in error infobar was shown
 // to the user. This was added for crbug/265352 to quantify how often this
 // bug shows up in the wild. The logged histogram count should be interpreted
@@ -41,6 +52,17 @@
   kMaxValue = SYNC_TRUSTED_VAULT_RECOVERABILITY_DEGRADED,
 };
 
+AccountErrorUIInfo* GetAccountErrorUIInfoForPassphraseError() {
+  AccountErrorUIInfo* errorInfo = [[AccountErrorUIInfo alloc]
+       initWithErrorType:syncer::SyncService::UserActionableError::
+                             kNeedsPassphrase
+      userActionableType:AccountErrorUserActionableType::kEnterPassphrase
+               messageID:IDS_IOS_ACCOUNT_TABLE_ENTER_PASSPHRASE_MESSAGE
+           buttonLabelID:IDS_IOS_ACCOUNT_TABLE_ENTER_PASSPHRASE_BUTTON];
+
+  return errorInfo;
+}
+
 }  // namespace
 
 NSString* GetSyncErrorDescriptionForSyncService(
@@ -209,3 +231,36 @@
   return SyncErrorInfoBarDelegate::Create(infoBarManager, browser_state,
                                           presenter);
 }
+
+AccountErrorUIInfo* GetAccountErrorUIInfo(ChromeBrowserState* browserState) {
+  if (!IsIndicateAccountStorageErrorInAccountCellEnabled()) {
+    return nil;
+  }
+
+  syncer::SyncService* syncService =
+      SyncServiceFactory::GetForBrowserState(browserState);
+  DCHECK(syncService);
+  if (syncService->IsSyncFeatureEnabled()) {
+    // Don't indicate account errors when Sync is enabled.
+    return nil;
+  }
+
+  switch (syncService->GetUserActionableError()) {
+    case syncer::SyncService::UserActionableError::kNeedsPassphrase:
+      return GetAccountErrorUIInfoForPassphraseError();
+    case syncer::SyncService::UserActionableError::kNone:
+    case syncer::SyncService::UserActionableError::kSignInNeedsUpdate:
+    case syncer::SyncService::UserActionableError::
+        kNeedsTrustedVaultKeyForPasswords:
+    case syncer::SyncService::UserActionableError::
+        kNeedsTrustedVaultKeyForEverything:
+    case syncer::SyncService::UserActionableError::
+        kTrustedVaultRecoverabilityDegradedForPasswords:
+    case syncer::SyncService::UserActionableError::
+        kTrustedVaultRecoverabilityDegradedForEverything:
+    case syncer::SyncService::UserActionableError::kGenericUnrecoverableError:
+      break;
+  }
+
+  return nil;
+}
diff --git a/ios/chrome/browser/ui/ui_feature_flags.cc b/ios/chrome/browser/ui/ui_feature_flags.cc
index a7ad863..5dd64513 100644
--- a/ios/chrome/browser/ui/ui_feature_flags.cc
+++ b/ios/chrome/browser/ui/ui_feature_flags.cc
@@ -185,3 +185,12 @@
       kIOSEditMenuPartialTranslate,
       kIOSEditMenuPartialTranslateNoIncognitoParam, false);
 }
+
+BASE_FEATURE(kIndicateAccountStorageErrorInAccountCell,
+             "IndicatePassphraseErrorForSignedInUser",
+             base::FEATURE_DISABLED_BY_DEFAULT);
+
+bool IsIndicateAccountStorageErrorInAccountCellEnabled() {
+  return base::FeatureList::IsEnabled(
+      kIndicateAccountStorageErrorInAccountCell);
+}
diff --git a/ios/chrome/browser/ui/ui_feature_flags.h b/ios/chrome/browser/ui/ui_feature_flags.h
index 1e1832b26..e14950b 100644
--- a/ios/chrome/browser/ui/ui_feature_flags.h
+++ b/ios/chrome/browser/ui/ui_feature_flags.h
@@ -144,9 +144,19 @@
 
 // Feature flag to enable add to home screen in share menu.
 BASE_DECLARE_FEATURE(kAddToHomeScreen);
+
 // Param to disable the feature in incognito.
 extern const char kAddToHomeScreenDisableIncognitoParam[];
+
 // Helper function to check the feature add to home screen.
 bool ShouldAddToHomeScreen(bool in_incognito);
 
+// Feature flag to enable indicating the Account Storage error in the Account
+// Cell when Sync is turned OFF.
+BASE_DECLARE_FEATURE(kIndicateAccountStorageErrorInAccountCell);
+
+// Returns true if the `kIndicateAccountStorageErrorInAccountCell` feature is
+// enabled.
+bool IsIndicateAccountStorageErrorInAccountCellEnabled();
+
 #endif  // IOS_CHROME_BROWSER_UI_UI_FEATURE_FLAGS_H_
diff --git a/ios/chrome/browser/ui/whats_new/whats_new_coordinator.mm b/ios/chrome/browser/ui/whats_new/whats_new_coordinator.mm
index 4f696155..532632d4 100644
--- a/ios/chrome/browser/ui/whats_new/whats_new_coordinator.mm
+++ b/ios/chrome/browser/ui/whats_new/whats_new_coordinator.mm
@@ -110,7 +110,7 @@
 #pragma mark - UINavigationControllerDelegate
 
 - (void)navigationController:(UINavigationController*)navigationController
-      willShowViewController:(UIViewController*)viewController
+       didShowViewController:(UIViewController*)viewController
                     animated:(BOOL)animated {
   // No-op if the previous view controller is not the detail view.
   if (!self.whatsNewDetailCoordinator) {
diff --git a/ios/chrome/browser/ui/whats_new/whats_new_detail_coordinator.mm b/ios/chrome/browser/ui/whats_new/whats_new_detail_coordinator.mm
index 7097917..a7534db 100644
--- a/ios/chrome/browser/ui/whats_new/whats_new_detail_coordinator.mm
+++ b/ios/chrome/browser/ui/whats_new/whats_new_detail_coordinator.mm
@@ -67,8 +67,12 @@
 }
 
 - (void)stop {
-  [self.baseNavigationController popToViewController:self.viewController
-                                            animated:NO];
+  // Pop the detail view controller if it is at the top of the navigation stack.
+  if (self.baseNavigationController.topViewController == self.viewController) {
+    [self.baseNavigationController popViewControllerAnimated:NO];
+    self.viewController = nil;
+  }
+
   [super stop];
 }
 
diff --git a/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1 b/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1
index 62c46e34..858e0a7 100644
--- a/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1
+++ b/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1
@@ -1 +1 @@
-5ff6bb8e66f26060c1c56033471b588d7e7b906e
\ No newline at end of file
+cabd0d44e79f4dfb83ae0d8269e9738e4f1f71bc
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1 b/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1
index 86daf325..46b27454 100644
--- a/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1
+++ b/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1
@@ -1 +1 @@
-1f4d0378ca5e3c897031df040c0be80ee1e532ec
\ No newline at end of file
+d6587c6797bbe643ebe2f754ff9ea2e113b845d9
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1
index ce8bcfec..6beae87 100644
--- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@
-629fd46b8d067d495e5a27eced353c9e285e556e
\ No newline at end of file
+50c57f5b5ca591dbf08c79bb42f104321f7d78d1
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1
index c5921bb..fadf6de 100644
--- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@
-569296ee560406c8bb80f0c68d862a7986b1f358
\ No newline at end of file
+d22756691e95609c53c9fc0a14fcec741626c810
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1
index cf36a9f..d00545d 100644
--- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@
-b801afc93385353f049917af9d8a01d8fed325cc
\ No newline at end of file
+1ad14f5c3d261b778975f777e6779c4b67fbcbca
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1
index b315493..83454c6f 100644
--- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@
-c4f40dfed2e418fa0a8d3923012f603971c807c2
\ No newline at end of file
+826a642c3812164042fb79c8d1ff6a2bb85cf4c3
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1
index f74f0bc..9396706 100644
--- a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@
-f00af7d83bff7ad1eed9a00328e96857451f78a2
\ No newline at end of file
+ed4fad8107412ee37be0c9813a1a74fbf945c483
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1
index 9507f79..fc9eae1 100644
--- a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@
-e52de08761a6c06735e7ab18461fcfee59dcddc6
\ No newline at end of file
+44f40462231c20f846c4c5c8328e87bea1d32acd
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1
index 4a2ee6af..7f76cf3d 100644
--- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1
+++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@
-1e865cf2da3113382532d8d0421443b585b32c14
\ No newline at end of file
+18788b0aa059d18d50abeb481505a56c58a226b5
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1
index b404791..4750b55 100644
--- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1
+++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@
-5be0491dc50ee02b5c5d133242289e3a9ebb1d1c
\ No newline at end of file
+1eeb7e5f8107e121bc280e2d6c6dec009fcedc32
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1
index b0009c2..c0fa1ea 100644
--- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1
+++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@
-f80a645bf4d7f5c3519090a785ff631c35e10295
\ No newline at end of file
+4ddb88a74ecc22cdbd697e2ad8c380008ca2cc4f
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1
index b9230e18..d166286 100644
--- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1
+++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@
-c4e06498071d9aa5105da0c75dc7e91fef81a4a4
\ No newline at end of file
+4bad42f04164f3561bacb57071d3bfec93c5abb1
\ No newline at end of file
diff --git a/media/gpu/test/video_frame_file_writer.cc b/media/gpu/test/video_frame_file_writer.cc
index b87513f..38a73f0d 100644
--- a/media/gpu/test/video_frame_file_writer.cc
+++ b/media/gpu/test/video_frame_file_writer.cc
@@ -236,10 +236,7 @@
   // Write the PNG data to file.
   base::FilePath file_path(
       output_folder_.Append(filename).AddExtension(FILE_PATH_LITERAL(".png")));
-  const int size = base::checked_cast<int>(png_output.size());
-  const int bytes_written = base::WriteFile(
-      file_path, reinterpret_cast<char*>(png_output.data()), size);
-  ASSERT_TRUE(bytes_written == size);
+  ASSERT_TRUE(base::WriteFile(file_path, png_output));
 }
 
 void VideoFrameFileWriter::WriteVideoFrameYUV(
diff --git a/net/base/isolation_info_unittest.cc b/net/base/isolation_info_unittest.cc
index 3b8e1db..13b0cf0e 100644
--- a/net/base/isolation_info_unittest.cc
+++ b/net/base/isolation_info_unittest.cc
@@ -138,10 +138,7 @@
   EXPECT_EQ(isolation_info.DebugString(), base::StrCat(parts));
 }
 
-// TODO(crbug.com/1419563): Disabled as it was causing consistent failures
-// across multiple builders
-TEST_P(IsolationInfoTest,
-       DISABLED_CreateNetworkAnonymizationKeyForIsolationInfo) {
+TEST_P(IsolationInfoTest, CreateNetworkAnonymizationKeyForIsolationInfo) {
   IsolationInfo isolation_info = IsolationInfo::Create(
       IsolationInfo::RequestType::kMainFrame, kOrigin1, kOrigin2,
       SiteForCookies::FromOrigin(kOrigin1), kPartyContextEmpty, &kNonce1);
@@ -182,7 +179,10 @@
 
 // A 2.5-keyed NAK created with two identical opaque origins should be
 // same-site.
-TEST_P(IsolationInfoTest, CreateNetworkAnonymizationKeyForIsolationInfoOpaque) {
+// TODO(crbug.com/1419563): Disabled as it was causing consistent failures
+// across multiple builders
+TEST_P(IsolationInfoTest,
+       DISABLED_CreateNetworkAnonymizationKeyForIsolationInfoOpaque) {
   url::Origin opaque;
   IsolationInfo isolation_info = IsolationInfo::Create(
       IsolationInfo::RequestType::kMainFrame, opaque, opaque,
diff --git a/net/cert/internal/trust_store_nss.cc b/net/cert/internal/trust_store_nss.cc
index 9d27ea0..6822a21b 100644
--- a/net/cert/internal/trust_store_nss.cc
+++ b/net/cert/internal/trust_store_nss.cc
@@ -6,9 +6,21 @@
 
 #include <cert.h>
 #include <certdb.h>
+#include <certt.h>
+#include <pk11pub.h>
+#include <pkcs11n.h>
+#include <pkcs11t.h>
+#include <seccomon.h>
+#include <secmod.h>
+#include <secmodt.h>
 
+#include "base/hash/sha1.h"
 #include "base/logging.h"
+#include "base/notreached.h"
+#include "base/strings/string_number_conversions.h"
 #include "crypto/nss_util.h"
+#include "crypto/nss_util_internal.h"
+#include "crypto/scoped_nss_types.h"
 #include "net/base/features.h"
 #include "net/cert/internal/trust_store_features.h"
 #include "net/cert/known_roots_nss.h"
@@ -21,10 +33,64 @@
 
 namespace net {
 
+namespace {
+
+struct FreePK11GenericObjects {
+  void operator()(PK11GenericObject* x) const {
+    if (x) {
+      PK11_DestroyGenericObjects(x);
+    }
+  }
+};
+using ScopedPK11GenericObjects =
+    std::unique_ptr<PK11GenericObject, FreePK11GenericObjects>;
+
+// Get the list of all slots `nss_cert` is present in, along with the object
+// handle of the cert in each of those slots.
+//
+// (Note that there is a PK11_GetAllSlotsForCert function that *seems* like it
+// would be useful here, however it does not actually return all relevant
+// slots.)
+std::vector<std::pair<crypto::ScopedPK11Slot, CK_OBJECT_HANDLE>>
+GetAllSlotsAndHandlesForCert(CERTCertificate* nss_cert) {
+  std::vector<std::pair<crypto::ScopedPK11Slot, CK_OBJECT_HANDLE>> r;
+  crypto::AutoSECMODListReadLock lock_id;
+  for (const SECMODModuleList* item = SECMOD_GetDefaultModuleList();
+       item != nullptr; item = item->next) {
+    for (int i = 0; i < item->module->slotCount; ++i) {
+      PK11SlotInfo* slot = item->module->slots[i];
+      if (PK11_IsPresent(slot)) {
+        CK_OBJECT_HANDLE handle = PK11_FindCertInSlot(slot, nss_cert, nullptr);
+        if (handle != CK_INVALID_HANDLE) {
+          r.emplace_back(PK11_ReferenceSlot(slot), handle);
+        }
+      }
+    }
+  }
+  return r;
+}
+
+CK_ATTRIBUTE_TYPE SecTrustTypeToAttributeType(SECTrustType trust_type) {
+  switch (trust_type) {
+    case trustSSL:
+      return CKA_TRUST_SERVER_AUTH;
+    case trustEmail:
+      return CKA_TRUST_EMAIL_PROTECTION;
+    case trustObjectSigning:
+      return CKA_TRUST_CODE_SIGNING;
+    case trustTypeNone:
+      NOTREACHED();
+      return 0;
+  }
+}
+
+}  // namespace
+
 TrustStoreNSS::TrustStoreNSS(SECTrustType trust_type,
                              SystemTrustSetting system_trust_setting,
                              UserSlotTrustSetting user_slot_trust_setting)
     : trust_type_(trust_type),
+      trust_attr_type_(SecTrustTypeToAttributeType(trust_type)),
       ignore_system_trust_settings_(system_trust_setting == kIgnoreSystemTrust),
       user_slot_trust_setting_(std::move(user_slot_trust_setting)) {}
 
@@ -72,7 +138,256 @@
 CertificateTrust TrustStoreNSS::GetTrust(const ParsedCertificate* cert,
                                          base::SupportsUserData* debug_data) {
   crypto::EnsureNSSInit();
+  // In theory we could also do better multi-profile slot filtering using a
+  // similar approach as GetTrustIgnoringSystemTrust, however it makes the
+  // logic more complicated and isn't really worth doing since we'll be
+  // removing the old path entirely. Also keeping the old path unmodified is
+  // better for ensuring that the temporary fallback policy actually falls back
+  // to the same old behavior.
+  if (ignore_system_trust_settings_) {
+    return GetTrustIgnoringSystemTrust(cert, debug_data);
+  } else {
+    return GetTrustWithSystemTrust(cert, debug_data);
+  }
+}
 
+// TODO(https://crbug.com/1340420): add histograms? (how often hits fast vs
+// medium vs slow path, timing of fast/medium/slow path/all, etc?)
+
+// TODO(https://crbug.com/1340420): NSS also seemingly has some magical
+// trusting of any self-signed cert with CKA_ID=0, if it doesn't have a
+// matching trust object. Do we need to do that too? (this pk11_isID0 thing:
+// https://searchfox.org/nss/source/lib/pk11wrap/pk11cert.c#357)
+
+CertificateTrust TrustStoreNSS::GetTrustIgnoringSystemTrust(
+    const ParsedCertificate* cert,
+    base::SupportsUserData* debug_data) const {
+  // If trust settings are only being used from a specified slot, and that slot
+  // is nullptr, there's nothing to do. This corresponds to the case where we
+  // wanted to get the builtin roots from NSS still but not user-added roots.
+  // Since the built-in roots are now coming from Chrome Root Store in this
+  // case, there is nothing to do here.
+  //
+  // (This ignores slots that would have been allowed by the "read-only
+  // internal slots" part of IsCertAllowedForTrust, I don't think that actually
+  // matters though.)
+  //
+  // TODO(https://crbug.com/1412591): once the non-CRS paths have been removed,
+  // perhaps remove this entirely and just have the caller not create a
+  // TrustStoreNSS at all in this case (or does it still need the
+  // SyncGetIssuersOf to find NSS temp certs in that case?)
+  if (absl::holds_alternative<crypto::ScopedPK11Slot>(
+          user_slot_trust_setting_) &&
+      absl::get<crypto::ScopedPK11Slot>(user_slot_trust_setting_) == nullptr) {
+    return CertificateTrust::ForUnspecified();
+  }
+
+  SECItem der_cert;
+  der_cert.data = const_cast<uint8_t*>(cert->der_cert().UnsafeData());
+  der_cert.len = base::checked_cast<unsigned>(cert->der_cert().Length());
+  der_cert.type = siDERCertBuffer;
+
+  // Find a matching NSS certificate object, if any. Note that NSS trust
+  // objects can also be keyed on issuer+serial and match any such cert. This
+  // is only used for distrust and apparently only in the NSS builtin roots
+  // certs module. Therefore, it should be safe to use the more efficient
+  // CERT_FindCertByDERCert to avoid having to have NSS parse the certificate
+  // and create a structure for it if the cert doesn't already exist in any of
+  // the loaded NSS databases.
+  ScopedCERTCertificate nss_cert(
+      CERT_FindCertByDERCert(CERT_GetDefaultCertDB(), &der_cert));
+  if (!nss_cert) {
+    DVLOG(1) << "skipped cert that has no CERTCertificate already";
+    return CertificateTrust::ForUnspecified();
+  }
+
+  // See if NSS has any trust settings for the certificate at all. If not,
+  // there is no point in doing further work.
+  CERTCertTrust nss_cert_trust;
+  if (CERT_GetCertTrust(nss_cert.get(), &nss_cert_trust) != SECSuccess) {
+    DVLOG(1) << "skipped cert that has no trust settings";
+    return CertificateTrust::ForUnspecified();
+  }
+
+  // If there were trust settings, we may not be able to use the NSS calculated
+  // trust settings directly, since we don't know which slot those settings
+  // came from. Do a more careful check to only honor trust settings from slots
+  // we care about.
+
+  std::vector<std::pair<crypto::ScopedPK11Slot, CK_OBJECT_HANDLE>>
+      slots_and_handles_for_cert = GetAllSlotsAndHandlesForCert(nss_cert.get());
+
+  // Generally this shouldn't happen, though it is possible (ex, a builtin
+  // distrust record with no matching cert in the builtin trust store could
+  // match a NSS temporary cert that doesn't exist in any slot. Ignoring that
+  // is okay. Theoretically there maybe could be trust records with no matching
+  // cert in user slots? I don't know how that can actually happen though.)
+  if (slots_and_handles_for_cert.empty()) {
+    DVLOG(1) << "skipped cert that has no slots";
+    return CertificateTrust::ForUnspecified();
+  }
+
+  // List of trustOrder, slot pairs.
+  std::vector<std::pair<int, PK11SlotInfo*>> slots_to_check;
+
+  for (const auto& [slotref, handle] : slots_and_handles_for_cert) {
+    PK11SlotInfo* slot = slotref.get();
+    DVLOG(1) << "found cert in slot:" << PK11_GetSlotName(slot)
+             << " token:" << PK11_GetTokenName(slot)
+             << " module trustOrder: " << PK11_GetModule(slot)->trustOrder;
+    if (absl::holds_alternative<crypto::ScopedPK11Slot>(
+            user_slot_trust_setting_) &&
+        slot !=
+            absl::get<crypto::ScopedPK11Slot>(user_slot_trust_setting_).get()) {
+      DVLOG(1) << "skipping slot " << PK11_GetSlotName(slot)
+               << ", it's not user_slot_trust_setting_";
+      continue;
+    }
+    if (PK11_HasRootCerts(slot) &&
+        PK11_HasAttributeSet(slot, handle, CKA_NSS_MOZILLA_CA_POLICY,
+                             PR_FALSE) == CK_TRUE) {
+      DVLOG(1) << "skipping slot " << PK11_GetSlotName(slot)
+               << ", this is mozilla ca policy provided";
+      continue;
+    }
+    int trust_order = PK11_GetModule(slot)->trustOrder;
+    slots_to_check.emplace_back(trust_order, slot);
+  }
+  if (slots_to_check.size() == slots_and_handles_for_cert.size()) {
+    DVLOG(1) << "cert is only in allowed slots, using NSS calculated trust";
+    return GetTrustForNSSTrust(nss_cert_trust);
+  }
+  if (slots_to_check.empty()) {
+    DVLOG(1) << "cert is only in disallowed slots, skipping";
+    return CertificateTrust::ForUnspecified();
+  }
+
+  DVLOG(1) << "cert is in both allowed and disallowed slots, doing manual "
+              "trust calculation";
+
+  // Use PK11_FindGenericObjects + PK11_ReadRawAttribute to calculate the trust
+  // using only the slots we care about. (Some example code:
+  // https://searchfox.org/nss/source/gtests/pk11_gtest/pk11_import_unittest.cc#131)
+  //
+  // TODO(https://crbug.com/1340420): consider adding caching here if metrics
+  // show a need. If caching is added, note that NSS has no change notification
+  // APIs so we'd at least want to listen for CertDatabase notifications to
+  // clear the cache. (There are multiple approaches possible, could cache the
+  // hash->trust mappings on a per-slot basis, or just cache the end result for
+  // each cert, etc.)
+  base::SHA1Digest cert_sha1 = base::SHA1HashSpan(cert->der_cert().AsSpan());
+
+  // Check the slots in trustOrder ordering. Lower trustOrder values are higher
+  // priority, so we can return as soon as we find a matching trust object.
+  std::sort(slots_to_check.begin(), slots_to_check.end());
+
+  for (const auto& [_, slot] : slots_to_check) {
+    DVLOG(1) << "looking for trust in slot " << PK11_GetSlotName(slot)
+             << " token " << PK11_GetTokenName(slot);
+
+    ScopedPK11GenericObjects objs(PK11_FindGenericObjects(slot, CKO_NSS_TRUST));
+    if (!objs) {
+      DVLOG(1) << "no trust objects in slot";
+      continue;
+    }
+    for (PK11GenericObject* obj = objs.get(); obj != nullptr;
+         obj = PK11_GetNextGenericObject(obj)) {
+      crypto::ScopedSECItem sha1_hash_attr(SECITEM_AllocItem(/*arena=*/nullptr,
+                                                             /*item=*/nullptr,
+                                                             /*len=*/0));
+      SECStatus rv = PK11_ReadRawAttribute(
+          PK11_TypeGeneric, obj, CKA_CERT_SHA1_HASH, sha1_hash_attr.get());
+      if (rv != SECSuccess) {
+        DVLOG(1) << "trust object has no CKA_CERT_SHA1_HASH attr";
+        continue;
+      }
+      base::span<const uint8_t> trust_obj_sha1 = base::make_span(
+          sha1_hash_attr->data, sha1_hash_attr->data + sha1_hash_attr->len);
+      DVLOG(1) << "found trust object for sha1 "
+               << base::HexEncode(trust_obj_sha1);
+
+      if (!std::equal(trust_obj_sha1.begin(), trust_obj_sha1.end(),
+                      cert_sha1.begin(), cert_sha1.end())) {
+        DVLOG(1) << "trust object does not match target cert hash, skipping";
+        continue;
+      }
+      DVLOG(1) << "trust object matches target cert hash";
+
+      crypto::ScopedSECItem trust_attr(SECITEM_AllocItem(/*arena=*/nullptr,
+                                                         /*item=*/nullptr,
+                                                         /*len=*/0));
+      rv = PK11_ReadRawAttribute(PK11_TypeGeneric, obj, trust_attr_type_,
+                                 trust_attr.get());
+      if (rv != SECSuccess) {
+        DVLOG(1) << "trust object for " << base::HexEncode(trust_obj_sha1)
+                 << "has no CKA_TRUST_x attr";
+        continue;
+      }
+      DVLOG(1) << "trust "
+               << base::HexEncode(base::make_span(
+                      trust_attr->data, trust_attr->data + trust_attr->len))
+               << " for sha1 " << base::HexEncode(trust_obj_sha1);
+
+      CK_TRUST trust;
+      if (trust_attr->len != sizeof(trust)) {
+        DVLOG(1) << "trust is wrong size? skipping";
+        continue;
+      }
+
+      // This matches how pk11_GetTrustField in NSS converts the raw trust
+      // object to a CK_TRUST (actually an unsigned long).
+      // https://searchfox.org/nss/source/lib/pk11wrap/pk11nobj.c#37
+      memcpy(&trust, trust_attr->data, trust_attr->len);
+
+      // This doesn't handle the "TrustAnchorOrLeaf" combination, it's unclear
+      // how that is represented. But it doesn't really matter since the only
+      // case that would come up is if someone took one of the NSS builtin
+      // roots and then also locally marked it as trusted as both a CA and a
+      // leaf, which is non-sensical. Testing shows that will end up marked as
+      // CKT_NSS_TRUSTED_DELEGATOR, which is fine.
+      switch (trust) {
+        case CKT_NSS_TRUSTED:
+          if (base::FeatureList::IsEnabled(
+                  features::kTrustStoreTrustedLeafSupport)) {
+            DVLOG(1) << "CKT_NSS_TRUSTED -> trusted leaf";
+            return CertificateTrust::ForTrustedLeaf();
+          } else {
+            DVLOG(1) << "CKT_NSS_TRUSTED -> unspecified";
+            return CertificateTrust::ForUnspecified();
+          }
+        case CKT_NSS_TRUSTED_DELEGATOR: {
+          DVLOG(1) << "CKT_NSS_TRUSTED_DELEGATOR -> trust anchor";
+          const bool enforce_anchor_constraints =
+              IsLocalAnchorConstraintsEnforcementEnabled();
+          return CertificateTrust::ForTrustAnchor()
+              .WithEnforceAnchorConstraints(enforce_anchor_constraints)
+              .WithEnforceAnchorExpiry(enforce_anchor_constraints);
+        }
+        case CKT_NSS_MUST_VERIFY_TRUST:
+        case CKT_NSS_VALID_DELEGATOR:
+          DVLOG(1) << "CKT_NSS_MUST_VERIFY_TRUST or CKT_NSS_VALID_DELEGATOR -> "
+                      "unspecified";
+          return CertificateTrust::ForUnspecified();
+        case CKT_NSS_NOT_TRUSTED:
+          DVLOG(1) << "CKT_NSS_NOT_TRUSTED -> distrusted";
+          return CertificateTrust::ForDistrusted();
+        case CKT_NSS_TRUST_UNKNOWN:
+          DVLOG(1) << "CKT_NSS_TRUST_UNKNOWN trust value - skip";
+          break;
+        default:
+          DVLOG(1) << "unhandled trust value - skip";
+          break;
+      }
+    }
+  }
+
+  DVLOG(1) << "no suitable NSS trust record found";
+  return CertificateTrust::ForUnspecified();
+}
+
+CertificateTrust TrustStoreNSS::GetTrustWithSystemTrust(
+    const ParsedCertificate* cert,
+    base::SupportsUserData* debug_data) const {
   // TODO(eroman): Inefficient -- path building will convert between
   // CERTCertificate and ParsedCertificate representations multiple times
   // (when getting the issuers, and again here).
@@ -93,11 +408,21 @@
   }
 
   // Determine the trustedness of the matched certificate.
-  CERTCertTrust trust;
-  if (CERT_GetCertTrust(nss_cert.get(), &trust) != SECSuccess) {
+  CERTCertTrust nss_trust;
+  if (CERT_GetCertTrust(nss_cert.get(), &nss_trust) != SECSuccess) {
     return CertificateTrust::ForUnspecified();
   }
 
+  CertificateTrust trust = GetTrustForNSSTrust(nss_trust);
+  if (trust.enforce_anchor_constraints && IsKnownRoot(nss_cert.get())) {
+    trust.enforce_anchor_constraints = false;
+    trust.enforce_anchor_expiry = false;
+  }
+  return trust;
+}
+
+CertificateTrust TrustStoreNSS::GetTrustForNSSTrust(
+    const CERTCertTrust& trust) const {
   unsigned int trust_flags = SEC_GET_TRUST_FLAGS(&trust, trust_type_);
 
   // Determine if the certificate is distrusted.
@@ -108,38 +433,12 @@
 
   bool is_trusted_ca = false;
   bool is_trusted_leaf = false;
-  bool enforce_anchor_constraints =
+  const bool enforce_anchor_constraints =
       IsLocalAnchorConstraintsEnforcementEnabled();
 
   // Determine if the certificate is a trust anchor.
-  //
-  // We may not use the result of this if it is a known root and we're ignoring
-  // system certs.
   if ((trust_flags & CERTDB_TRUSTED_CA) == CERTDB_TRUSTED_CA) {
-    // If its a user root, or its a system root and we're not ignoring system
-    // roots than return root as trusted.
-    //
-    // TODO(hchao, sleevi): CERT_GetCertTrust combines the trust settings from
-    // all tokens and slots, meaning it doesn't allow us to distinguish between
-    // CKO_NSS_TRUST objects the user manually configured versus CKO_NSS_TRUST
-    // objects from the builtin token (system trust settings). Properly
-    // handling this may require iterating all the slots and manually computing
-    // the trust settings directly, rather than CERT_GetCertTrust.
-    if (ignore_system_trust_settings_) {
-      // Only trust the user roots, and apply the value of
-      // enforce_anchor_constraints.
-      if (!IsKnownRoot(nss_cert.get())) {
-        is_trusted_ca = true;
-      }
-    } else {
-      is_trusted_ca = true;
-      if (enforce_anchor_constraints && IsKnownRoot(nss_cert.get())) {
-        // Don't enforce anchor constraints on the builtin roots. Needing to
-        // check IsKnownRoot for this condition isn't ideal, but this should be
-        // good enough for now.
-        enforce_anchor_constraints = false;
-      }
-    }
+    is_trusted_ca = true;
   }
 
   if (base::FeatureList::IsEnabled(features::kTrustStoreTrustedLeafSupport)) {
diff --git a/net/cert/internal/trust_store_nss.h b/net/cert/internal/trust_store_nss.h
index f5aa56e..67d2fc3 100644
--- a/net/cert/internal/trust_store_nss.h
+++ b/net/cert/internal/trust_store_nss.h
@@ -58,14 +58,20 @@
 
  private:
   bool IsCertAllowedForTrust(CERTCertificate* cert) const;
+  CertificateTrust GetTrustForNSSTrust(const CERTCertTrust& trust) const;
 
-  SECTrustType trust_type_;
+  CertificateTrust GetTrustIgnoringSystemTrust(
+      const ParsedCertificate* cert,
+      base::SupportsUserData* debug_data) const;
+  CertificateTrust GetTrustWithSystemTrust(
+      const ParsedCertificate* cert,
+      base::SupportsUserData* debug_data) const;
+
+  const SECTrustType trust_type_;
+  const CK_ATTRIBUTE_TYPE trust_attr_type_;
 
   // |ignore_system_certs_trust_settings_| specifies if the system trust
   // settings should be considered when determining a cert's trustworthiness.
-  //
-  // TODO(hchao, sleevi): Figure out how to ignore built-in trust settings,
-  // while respecting user-configured trust settings, for these certificates.
   const bool ignore_system_trust_settings_ = false;
 
   // |user_slot_trust_setting_| specifies which slots certificates must be
diff --git a/net/cert/internal/trust_store_nss_unittest.cc b/net/cert/internal/trust_store_nss_unittest.cc
index a45a032..bb1218c 100644
--- a/net/cert/internal/trust_store_nss_unittest.cc
+++ b/net/cert/internal/trust_store_nss_unittest.cc
@@ -6,10 +6,13 @@
 
 #include <cert.h>
 #include <certdb.h>
+#include <pkcs11n.h>
+#include <prtypes.h>
 #include <secmod.h>
 
 #include <memory>
 
+#include "base/strings/strcat.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/test/scoped_feature_list.h"
 #include "crypto/nss_util_internal.h"
@@ -22,7 +25,6 @@
 #include "net/cert/pki/test_helpers.h"
 #include "net/cert/pki/trust_store.h"
 #include "net/cert/scoped_nss_types.h"
-#include "net/cert/test_root_certs.h"
 #include "net/cert/x509_util.h"
 #include "net/cert/x509_util_nss.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -32,6 +34,32 @@
 
 namespace {
 
+std::string SystemTrustSettingToString(
+    TrustStoreNSS::SystemTrustSetting system_trust_setting) {
+  switch (system_trust_setting) {
+    case TrustStoreNSS::SystemTrustSetting::kUseSystemTrust:
+      return "UseSystemTrust";
+    case TrustStoreNSS::SystemTrustSetting::kIgnoreSystemTrust:
+      return "IgnoreSystemTrust";
+  };
+}
+
+unsigned TrustTypeToNSSTrust(CertificateTrustType trust) {
+  switch (trust) {
+    case CertificateTrustType::DISTRUSTED:
+      return CERTDB_TERMINAL_RECORD;
+    case CertificateTrustType::UNSPECIFIED:
+      return 0;
+    case CertificateTrustType::TRUSTED_ANCHOR:
+      return CERTDB_TRUSTED_CA | CERTDB_VALID_CA;
+    case CertificateTrustType::TRUSTED_LEAF:
+      return CERTDB_TRUSTED | CERTDB_TERMINAL_RECORD;
+    case CertificateTrustType::TRUSTED_ANCHOR_OR_LEAF:
+      return CERTDB_TRUSTED_CA | CERTDB_VALID_CA | CERTDB_TRUSTED |
+             CERTDB_TERMINAL_RECORD;
+  }
+}
+
 // Returns true if the provided slot looks like a built-in root.
 bool IsBuiltInRootSlot(PK11SlotInfo* slot) {
   if (!PK11_IsPresent(slot) || !PK11_HasRootCerts(slot))
@@ -100,6 +128,25 @@
                                    &parsing_errors);
 }
 
+absl::optional<unsigned> GetNSSTrustForCert(const ParsedCertificate* cert) {
+  SECItem der_cert;
+  der_cert.data = const_cast<uint8_t*>(cert->der_cert().UnsafeData());
+  der_cert.len = base::checked_cast<unsigned>(cert->der_cert().Length());
+  der_cert.type = siDERCertBuffer;
+  ScopedCERTCertificate nss_cert(
+      CERT_FindCertByDERCert(CERT_GetDefaultCertDB(), &der_cert));
+  if (!nss_cert) {
+    return absl::nullopt;
+  }
+
+  CERTCertTrust nss_cert_trust;
+  if (CERT_GetCertTrust(nss_cert.get(), &nss_cert_trust) != SECSuccess) {
+    return absl::nullopt;
+  }
+
+  return SEC_GET_TRUST_FLAGS(&nss_cert_trust, trustSSL);
+}
+
 class TrustStoreNSSTestBase : public ::testing::Test {
  public:
   explicit TrustStoreNSSTestBase(bool trusted_leaf_support,
@@ -161,6 +208,7 @@
   }
 
   void SetUp() override {
+    ASSERT_TRUE(first_test_nssdb_.is_open());
     ASSERT_TRUE(test_nssdb_.is_open());
     ASSERT_TRUE(other_test_nssdb_.is_open());
     ParsedCertificateList chain;
@@ -211,6 +259,18 @@
     ASSERT_EQ(SECSuccess, srv);
   }
 
+  // Import `cert` into `slot` and create a trust record with `trust` type.
+  // Tries to ensure that the created trust record ends up in the same `slot`.
+  // (That isn't always the case if `cert` exists in multiple slots and
+  // CERT_ChangeCertTrust was just used on an arbitrary CERTCertificate handle
+  // for `cert`.)
+  void AddCertToNSSSlotWithTrust(const ParsedCertificate* cert,
+                                 PK11SlotInfo* slot,
+                                 CertificateTrustType trust) {
+    AddCertToNSSSlot(cert, slot);
+    ChangeCertTrustInSlot(cert, slot, trust);
+  }
+
   void AddCertsToNSS() {
     AddCertToNSSSlot(target_.get(), test_nssdb_.slot());
     AddCertToNSSSlot(oldintermediate_.get(), test_nssdb_.slot());
@@ -275,6 +335,40 @@
     ASSERT_EQ(SECSuccess, srv);
   }
 
+  // Change the trust for `cert` in `slot` to `trust`.
+  // `cert` must already exist in `slot'.
+  // Tries to ensure that the created trust record ends up in the same `slot`.
+  // (That isn't always the case if `cert` exists in multiple slots and
+  // CERT_ChangeCertTrust was just used on an arbitrary CERTCertificate handle
+  // for `cert`.)
+  // (An alternative approach would be to create the CKO_NSS_TRUST object
+  // directly using PK11_CreateManagedGenericObject, which has the advantage of
+  // being able to specify the slot directly, but the disadvantage that there's
+  // no guarantee the way the test creates the trust object matches what NSS
+  // actually does. See
+  // https://crrev.com/c/3732801/9/net/cert/internal/trust_store_nss_unittest.cc#412
+  // for some example code if that's ever needed.)
+  void ChangeCertTrustInSlot(const ParsedCertificate* cert,
+                             PK11SlotInfo* slot,
+                             CertificateTrustType trust) {
+    crypto::ScopedCERTCertList cert_list(PK11_ListCertsInSlot(slot));
+    ASSERT_TRUE(cert_list);
+
+    for (CERTCertListNode* node = CERT_LIST_HEAD(cert_list);
+         !CERT_LIST_END(node, cert_list); node = CERT_LIST_NEXT(node)) {
+      if (x509_util::IsSameCertificate(node->cert, cert->cert_buffer())) {
+        CERTCertTrust nss_trust = {0};
+        nss_trust.sslFlags = TrustTypeToNSSTrust(trust);
+        if (CERT_ChangeCertTrust(CERT_GetDefaultCertDB(), node->cert,
+                                 &nss_trust) != SECSuccess) {
+          ADD_FAILURE() << "CERT_ChangeCertTrust failed: " << PORT_GetError();
+        }
+        return;
+      }
+    }
+    ADD_FAILURE() << "cert not found in slot";
+  }
+
  protected:
   bool TrustStoreContains(std::shared_ptr<const ParsedCertificate> cert,
                           ParsedCertificateList expected_matches) {
@@ -348,6 +442,7 @@
   std::shared_ptr<const ParsedCertificate> oldintermediate_;
   std::shared_ptr<const ParsedCertificate> newintermediate_;
   std::shared_ptr<const ParsedCertificate> newrootrollover_;
+  crypto::ScopedTestNSSDB first_test_nssdb_;
   crypto::ScopedTestNSSDB test_nssdb_;
   crypto::ScopedTestNSSDB other_test_nssdb_;
   std::unique_ptr<TrustStoreNSS> trust_store_nss_;
@@ -361,29 +456,46 @@
   kDoNotAllowUserSlots,
   kAllowSpecifiedUserSlot
 };
+std::string SlotFilterTypeToString(SlotFilterType slot_filter_type) {
+  switch (slot_filter_type) {
+    case SlotFilterType::kDontFilter:
+      return "DontFilter";
+    case SlotFilterType::kDoNotAllowUserSlots:
+      return "DoNotAllowUserSlots";
+    case SlotFilterType::kAllowSpecifiedUserSlot:
+      return "AllowSpecifiedUserSlot";
+  }
+}
 
 // Used for testing a TrustStoreNSS with the slot filter type specified by the
-// test parameter.
+// test parameter. These tests are cases that are expected to be the same
+// regardless of the slot filter type.
 class TrustStoreNSSTestWithSlotFilterType
     : public TrustStoreNSSTestBase,
-      public testing::WithParamInterface<SlotFilterType> {
+      public testing::WithParamInterface<
+          std::tuple<TrustStoreNSS::SystemTrustSetting, SlotFilterType>> {
  public:
   TrustStoreNSSTestWithSlotFilterType() = default;
   ~TrustStoreNSSTestWithSlotFilterType() override = default;
 
+  TrustStoreNSS::SystemTrustSetting system_trust_setting() const {
+    return std::get<0>(GetParam());
+  }
+  SlotFilterType slot_filter_type() const { return std::get<1>(GetParam()); }
+
   std::unique_ptr<TrustStoreNSS> CreateTrustStoreNSS() override {
-    switch (GetParam()) {
+    switch (slot_filter_type()) {
       case SlotFilterType::kDontFilter:
         return std::make_unique<TrustStoreNSS>(
-            trustSSL, TrustStoreNSS::kUseSystemTrust,
+            trustSSL, system_trust_setting(),
             TrustStoreNSS::UseTrustFromAllUserSlots());
       case SlotFilterType::kDoNotAllowUserSlots:
         return std::make_unique<TrustStoreNSS>(
-            trustSSL, TrustStoreNSS::kUseSystemTrust,
+            trustSSL, system_trust_setting(),
             /*user_slot_trust_setting=*/nullptr);
       case SlotFilterType::kAllowSpecifiedUserSlot:
         return std::make_unique<TrustStoreNSS>(
-            trustSSL, TrustStoreNSS::kUseSystemTrust,
+            trustSSL, system_trust_setting(),
             crypto::ScopedPK11Slot(PK11_ReferenceSlot(test_nssdb_.slot())));
     }
   }
@@ -395,6 +507,9 @@
   EXPECT_TRUE(TrustStoreContains(target_, ParsedCertificateList()));
   EXPECT_TRUE(TrustStoreContains(newintermediate_, ParsedCertificateList()));
   EXPECT_TRUE(TrustStoreContains(newroot_, ParsedCertificateList()));
+  EXPECT_TRUE(HasTrust({target_}, CertificateTrust::ForUnspecified()));
+  EXPECT_TRUE(HasTrust({newintermediate_}, CertificateTrust::ForUnspecified()));
+  EXPECT_TRUE(HasTrust({newroot_}, CertificateTrust::ForUnspecified()));
 }
 
 // TrustStoreNSS should return temporary certs on Chrome OS, because on Chrome
@@ -406,22 +521,42 @@
       newintermediate_->der_cert().UnsafeData(),
       newintermediate_->der_cert().Length()));
   EXPECT_TRUE(TrustStoreContains(target_, {newintermediate_}));
+  EXPECT_TRUE(HasTrust({target_}, CertificateTrust::ForUnspecified()));
 }
 
 // Independent of the specified slot-based filtering mode, built-in root certs
-// should always be trusted.
+// should always be trusted if kUseSystemTrust, otherwise they always should
+// not.
 TEST_P(TrustStoreNSSTestWithSlotFilterType, TrustAllowedForBuiltinRootCerts) {
   auto builtin_root_cert = GetASSLTrustedBuiltinRoot();
   ASSERT_TRUE(builtin_root_cert);
-  EXPECT_TRUE(HasTrust({builtin_root_cert}, ExpectedTrustForBuiltinAnchor()));
+  switch (system_trust_setting()) {
+    case TrustStoreNSS::SystemTrustSetting::kUseSystemTrust:
+      EXPECT_TRUE(
+          HasTrust({builtin_root_cert}, ExpectedTrustForBuiltinAnchor()));
+      break;
+    case TrustStoreNSS::SystemTrustSetting::kIgnoreSystemTrust:
+      EXPECT_TRUE(
+          HasTrust({builtin_root_cert}, CertificateTrust::ForUnspecified()));
+      break;
+  }
 }
 
 INSTANTIATE_TEST_SUITE_P(
-    TrustStoreNSSTest_AllSlotFilterTypes,
+    All,
     TrustStoreNSSTestWithSlotFilterType,
-    ::testing::Values(SlotFilterType::kDontFilter,
-                      SlotFilterType::kDoNotAllowUserSlots,
-                      SlotFilterType::kAllowSpecifiedUserSlot));
+    ::testing::Combine(
+        ::testing::Values(
+            TrustStoreNSS::SystemTrustSetting::kUseSystemTrust,
+            TrustStoreNSS::SystemTrustSetting::kIgnoreSystemTrust),
+        ::testing::Values(SlotFilterType::kDontFilter,
+                          SlotFilterType::kDoNotAllowUserSlots,
+                          SlotFilterType::kAllowSpecifiedUserSlot)),
+    [](const testing::TestParamInfo<
+        TrustStoreNSSTestWithSlotFilterType::ParamType>& info) {
+      return base::StrCat({SystemTrustSettingToString(std::get<0>(info.param)),
+                           SlotFilterTypeToString(std::get<1>(info.param))});
+    });
 
 // Tests a TrustStoreNSS that ignores system root certs.
 class TrustStoreNSSTestIgnoreSystemCerts
@@ -440,6 +575,25 @@
   }
 };
 
+TEST_P(TrustStoreNSSTestIgnoreSystemCerts, UnknownCertIgnored) {
+  EXPECT_TRUE(HasTrust({newroot_}, CertificateTrust::ForUnspecified()));
+}
+
+// An NSS CERTCertificate object exists for the cert, but it is not
+// imported into any DB. Should be unspecified trust.
+TEST_P(TrustStoreNSSTestIgnoreSystemCerts, TemporaryCertIgnored) {
+  ScopedCERTCertificate nss_cert(x509_util::CreateCERTCertificateFromBytes(
+      newroot_->der_cert().UnsafeData(), newroot_->der_cert().Length()));
+  EXPECT_TRUE(HasTrust({newroot_}, CertificateTrust::ForUnspecified()));
+}
+
+// Cert is added to user DB, but without explicitly calling
+// CERT_ChangeCertTrust. Should be unspecified trust.
+TEST_P(TrustStoreNSSTestIgnoreSystemCerts, UserCertWithNoTrust) {
+  AddCertsToNSS();
+  EXPECT_TRUE(HasTrust({newroot_}, CertificateTrust::ForUnspecified()));
+}
+
 TEST_P(TrustStoreNSSTestIgnoreSystemCerts, UserRootTrusted) {
   AddCertsToNSS();
   TrustCert(newroot_.get());
@@ -452,13 +606,6 @@
   EXPECT_TRUE(HasTrust({newroot_}, CertificateTrust::ForDistrusted()));
 }
 
-TEST_P(TrustStoreNSSTestIgnoreSystemCerts, SystemRootCertsIgnored) {
-  std::shared_ptr<const ParsedCertificate> system_root =
-      GetASSLTrustedBuiltinRoot();
-  ASSERT_TRUE(system_root);
-  EXPECT_TRUE(HasTrust({system_root}, CertificateTrust::ForUnspecified()));
-}
-
 TEST_P(TrustStoreNSSTestIgnoreSystemCerts, UserTrustedServer) {
   AddCertsToNSS();
   TrustServerCert(target_.get());
@@ -471,6 +618,140 @@
   EXPECT_TRUE(HasTrust({target_}, ExpectedTrustForAnchorOrLeaf()));
 }
 
+TEST_P(TrustStoreNSSTestIgnoreSystemCerts, SystemRootCertIgnored) {
+  std::shared_ptr<const ParsedCertificate> system_root =
+      GetASSLTrustedBuiltinRoot();
+  ASSERT_TRUE(system_root);
+  EXPECT_TRUE(HasTrust({system_root}, CertificateTrust::ForUnspecified()));
+}
+
+// A system trusted root is also present in a user DB, but without any trust
+// settings in the user DB. The system trust settings should not be used.
+TEST_P(TrustStoreNSSTestIgnoreSystemCerts,
+       SystemRootCertIgnoredWhenPresentInUserDb) {
+  std::shared_ptr<const ParsedCertificate> system_root =
+      GetASSLTrustedBuiltinRoot();
+  ASSERT_TRUE(system_root);
+
+  AddCertToNSSSlot(system_root.get(), test_nssdb_.slot());
+
+  // TrustStoreNSS should see an Unspecified since we are ignoring the system
+  // slot.
+  EXPECT_TRUE(HasTrust({system_root}, CertificateTrust::ForUnspecified()));
+}
+
+// A system trusted root is also present in a user DB, with TRUSTED_CA settings
+// in the user DB. The system trust settings should not be used, but the trust
+// from the user DB should be honored.
+TEST_P(TrustStoreNSSTestIgnoreSystemCerts, UserDbTrustForSystemRootHonored) {
+  std::shared_ptr<const ParsedCertificate> system_root =
+      GetASSLTrustedBuiltinRoot();
+  ASSERT_TRUE(system_root);
+
+  AddCertToNSSSlotWithTrust(system_root.get(), test_nssdb_.slot(),
+                            CertificateTrustType::TRUSTED_ANCHOR);
+  // NSS should see the cert as trusted.
+  EXPECT_EQ(CERTDB_TRUSTED_CA | CERTDB_VALID_CA,
+            GetNSSTrustForCert(system_root.get()));
+
+  // TrustStoreNSS should see as TrustAnchor since the cert was trusted in the
+  // user slot.
+  EXPECT_TRUE(HasTrust({system_root}, ExpectedTrustForAnchor()));
+}
+
+// A system trusted root is also present in a user DB, with leaf trust in the
+// user DB. The system trust settings should not be used, but the trust from
+// the user DB should be honored.
+TEST_P(TrustStoreNSSTestIgnoreSystemCerts,
+       UserDbLeafTrustForSystemRootHonored) {
+  std::shared_ptr<const ParsedCertificate> system_root =
+      GetASSLTrustedBuiltinRoot();
+  ASSERT_TRUE(system_root);
+
+  // Add unrelated trust record to test that we find the correct one.
+  AddCertToNSSSlotWithTrust(newroot_.get(), test_nssdb_.slot(),
+                            CertificateTrustType::TRUSTED_ANCHOR);
+
+  // Trust the system cert as a leaf.
+  AddCertToNSSSlotWithTrust(system_root.get(), test_nssdb_.slot(),
+                            CertificateTrustType::TRUSTED_LEAF);
+
+  // Add unrelated trust record to test that we find the correct one.
+  AddCertToNSSSlotWithTrust(newintermediate_.get(), test_nssdb_.slot(),
+                            CertificateTrustType::DISTRUSTED);
+
+  // NSS should see the cert as a trusted leaf.
+  EXPECT_EQ(CERTDB_TRUSTED | CERTDB_TERMINAL_RECORD,
+            GetNSSTrustForCert(system_root.get()));
+
+  // TrustStoreNSS should see as TrustedLeaf since the cert was trusted in the
+  // user slot.
+  EXPECT_TRUE(HasTrust({system_root}, ExpectedTrustForLeaf()));
+}
+
+// A system trusted root is also present in a user DB, with both CA and leaf
+// trust in the user DB. The system trust settings should not be used, but the
+// trust from the user DB should be honored.
+TEST_P(TrustStoreNSSTestIgnoreSystemCerts,
+       UserDbAnchorAndLeafTrustForSystemRootHonored) {
+  std::shared_ptr<const ParsedCertificate> system_root =
+      GetASSLTrustedBuiltinRoot();
+  ASSERT_TRUE(system_root);
+
+  AddCertToNSSSlotWithTrust(system_root.get(), test_nssdb_.slot(),
+                            CertificateTrustType::TRUSTED_ANCHOR_OR_LEAF);
+
+  // NSS should see the cert as both trusted leaf and CA.
+  EXPECT_EQ(CERTDB_TRUSTED_CA | CERTDB_VALID_CA | CERTDB_TRUSTED |
+                CERTDB_TERMINAL_RECORD,
+            GetNSSTrustForCert(system_root.get()));
+
+  // TrustStoreNSS should see as TrustAnchor since the cert was trusted in the
+  // user slot. The TrustStoreNSS implementation isn't able to pick up both the
+  // CA and Leaf trust in this case, but we don't really care.
+  EXPECT_TRUE(HasTrust({system_root}, ExpectedTrustForAnchor()));
+}
+
+// A system trusted root is also present in a user DB, with TERMINAL_RECORD
+// settings in the user DB. The system trust settings should not be used, and
+// the distrust from the user DB should be honored.
+TEST_P(TrustStoreNSSTestIgnoreSystemCerts, UserDbDistrustForSystemRootHonored) {
+  std::shared_ptr<const ParsedCertificate> system_root =
+      GetASSLTrustedBuiltinRoot();
+  ASSERT_TRUE(system_root);
+
+  AddCertToNSSSlotWithTrust(system_root.get(), test_nssdb_.slot(),
+                            CertificateTrustType::DISTRUSTED);
+
+  // NSS should see the cert as distrusted.
+  EXPECT_EQ(CERTDB_TERMINAL_RECORD, GetNSSTrustForCert(system_root.get()));
+
+  // TrustStoreNSS should see as Distrusted since the cert was distrusted in
+  // the user slot.
+  EXPECT_TRUE(HasTrust({system_root}, CertificateTrust::ForDistrusted()));
+}
+
+// A system trusted root is also present in a user DB, with a trust object with
+// no SSL trust flags set in the user DB. The system trust settings should not
+// be used, and the lack of trust flags in the user DB should result in
+// unspecified trust.
+TEST_P(TrustStoreNSSTestIgnoreSystemCerts,
+       UserDbUnspecifiedTrustForSystemRootHonored) {
+  std::shared_ptr<const ParsedCertificate> system_root =
+      GetASSLTrustedBuiltinRoot();
+  ASSERT_TRUE(system_root);
+
+  AddCertToNSSSlotWithTrust(system_root.get(), test_nssdb_.slot(),
+                            CertificateTrustType::UNSPECIFIED);
+
+  // NSS should see the cert as unspecified trust.
+  EXPECT_EQ(0u, GetNSSTrustForCert(system_root.get()));
+
+  // TrustStoreNSS should see as Unspecified since the cert was marked
+  // unspecified in the user slot.
+  EXPECT_TRUE(HasTrust({system_root}, CertificateTrust::ForUnspecified()));
+}
+
 INSTANTIATE_TEST_SUITE_P(
     All,
     TrustStoreNSSTestIgnoreSystemCerts,
@@ -622,57 +903,180 @@
 
 // Tests for a TrustStoreNSS which does not allow certificates on user slots
 // to be trusted.
-class TrustStoreNSSTestDoNotAllowUserSlots : public TrustStoreNSSTestBase {
+class TrustStoreNSSTestDoNotAllowUserSlots
+    : public TrustStoreNSSTestBase,
+      public testing::WithParamInterface<TrustStoreNSS::SystemTrustSetting> {
  public:
   TrustStoreNSSTestDoNotAllowUserSlots() = default;
   ~TrustStoreNSSTestDoNotAllowUserSlots() override = default;
 
+  TrustStoreNSS::SystemTrustSetting system_trust_setting() const {
+    return GetParam();
+  }
+
   std::unique_ptr<TrustStoreNSS> CreateTrustStoreNSS() override {
-    return std::make_unique<TrustStoreNSS>(trustSSL,
-                                           TrustStoreNSS::kUseSystemTrust,
+    return std::make_unique<TrustStoreNSS>(trustSSL, system_trust_setting(),
                                            /*user_slot_trust_setting=*/nullptr);
   }
 };
 
 // A certificate that is stored on a "user slot" is not trusted if the
 // TrustStoreNSS is not allowed to trust certificates on user slots.
-TEST_F(TrustStoreNSSTestDoNotAllowUserSlots, CertOnUserSlot) {
-  AddCertToNSSSlot(newroot_.get(), test_nssdb_.slot());
-  TrustCert(newroot_.get());
+TEST_P(TrustStoreNSSTestDoNotAllowUserSlots, CertOnUserSlot) {
+  AddCertToNSSSlotWithTrust(newroot_.get(), test_nssdb_.slot(),
+                            CertificateTrustType::TRUSTED_ANCHOR);
   EXPECT_TRUE(HasTrust({newroot_}, CertificateTrust::ForUnspecified()));
+
+  // We don't do any filtering of the certs returned by GetIssuersOf since
+  // there isn't a security reason to.
+  EXPECT_TRUE(TrustStoreContains(newintermediate_, {newroot_}));
 }
 
+// If an NSS trusted root is present in a user slot but
+// user_slot_trust_setting=null, that trust setting should be ignored.
+TEST_P(TrustStoreNSSTestDoNotAllowUserSlots, UserDbTrustForSystemRootIgnored) {
+  std::shared_ptr<const ParsedCertificate> system_root =
+      GetASSLTrustedBuiltinRoot();
+  ASSERT_TRUE(system_root);
+  EXPECT_EQ(CERTDB_TRUSTED_CA | CERTDB_VALID_CA,
+            GetNSSTrustForCert(system_root.get()));
+
+  AddCertToNSSSlotWithTrust(system_root.get(), test_nssdb_.slot(),
+                            CertificateTrustType::TRUSTED_LEAF);
+
+  switch (system_trust_setting()) {
+    case TrustStoreNSS::SystemTrustSetting::kUseSystemTrust:
+      // This should actually be CertificateTrust::ForTrustAnchor, but the old
+      // kUseSystemTrust code path doesn't handle trust settings in multiple
+      // slots correctly, and we aren't going to fix that now.
+      EXPECT_TRUE(HasTrust({system_root}, ExpectedTrustForLeaf()));
+      break;
+    case TrustStoreNSS::SystemTrustSetting::kIgnoreSystemTrust:
+      EXPECT_TRUE(HasTrust({system_root}, CertificateTrust::ForUnspecified()));
+      break;
+  }
+}
+
+INSTANTIATE_TEST_SUITE_P(
+    All,
+    TrustStoreNSSTestDoNotAllowUserSlots,
+    ::testing::Values(TrustStoreNSS::SystemTrustSetting::kUseSystemTrust,
+                      TrustStoreNSS::SystemTrustSetting::kIgnoreSystemTrust),
+    [](const testing::TestParamInfo<
+        TrustStoreNSSTestDoNotAllowUserSlots::ParamType>& info) {
+      return SystemTrustSettingToString(info.param);
+    });
+
 // Tests for a TrustStoreNSS which does allows certificates on user slots to
 // be only trusted if they are on a specific user slot.
-class TrustStoreNSSTestAllowSpecifiedUserSlot : public TrustStoreNSSTestBase {
+class TrustStoreNSSTestAllowSpecifiedUserSlot
+    : public TrustStoreNSSTestBase,
+      public testing::WithParamInterface<TrustStoreNSS::SystemTrustSetting> {
  public:
   TrustStoreNSSTestAllowSpecifiedUserSlot() = default;
   ~TrustStoreNSSTestAllowSpecifiedUserSlot() override = default;
 
+  TrustStoreNSS::SystemTrustSetting system_trust_setting() const {
+    return GetParam();
+  }
+
   std::unique_ptr<TrustStoreNSS> CreateTrustStoreNSS() override {
     return std::make_unique<TrustStoreNSS>(
-        trustSSL, TrustStoreNSS::kUseSystemTrust,
+        trustSSL, system_trust_setting(),
         crypto::ScopedPK11Slot(PK11_ReferenceSlot(test_nssdb_.slot())));
   }
 };
 
 // A certificate that is stored on a "user slot" is trusted if the
 // TrustStoreNSS is allowed to trust that user slot.
-TEST_F(TrustStoreNSSTestAllowSpecifiedUserSlot, CertOnUserSlot) {
-  AddCertToNSSSlot(newroot_.get(), test_nssdb_.slot());
-  TrustCert(newroot_.get());
+TEST_P(TrustStoreNSSTestAllowSpecifiedUserSlot, CertOnUserSlot) {
+  AddCertToNSSSlotWithTrust(newroot_.get(), test_nssdb_.slot(),
+                            CertificateTrustType::TRUSTED_ANCHOR);
   EXPECT_TRUE(HasTrust({newroot_}, ExpectedTrustForAnchor()));
 }
 
 // A certificate that is stored on a "user slot" is not trusted if the
 // TrustStoreNSS is allowed to trust a user slot, but the certificate is
 // stored on another user slot.
-TEST_F(TrustStoreNSSTestAllowSpecifiedUserSlot, CertOnOtherUserSlot) {
-  AddCertToNSSSlot(newroot_.get(), other_test_nssdb_.slot());
-  TrustCert(newroot_.get());
+TEST_P(TrustStoreNSSTestAllowSpecifiedUserSlot, CertOnOtherUserSlot) {
+  AddCertToNSSSlotWithTrust(newroot_.get(), other_test_nssdb_.slot(),
+                            CertificateTrustType::TRUSTED_ANCHOR);
   EXPECT_TRUE(HasTrust({newroot_}, CertificateTrust::ForUnspecified()));
 }
 
+// The same certificate is stored in multiple user slots with different trust
+// settings. Ensure that the correct trust setting is used.
+TEST_P(TrustStoreNSSTestAllowSpecifiedUserSlot, CertOnMultipleSlots) {
+  // Add unrelated trust record to test that we find the correct one.
+  AddCertToNSSSlotWithTrust(newintermediate_.get(), test_nssdb_.slot(),
+                            CertificateTrustType::DISTRUSTED);
+
+  AddCertToNSSSlotWithTrust(newroot_.get(), first_test_nssdb_.slot(),
+                            CertificateTrustType::DISTRUSTED);
+  AddCertToNSSSlotWithTrust(newroot_.get(), test_nssdb_.slot(),
+                            CertificateTrustType::TRUSTED_ANCHOR);
+  AddCertToNSSSlotWithTrust(newroot_.get(), other_test_nssdb_.slot(),
+                            CertificateTrustType::TRUSTED_LEAF);
+
+  // Add unrelated trust record to test that we find the correct one.
+  AddCertToNSSSlotWithTrust(target_.get(), test_nssdb_.slot(),
+                            CertificateTrustType::DISTRUSTED);
+
+  switch (system_trust_setting()) {
+    case TrustStoreNSS::SystemTrustSetting::kUseSystemTrust:
+      // The kUseSystemTrust implementation doesn't attempt to handle this case
+      // correctly, but it actually is slightly more broken than expected and
+      // ends up returning Unspecified rather than any of the trust settings
+      // set above since the PK11_GetAllSlotsForCert call in
+      // TrustStoreNSS::IsCertAllowedForTrust doesn't actually do what it
+      // claims to do.
+      EXPECT_TRUE(HasTrust({newroot_}, CertificateTrust::ForUnspecified()));
+      break;
+    case TrustStoreNSS::SystemTrustSetting::kIgnoreSystemTrust:
+      EXPECT_TRUE(HasTrust({newroot_}, ExpectedTrustForAnchor()));
+      break;
+  }
+}
+
+// A NSS trusted root certificate is also stored in multiple user slots with
+// different trust settings. Ensure that the correct trust setting is used.
+TEST_P(TrustStoreNSSTestAllowSpecifiedUserSlot, SystemRootCertOnMultipleSlots) {
+  std::shared_ptr<const ParsedCertificate> system_root =
+      GetASSLTrustedBuiltinRoot();
+  ASSERT_TRUE(system_root);
+  EXPECT_EQ(CERTDB_TRUSTED_CA | CERTDB_VALID_CA,
+            GetNSSTrustForCert(system_root.get()));
+
+  AddCertToNSSSlotWithTrust(system_root.get(), first_test_nssdb_.slot(),
+                            CertificateTrustType::DISTRUSTED);
+  AddCertToNSSSlotWithTrust(system_root.get(), test_nssdb_.slot(),
+                            CertificateTrustType::TRUSTED_LEAF);
+  AddCertToNSSSlotWithTrust(system_root.get(), other_test_nssdb_.slot(),
+                            CertificateTrustType::UNSPECIFIED);
+  switch (system_trust_setting()) {
+    case TrustStoreNSS::SystemTrustSetting::kUseSystemTrust:
+      // The kUseSystemTrust implementation doesn't attempt to handle this case
+      // correctly, it returns distrust due to how NSS evaluates the trust
+      // records internally with regards to the order the slots were
+      // created.
+      EXPECT_TRUE(HasTrust({system_root}, CertificateTrust::ForDistrusted()));
+      break;
+    case TrustStoreNSS::SystemTrustSetting::kIgnoreSystemTrust:
+      EXPECT_TRUE(HasTrust({system_root}, ExpectedTrustForLeaf()));
+      break;
+  }
+}
+
+INSTANTIATE_TEST_SUITE_P(
+    All,
+    TrustStoreNSSTestAllowSpecifiedUserSlot,
+    ::testing::Values(TrustStoreNSS::SystemTrustSetting::kUseSystemTrust,
+                      TrustStoreNSS::SystemTrustSetting::kIgnoreSystemTrust),
+    [](const testing::TestParamInfo<
+        TrustStoreNSSTestAllowSpecifiedUserSlot::ParamType>& info) {
+      return SystemTrustSettingToString(info.param);
+    });
+
 // TODO(https://crbug.com/980443): If the internal non-removable slot is
 // relevant on Chrome OS, add a test for allowing trust for certificates
 // stored on that slot.
diff --git a/net/cert/x509_util_nss.cc b/net/cert/x509_util_nss.cc
index ad837a69..7adaf25 100644
--- a/net/cert/x509_util_nss.cc
+++ b/net/cert/x509_util_nss.cc
@@ -142,11 +142,17 @@
 }
 
 bool IsSameCertificate(CERTCertificate* a, const X509Certificate* b) {
-  return a->derCert.len == CRYPTO_BUFFER_len(b->cert_buffer()) &&
-         memcmp(a->derCert.data, CRYPTO_BUFFER_data(b->cert_buffer()),
-                a->derCert.len) == 0;
+  return IsSameCertificate(a, b->cert_buffer());
 }
 bool IsSameCertificate(const X509Certificate* a, CERTCertificate* b) {
+  return IsSameCertificate(b, a->cert_buffer());
+}
+
+bool IsSameCertificate(CERTCertificate* a, const CRYPTO_BUFFER* b) {
+  return a->derCert.len == CRYPTO_BUFFER_len(b) &&
+         memcmp(a->derCert.data, CRYPTO_BUFFER_data(b), a->derCert.len) == 0;
+}
+bool IsSameCertificate(const CRYPTO_BUFFER* a, CERTCertificate* b) {
   return IsSameCertificate(b, a);
 }
 
diff --git a/net/cert/x509_util_nss.h b/net/cert/x509_util_nss.h
index 73d61e3..acca9ef4 100644
--- a/net/cert/x509_util_nss.h
+++ b/net/cert/x509_util_nss.h
@@ -26,6 +26,8 @@
 NET_EXPORT bool IsSameCertificate(CERTCertificate* a, CERTCertificate* b);
 NET_EXPORT bool IsSameCertificate(CERTCertificate* a, const X509Certificate* b);
 NET_EXPORT bool IsSameCertificate(const X509Certificate* a, CERTCertificate* b);
+NET_EXPORT bool IsSameCertificate(CERTCertificate* a, const CRYPTO_BUFFER* b);
+NET_EXPORT bool IsSameCertificate(const CRYPTO_BUFFER* a, CERTCertificate* b);
 
 // Returns a CERTCertificate handle from the DER-encoded representation. The
 // returned value may reference an already existing CERTCertificate object.
diff --git a/net/features.gni b/net/features.gni
index b3f8475..8df01bc 100644
--- a/net/features.gni
+++ b/net/features.gni
@@ -48,5 +48,6 @@
   # builtin verifier using platform roots, depending on the platform.
   # See https://crbug.com/1216547 for status.
   chrome_root_store_supported =
-      is_win || is_mac || (is_android && !is_cronet_build)
+      is_win || is_mac || (is_android && !is_cronet_build) || is_linux ||
+      is_chromeos
 }
diff --git a/net/http/transport_security_state_static.json b/net/http/transport_security_state_static.json
index 7796957..d7cfd417 100644
--- a/net/http/transport_security_state_static.json
+++ b/net/http/transport_security_state_static.json
@@ -191001,6 +191001,2318 @@
     { "name": "zomatree.live", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zzcc.loan", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zzzzz.click", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffaaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffbbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffccc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffddd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffeee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffcc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffdd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffgg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffpp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffftt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fffzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffggg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffhhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffiii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffjjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00fflll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffmmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffnnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffooo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffppp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffqqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffrrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffsss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffttt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffuuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffvvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffwww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffxxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffyyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "00ffzzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "018878.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "02n.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "038799.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "06006.vip", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "081481.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "091631.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "091634.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "092300.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "098711.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "0xheuts.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "110838.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffaaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffbbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffccc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffddd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffeee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffcc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffdd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffgg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffpp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffftt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fffzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffggg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffhhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffiii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffjjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffkkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11fflll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffmmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffnnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffooo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffppp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffqqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffrrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffsss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffttt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffuuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffvvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffwww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffxxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffyyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "11ffzzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "123storage.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "13411-111.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "140.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "15-montorgueil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "15montorgueil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "15ruemontorgueil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "197898.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "1f616emo.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffaaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffbbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffccc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffddd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffeee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffcc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffdd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffgg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffpp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffftt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fffzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffggg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffhhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffiii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffjjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffkkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22fflll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffmmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffnnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffooo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffppp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffqqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffrrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffsss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffttt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffuuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffvvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffwww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffxxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffyyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "22ffzzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "230594.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "238923.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "24k.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2595push.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2728cp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2chi1.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2class.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "3078i.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "320331.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "331977.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffaaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffbbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffccc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffddd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffeee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffcc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffdd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffgg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffpp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffftt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fffzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffggg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffiii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffjjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffkkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33fflll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffmmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffnnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffooo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffppp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffqqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffrrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffsss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffttt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffvvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffwww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffxxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffyyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "33ffzzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "3536cp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "356338.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "356338a.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "373521.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "376064.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "379237.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "385833.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "387538.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "390539.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "393039.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "393239.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "395039.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "396039.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "396539.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "397039.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "399739.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "399839.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "429637.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffaaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffbbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffccc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffddd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffeee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffcc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffdd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffgg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffpp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffftt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fffzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffggg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffhhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffiii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffjjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffkkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44fflll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffmmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffnnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffooo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffppp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffqqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffrrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffsss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffttt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffuuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffvvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffwww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "44ffzzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "493455.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "4sightdesignz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "550619.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffaaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffbbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffccc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffddd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffeee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffcc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffdd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffgg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffpp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffftt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fffzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffggg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffhhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffiii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffjjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffkkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55fflll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffmmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffnnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffppp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffqqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffrrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffsss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffttt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffuuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffvvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffwww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffxxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55ffyyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "5758cp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "582343.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "589704.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "608325.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "60d.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "60i.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "661633.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffaaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffbbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffccc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffddd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffcc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffdd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffgg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffpp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffftt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fffzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffggg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffhhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffiii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffjjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66fflll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffmmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffnnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffooo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffppp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffqqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffrrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffsss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffttt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffuuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffvvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffwww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffxxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffyyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "66ffzzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "672367.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "68636.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "68636.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "68636.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "68636.vip", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "690469.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "690569.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "690669.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "692269.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "693369.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "6s.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "703740.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "727877.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "750275.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "750375.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "750475.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "751175.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "753375.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "76o.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909a.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909b.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909c.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909d.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909dhz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909dhzapp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909e.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909f.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909g.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909h.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909i.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77909k.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffaaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffbbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffccc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffddd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffeee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffcc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffdd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffgg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffpp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffftt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fffzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffggg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffhhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffiii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffjjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffkkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77fflll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffmmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffooo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffppp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffqqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffrrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffsss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffuuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffvvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffwww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffxxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffyyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "77ffzzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "781534.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "782354.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "808gutterking.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8586cp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "864686.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "878431.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffaaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffbbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffccc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffddd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffeee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffcc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffdd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffgg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffpp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffftt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fffzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffggg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffhhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffiii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffjjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88fflll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffmmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffnnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffooo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffppp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffqqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffrrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffsss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffttt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffuuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffvvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffwww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffxxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffyyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "88ffzzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8fs000.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8fs111.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8fs222.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8fs333.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8fs444.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8fs555.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8fs666.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8fs777.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8fs888.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8fs999.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "9023n.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "9023w.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "907856.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "923601.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "925892.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "937493.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "959606.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "963696.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "9697cp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "985684.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "9941y.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffaaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffbbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffccc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffddd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffeee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffcc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffdd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffgg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffpp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffftt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fffzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffggg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffhhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffiii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffjjj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffkkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99fflll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffmmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffnnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffooo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffppp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffqqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffrrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffsss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffttt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffuuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffvvv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffwww.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffxxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffyyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "99ffzzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "a1techrepair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aarisings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "abileneef.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "abre.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "academyruins.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "accelerationsummit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "accesoriiutilaje.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "accio.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "accretech.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ace-uk.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "acelyrin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "acendas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "active.agency", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "activehealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adame.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adjur.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adler-kornwestheim.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adorkable.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adorkable.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "advancedconcrete.construction", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aeslifesciences.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "affinityweb.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agdsenice.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agencelcinvestigations.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agentprovocateur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agrowbio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aguajero.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aiavatars.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ainesexshop.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "airvida.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aishatibetanterriers.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "akasa.red", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "albufeira-car-hire.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alessandrostaffolani.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alexadamsddns.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alexia.lol", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alfred-g-fischer.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alfromuez.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "algarve-1.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "algarve-carhire.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "algarve-transfers.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alge.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "algibranstore.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "algotest.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alingroove.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "allerzeiten.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "allgaragedoorandgates.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "almothaqaf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aloomic.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alt-wien.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "altes-rathaus.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "altoinsuranceagency.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ames-fzco.ae", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amicare-france.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amicare.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amltrust.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amnathrig.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amogus.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "analyser-mon-site.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anandkjha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "andersonlegal.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "andresgarciapersonal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "andrewglucas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "andrewglucas.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "angelic.icu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "angelkeepers.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "animocreator.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "annelisetouya.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anonsearch.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anova.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "antenasmundosat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "antidayton.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anyboat.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ap-bg.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "apartmanbeograd.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "apparitionbrew.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "appartementhaus-am-uke.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "appscan360.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "appscan360.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "appscan360.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "apsistemas.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aquahill.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arcticfoxes.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "areinsmuseum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arekkusu.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "areteortho.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "argo-vision.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "argo-vision.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "argo.vision", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "argus01.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arihantone.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arklow.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "armsco.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arounddeal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arset.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "art-boeden.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "artroom-design.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arzua.gal", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "asdfqwerty.duckdns.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "assignmenthelpservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ateus.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "atitudini.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "atlantatai.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "atlasrealestates.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "attorneyrebeccawhittington.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aubay.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "audiosite.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "auribus.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "austincosmetic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "auto-albrecht.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "auto-delchev.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autorent.by", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "avangard-bg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "awningcleaningchicago.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "awningpressurewashing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "az-raven.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "babolat.ae", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "baccredomatic.voyage", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "backlogs.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bahancoli.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "balhamrm.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bamboo-team.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bandwh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bantuanteknis.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "barke-schaltanlagen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "baronpaintingservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bas.bio", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bas.coffee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bas.work", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "batista.g12.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "baxx.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bbp.ng", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bbrp.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bcalabsokc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bcarpentrypro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bccx.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bccxo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "be.st", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beard.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beargarden.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beatsaberchampionship.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beckmanngmbh.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bedwars.party", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beerbruhs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "belka.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "benbenben.loan", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "benoit.jp.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bequeen.re", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beregite-zdorovje.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "berndtgen.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "berriabot.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "berriainfo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "berriainfo.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestchoicehomeinspections.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestgolftrips.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestpressurewashingchicago.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestsolution.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestvpnsoftware.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "betelnatural.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "betstop.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "betterviewrentals.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bezpaliuk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bferal.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bhameshwarigraphics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bi3e.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bibliotecaumana.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bigbearlakecoins.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bilderload.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bindubreath.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "biopaltin.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bioseguridad.gob.pa", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bippassistant.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "birchandfog.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bis-jeddah.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bjargradakerfi.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bjerregaard.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bjugard.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bk-maklerbuero.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bkphcoop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blastedmirror.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blasunafotocadadia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blazerworks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blessingtransportbromoijen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bloomfield-investment.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bluedotsigns.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bluetape.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blurbhack.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bnpl.kz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bo.ke", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boatandsailboat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boatyardx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boctok.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bokepav.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boldinsight.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boldinsight.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bomanufacture.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bonfire.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bonwari.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bookchums.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bookitlive.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bookmark.porn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bostonfast.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brainps.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "braziliantop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "britannia-jewellery.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "btsresearch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bu-e.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bucapositano.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bugbountytip.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "buildingcleaningchicago.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "buildwealth.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "burb.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bureau-store.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bureauzelfstandigenfryslan.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "burger.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "burgerking.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "burina.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "burnus.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "business-impulse.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "businesssupportbywilma.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caaworstroads.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cacatspurcat.gay", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cactusplumbingandair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cafebab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caffeineandconcrete.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cagrierdogdu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "calconnectionnews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "campbellavedental.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "canon-printerapps.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "canondrivers.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "canopyservicing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cantinhodoiphone.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "car-hire-lisbon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "carbid.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caricatureavenue.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caringkitsforkids.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "carvoeiro-car-hire.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "casacenina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "casacenina.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "casacenina.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "casacenina.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "casasbandeirantes.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "catcafe.gg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "catphysics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "catrins-kunst.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cattaingroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ccvr6smarthome.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ceenic.ltd", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ceeteegee.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "centraldegovernanca.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "centralisgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "centrodavida.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cerammind.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "certaireland.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "certidaonc.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "certifiedbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "changeupinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "character-count.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "check-redirect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chefscraftgourmet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cheminsderando.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chesstouring.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chewinggumremovalchicago.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chicagoconcretecleaning.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chicagopowercleaning.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chicagopowerwashing.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chicagopowerwashingservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chicagopressurewashing.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chillplanet.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chirointellect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chiropractorlongmontgpa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "choosecharterelectric.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "christreformedchurchdfw.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "christtheshepherdvineland.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cibernicola.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ciceksohbet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cinnamon.bot", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "circuloescola.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "city-adm.lviv.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cityofdartmouth.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cjri.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cleanertool.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cleaningsolutioncorp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "climaventa.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cloudbytesconnect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cloudmax.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cloudsecurityalliance.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "club-no4.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clubmacadamia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clubmacadamia.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clubmacadamia.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clubzap.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cnews.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coastalsignsplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "codingame.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "codingame.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "comicborgs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "comitedal974.re", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "commander-seo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "commo.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "communityparentsinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "compensadosbello.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "concretepressurewashing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "connectenefit.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "connies-diner.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "conorjwryan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "conserviengenharia.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "contactbadger.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coolagent-dokumenty.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "corn.az", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cornips.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "corride.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cosmeticosprofissionais.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cosplaypedi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "costravel.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coursesidekick.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "craftutor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crashgambler.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crazytunaaz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cristiaen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crossuniverse.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crownednetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crunchr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cryne.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cryptobet.guru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "csabinext.dyndns.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "csacloudtrustsummit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cuhadardokuma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "curiouscast.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cuubconsultancy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cyberpoint.az", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "daddyschickenshack.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "daddysfranchising.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dadrian.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "daemus.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "daftarpaketc.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dailyfish.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dair.community", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "damsafety.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "danaandnathan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "danielnaaman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dansasphaltmaintenance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dapurosyom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dashipping.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dataentry.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "datatruckers.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "daugoitot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "davidebaraglia.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "davidn.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dbfopraga-pn.waw.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dcklvr.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "decamidea.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "definitivepressurewashing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "defriesezaak.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "demobiliteitfinancier.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "denispiknjac.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "denverfootballofficials.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "depolauncher.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dermatologistmumbai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dev-digibtw.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dghyp-kiel.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dghyp.net.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dhavalvira.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "diefotogruppe.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "digibtw.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "digiscrap.plus", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "digital-park.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "digitalwasteland.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "digitizingninjas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dimamergel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "disability-card.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "disisto.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dixifuar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dler.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dmitryg.name", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dmtcustoms.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dnastaffinginc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "do.ne", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "docugatetest.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doineedanmdm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dominatorauckland.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dominicinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "domino.com.ge", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "domotics101.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dongbd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dontwastethewood.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doridev.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dotker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dowina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dozor.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dp7.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "draagmerriecentrale.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dremble.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drjoaquimserraodecastro.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "droidafrica.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dropden.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dsy4567.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dths.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dunbarmoving.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dw-connect.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dw6.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dxcv.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dz68.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dzhyp.ag", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "e-marlenka.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "e02.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eagleseven.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eahea.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "early-etudes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "easyishare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "easyrpg.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "easywrite.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ebics.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ebics.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ebics.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ebony.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eccoilmenu.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecity.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eclipsesuite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecofinancing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "efeel.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ehostinguk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elbiahosting.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elektiriklidireksiyontamiri.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elevaweb.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ellingworth.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elliotbrandwein.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elvikom.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "emamiltd.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "emocionestlp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "emulator.wtf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "enefitconnect.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "engagingcontents.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "english.events", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "entasyonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "epm-bg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "epofta.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eprimego.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "equestrianvaulting.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "equil.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "erinias.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "escale-communication.bzh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "esmalglass-itaca.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "estrategiasfm.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eurohell-design.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eurohell-design.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evaks.az", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eventoscisco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "everstrike.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evitacion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evocate.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ewaroeng.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exampaperarchive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "excellarate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exusi.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exzotikfruit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fabarm.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fabian-praschl.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "facescertification.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "faimmobiliare.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "familjenosterlund.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fariya.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "faro-car-hire.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fassiportugal.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fastfast.click", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fasthostin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fdworlds.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fedistatus.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fedistatus.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fedistatus.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fediver.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fediver.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fediver.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fedivercity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fedivercity.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fedivercity.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fedivercity.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "femme.fitness", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fenstar.az", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ferienwohnung-wilmersdorf.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ferrumformat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffaaa00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffaaa11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffaaa22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffaaa33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffaaa44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffaaa55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffaaa66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffaaa77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffaaa88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffaaa99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffbbb00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffbbb11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffbbb22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffbbb33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffbbb44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffbbb55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffbbb66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffbbb77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffbbb88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffbbb99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffccc00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffccc11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffccc22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffccc33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffccc44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffccc55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffccc66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffccc88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffccc99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffclinic.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffddd00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffddd11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffddd22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffddd33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffddd44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffddd66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffddd77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffddd88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffddd99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffeee00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffeee11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffeee22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffeee44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffeee55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffeee66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffeee77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffeee88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffaa00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffaa22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffaa33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffaa44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffaa55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffaa66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffaa77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffaa88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffaa99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffbb00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffbb11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffbb22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffbb44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffbb55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffbb66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffbb88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffbb99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffcc00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffcc11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffcc22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffcc33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffcc55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffcc66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffcc77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffcc88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffcc99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffdd00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffdd11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffdd22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffdd33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffdd44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffdd55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffdd66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffdd77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffdd88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffdd99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffee00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffee11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffee22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffee33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffee44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffee55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffee66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffee77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffee88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffee99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffgg00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffgg11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffgg22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffgg33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffgg44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffgg55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffgg66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffgg77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffgg88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffgg99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffhh00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffhh11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffhh22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffhh33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffhh44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffhh55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffhh66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffhh77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffhh88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffhh99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffii00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffii11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffii22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffii33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffii44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffii55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffii66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffii77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffii88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffii99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffjj00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffjj11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffjj22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffjj33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffjj44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffjj55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffjj66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffjj77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffjj88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffjj99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffkk00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffkk11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffkk22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffkk33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffkk44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffkk55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffkk66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffkk77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffkk88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffkk99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffll00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffll11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffll22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffll33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffll44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffll55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffll66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffll77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffll88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffll99.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffmm00.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffmm11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffmm22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffmm33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffmm44.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fffmm55.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fidell.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fieryaura.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "filipn.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "findjeen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "findyouridealpartner.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "finst.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fireperformerstoronto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fjewellery.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fjnuacm.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fkgfw.men", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flatmail.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flexforcemonkey.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "florisbrunet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fluffy.tools", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flugsvamp.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flyforpoints.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flyzold.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "folwia.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fomobremen.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "food-animall.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "food4me.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "forbiddenshelf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "foreignassistance.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "forgejo.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "formalistgallery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fornaxmall.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fortressofsolitude.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fougereettralala.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "foundationdevices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fraai.agency", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "francenum.gouv.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "francishouserecovery.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "freak-waves.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "freefinancialhelp.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "frenger.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "friotemp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "friotemp.com.pe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "frontmeedia.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fruitdiva.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fudsend.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "furniturestrends.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "futunk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "futunk.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fvg.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fwr.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gabare-loire.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "galecommercial.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gallerywestframeplant.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ganaha.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "garcia-leplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "garcialeplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gastrosfera.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gatewaytrust.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gcb.com.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gd1214b.icu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gemhunter.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gemmasfashion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "geoscout.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "geotextil.ec", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "germancoding.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gestione-certificazioni.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "getcyber.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gfetoken.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "giakki.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "giftpoint.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gilbert-schmalriede.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gildapearl.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gilsanchez2009.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "github.partners", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gk-software.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "globeprotocol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gloria-mundi.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gluglu.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gnhe.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gnomon-transport.com.ng", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "go.ne", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goldenspikeartisans.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goteamproclean.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "greatplains.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "greenbat57.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "growblocks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grunttoziemia.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gtanalytics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gtek.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "guenstiger-it-support.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gurselcetin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gust.org.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "guymenje.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gvdn.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gyanchowk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "h07.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "haakdes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hackintosh.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hadzaproperty.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "halfmba.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hamza.estate", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hanan.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "handymanfinder.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hanlonconcrete.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hanoilap.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hapfox.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "happeopleindonesia.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hasas-automatizari.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hasas-cnc.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "haus-maritchen.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hausdorf.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hazlocheaters.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hcmuehlethurnen.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "he-sb.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "he-sb.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "he-sb.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hearty.gift", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "heat-press.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "heathersnotes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "helpwise.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "helsinki-systems.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "herbalcart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hermitant.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "heveacom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hexaunits.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "highperfection.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "himawari-shika.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hippolini-herold.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hissgruppen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hiyuki2578.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hizhina-hagrida.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hkamran.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hokko.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "holarse.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "holdeminside.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hornetshop.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "horneytownbrewing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hospimedia.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "host-heberg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "host24.com.pk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hostmore.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hostpress.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hotel-kornwestheim.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hotelponcowinatan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "howardkaplanbooks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hpm.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hqy2000.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "human-centricity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hungarianeducationagency.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hydra.az", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "icasnetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "icrc.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "idawallen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ideericette.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "idev.games", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iemail.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "illusiveshop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "indobrains.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "induehorse.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "indyperio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infiniteid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infokekinian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infotv.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infrapedia.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inimicalpart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inmoveskates.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "innosol.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "innov.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intellicyb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intelligenceia.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "interview-test-taker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ioctl.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iolabs.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ipl.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ipsculemborg.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iquitosmall.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iratechwatch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ireis.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "isabellahoopsentertainment.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "isc.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ischia2.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iskaz.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "istec.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "it-wars.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "italianerd.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "itcompanies.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "itx.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "itxnorge.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "itxuc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ivn555.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ivn777.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ivtuning.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "izaban.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "izemporium.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "izmirde.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "j05.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "j3.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "j365.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jambapp.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jameshenderson.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jamiehenrybrown.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jan-koek.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "janulkowedomki.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "japornpics-video.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jasminum.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jellybeanpress.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jembatankasihbali.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jenniferjoos.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jetsetretiree.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jevalide.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jimwhitesell.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jisaudavel.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jliu.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jlmirall.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jmarineau.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jobulk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jogosfutebolhoje.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jollyvibe.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jonathanpartlow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "joyouscare.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jp404.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jrjgarage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jrrw.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jtfew.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "justbraces.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "juvenalmaze.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kaamosmail.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kanali.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kantora-ivanova.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "karenza.design", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kariyermemur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kawuk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kdonkers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ke.ke", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "keepsmyrnabeautiful.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "keisukekimura.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kelderro.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kenyachildrencentres.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kerdry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kerozenn.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "keskraamatukogu.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "khayal-3d.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ki.ki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kidslearningchannel.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik-textilien.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik.hr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kik.si", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kikchat.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kimthanhvietnam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kimverly.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kingandmcgaw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kinoks.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kittleapps.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kiyokosimmons.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kk-bs.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "klaymemez.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kleinhamilton.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "klimakamp.nu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kls-desk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "konyadireksiyonservisi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "konyadireksiyontamiri.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "korehomeinspections.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kosara.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "krimisound.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "krymp.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kryptosekken.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kueri.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kyke.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "l.td", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "l.tt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "l3p3.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "l4web.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "la-ruche.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laa.gov.ly", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laboratoriolopezsalcedo.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ladyboyreports.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lafeva.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lagalerieduchanvre.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lagos-car-hire.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lain.la", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lamborghi.ni", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "languagekeyboard.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "larchmontbuzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lariviereaux7pierres.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lavadoras.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lavkafreida.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "layxw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lazytapir.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lbk.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lea.pet", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leee.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leerox.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lem0n.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lemoncloud.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lemonsoftware.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leonardoferrera.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leonieroessler.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lepat.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leplus.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leplus.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lesoleilcafe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "letitfleet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "letitfleet.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lezhang.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lfc.com.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lianka.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lifco-industrie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lightningcollectors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lihaoyu.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lihj.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "limestonecleaningchicago.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lincolnparkpressurewashing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "link.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "linksecure.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "linzi.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lisabel.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lithiumhosting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "littlebig.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "littlechamp.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "liveflooring.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "liveroof.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "livewebtutor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lizzymcc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ljskatt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "log.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "logheavenvt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lois-bullion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "longboatlocal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "longbsants.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lorenzoprinci.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lovetablecloths.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lowell85.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lsfnet.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lskgreenacquisition.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lskgreencomponent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lskgreendevelop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lskgreenenergy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lsupg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "luca-app.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lucasjag.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lueira.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lukem.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lumixtar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lwems.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lyftservice.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "madebyesmel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "madeiraislandnews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "madisonpressurewashing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "madlife.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "magic-fly.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "magnetic-ink.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mahavirmandirpatna.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mahoney-it.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "makrufi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "malafidezoeker.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "managedwphosting.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mandatkollen.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "manofmanythings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mapa-airsoft-akci.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marbleceramiccorp.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marchqualitymeats.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "markowewesele.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marrakeche.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marvos.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maryetmarc.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "masterflitzer.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mastergrampartners.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mattfiore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maxtransport.az", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mcahm.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mcrot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mdvenoteca.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "medgyd.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "media-street.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mediahost.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "megasystem.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "memoriaacademy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meower.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metaiverse.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metalcon.az", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metalgo.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metrobank.com.ph", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metromark.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meuemby.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "michelson.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "microdot.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mignet.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mikrothink.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "milflove.live", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "milligandrivertraining.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mirri.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "misskey.art", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mitranlogistik.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mittilmeld.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "miweb.ec", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mixom.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mjf.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mjsys.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "modapharma.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "modernsaas.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mogyuchi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moirai.bzh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "molexces.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moneymet.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "monsalvat.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moraxyc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "motosierra10.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "motum.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moviemadness.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mrshish.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mtboutiques.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "muffins.cafe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mulder.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mundosat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myabakus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mydetailbox.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mygeek911.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myjobsearchengine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mynexus.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mypetsvetsltd.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myredfoxlabs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mystiko.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myswooop.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mzplumbingca.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "n11pro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nabc.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nakisa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nas-redes-sociais.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nasacxhacxha.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nationaljobservice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nativitychurchnj.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "naturalremediesnewyork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "naturebar.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "naturlife.co.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "naturlife.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "natviehealthcare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "naukriresults.co.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "naxsnaps.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nbl-forklift.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ncadc.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neishe.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nelswong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "netbeez.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "netnl.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "networld.to", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "netzwerk-kvp.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neukoppel.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neurococi.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neurohouse.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newannual.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newmedia.gotdns.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newplxx.gotdns.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newrelationshiptrust.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newspower.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newsteadccc.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neyco.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ngmx.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ngmx.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nhathaugiare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nickserve.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "niiucapital.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nikashoping.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nikastores.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nikolamilekic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nitro.az", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "niyen.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nkyrtl.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nogema.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "norcconcrete.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "northshorevisitor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nossossegredos.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nostring.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "npowerbusinesssolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nrc.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nullroute.wtf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nyanners.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "o6i.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oasis.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "obeid.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "occam-consulting.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "octaon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "odeliabridal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ogon.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ohbutt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "okayama-sengoku-project.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "okiram.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "okrodrigo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "olemon.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oliverhough.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "olkywade.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "omira.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onehorizon.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onemix.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ongelukvandaag.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "opieoils.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "optionskredit.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oqkd.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "orelferm.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "orionenerji.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "osrsmap.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "otoxp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "outrunstudio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ovomope.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oxidecomputer.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oxidecomputer.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paintpaina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paketconline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pakistanichatzone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paltin-petruvoda.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pancani.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pandamo.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pandorrah.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paolomarzano.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paolomoriggia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "papercanyon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paqtam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "parkcheap.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "parker-pllc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "parkinggaragepressurewashingchicago.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "partner-summit-2023.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paseka-putilinyh.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paulmilligan.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pausado.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paypac.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "payraise.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pcmscientific.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peamotocenter.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peels.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pentechmc.blog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "performancetillagebolt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "perusal.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "perusal.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peterhall.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pfgl.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pharmastuff.org.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "philipmorrisdirect.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "philippwinterberg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "phive.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "phoneswiz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "photonclub.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "picoulumber.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pilbaraports.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pinboxx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pinnacleholdings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "piresroutes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pitajrobota.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pixelwraps.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plasma.nl.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plexopedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pliroforikikoufopoulou.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plumbingbear.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plus.st", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plztoy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pmibags.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pmscomputers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pointnull.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "porncomp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "portugal-car-hire.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "post.how", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "post.kim", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pqforce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "praisehim.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "preescolarsteps.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "preferredservice.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pregnantorcrazy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prendashop.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "priano.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "primeventos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "primrose-2.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "printersdrivers.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "privateboat.amsterdam", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "procursus.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prod-corn.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "produtoitaliano.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "profilmedecin.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "progamersquad.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "proi.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "projects.nl.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "promocoespg.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pronandi.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prooffice.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ps2.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "psychpsyo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "publicdelivery.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "puntoaparte.pe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "puravida-estate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "puritas.lk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "purrpley.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "purrpley.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "purrrpley.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "purrrrpley.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pwneytelecom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pws.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pybilgi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "q8-press.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qm8828.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qm8888.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quashed.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "queerspirit.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quesys.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quicareer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rabbitdns.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rabbitsearch.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "radiantawards.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "radioilusion.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rainbowsushi.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rambus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rancakmedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rayrekruiters.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rb.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rbclub.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rdm.lu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rdmc.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reactive-load.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "readycentbid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "realbokep.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rebecamode.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rebuild96.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rechtsanwalt-loesener.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "recruitpedia.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "recruitpediacorp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "redteam.coach", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reffect.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rehomeconnect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rehzzo.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reishikitchen.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reishikitchen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reishiplantkitchen.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reishiplantkitchen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rekursion.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "releve-analyser.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "renoboston.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "renovalar.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rently.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reporthy.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "repstalent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rescuenode.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "residentialpressurewashingchicago.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "residentinfo.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "restaurantcleaningchicago.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "revol.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "revton.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rheincargo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rhsbl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "richiebartlett.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rim-kardzhali.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rim-kardzhali.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rinabhabra.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "robkaper.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roboto.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rockfordpressurewashing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rockitreports.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roissystories.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roll9.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "romdrop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ron.today", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roofhaven.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rootroo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roslagenshiss.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rossmeisl.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "routedor.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rphangx.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rpts.edu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rssproject.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rstadler.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rtec.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ruageek.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ryd.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rydercragie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ryfma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ryoch.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "s-deal.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "s.td", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "s.tt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "s6n.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "safensoundstoragegroton.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "safleo.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "saisecure.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "salesforceliveagent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "saleskeyonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "salonboothuren.amsterdam", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "salterbrothers.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "samson-td.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "samuraichair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sandybolton.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sanne-content.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sante.akita.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sassyporkchop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sbcbatangas.edu.ph", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sbeech.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scdn.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scentiche.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schachingerfilm.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schanksysteme.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schlouk-map.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schooltransport.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scoachingtherapy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scottech.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sealing.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seatingworldindia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seavision-group.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seavision.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "securly.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seistrup.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "selfiestick.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sellyboard.company", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "semperincorde.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sempersolaris.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "senat.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sentir.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "serenauziyel.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sergiopimpao.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sewandblossom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shadow-group.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shadow-ninjas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shapers-production.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shipkirana.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shoutoutclassy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shsadmission.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sibgold.su", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sidewalkpressurewashingchicago.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "siepomaga.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "silverbankltd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "silvullet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simac.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simplerezo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simsim.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simulus.training", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "singlesproject.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "singularityparity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sirenequestrianvaulting.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sirenequestrianvaulting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sirenvaulting.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sirenvaulting.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sirenvaulting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sirenvaulting.group", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sitesignal.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sk4y.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skip.re", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sky-driver.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skyevg.systems", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "slangshop.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "slashorg.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "slaveykov.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smartius.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smd-studio.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sniderman.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "socialarchive.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sociality.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soda-pops.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soft-resets.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "solarscan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soldered.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "solidray.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "solsombra-abdl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sorrentoparking.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soulshare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soulshare.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soundersmusic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sourse.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sova.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sp-teploobmen.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spacesedu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spainemotions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "speakandgo.education", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spectrum.co.ae", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spellmanamp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spencerfane.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spireat.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "splconsulenza.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spmttest.azurewebsites.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sport-attitude.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sporyayinevi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spotpetins.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spotpetinsurance.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spowtr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sprocktech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "srcbolt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "staffsocial.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "standard-wohnungsbaukredit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "starelabs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "starter.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "statecareercenter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "statejobcenter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stats.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "steak-kojiro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "steingergreenefeiner.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stonkslab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stophoax.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "storefrontcleaningchicago.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "strategicmind.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stritai.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "studybeans.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stunningbikecotours.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "styletyx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suburb.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sukhumvit-psycho.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "summaryexecution.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "summaryexecution.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "summaryexecution.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sunoven.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "supazena.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "super-60.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "super60.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "supplhi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "surelyhired.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "swaglookbook.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sweetheartvideo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sxcvid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "syndika.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sypper250.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sysdams.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "szabadpingvin.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "szamlarobot.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tablosec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tachikoma.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tackleundies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tagsweekly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "takethatfile.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tamracapital.sa", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tanknology.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "taraiid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tarsusrx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tatilsepeti.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tcmskarate.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "techikoma.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "technikoma.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "technikoma.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "technikoma.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "technocracy.works", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teensifynews.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teknatekno.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tekpon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tele-teen.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teleteen.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "temofoundation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tendaqu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "terapower.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teremopt.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "testbench.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teuton.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teverzamelen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "texasintegratedservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teyyib.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thatch.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thatchhealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thebus.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thecatcritic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thefriendlyplant.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thegeektools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thegiftorganisation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thelangfords.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thelangfords.id.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thelearninggardener.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "themayanah.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theome.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theparthub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thepressurewashingdirectory.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "therap-up.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theseotool.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thetorturedman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theworldaccordingtocathers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thomas-leplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thomasleplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "threadabead.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ticketfan.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "till.fyi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "timeswath.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tingalpakindy.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tinh.work", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tinytwitter.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tleplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tlmedia.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tmryan.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tntbooks.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "todofiesta.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "toimitaax.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tominysun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "top10boeken.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "topemlak.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "topmaxstore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "topprogaragedoor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "topsights.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tortimes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "touchofjapan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tradition.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trakmd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "transactpaymentsltd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "transsensual.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trastornoevitacion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "travelthing.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trideum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trimill.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tripozo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tropicalstandard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "truyenmoizz.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tryckpa.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tsg0o0.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tsgbcs.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tsico.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ttkiel.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ttunda.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tu-muenchen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tuinmeubelkorting.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "turkista.ae", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tursa.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tusar.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tvkaista.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tvkaista.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tvkaista.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "u05.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ubimail.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ukbusiness.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ukbusinessenergy.claims", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ukiuki.photography", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unblockit.bio", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uncoveringnarcolepsy.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unifiedwellness.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unit-linked.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unitedhomeservices.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unniehallyu.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unope.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uparcel.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "upbeatrobot.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "update.or.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uprawnienia-1kv.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uwdigitaleboekhouder.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "valleysupply.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vanish.industries", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vanwa.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vatlieuhay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vccload.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vdrei.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vema-bg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vendorful.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vera-1.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "veronicca.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vertragsfix.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "veteransfirstwatch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vetinfo.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vhosting-it.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "via1buynow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vibromax.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vibromax.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vibromax.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "video-lab.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vilamoura-car-hire.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vineeth.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "virginiahiltpeletti.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "visittamborinemountain.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vitabrillanti.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "viviendacoomeva.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vivos.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vkgroup.az", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "voidhacker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "voom.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vouchergoat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vukhoidecor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "w03.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "w398.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "waldorf-harduf.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wangcun.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "warengroup.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "watchthis-svp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "waterlandtuinen.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "watto29.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wavelifesciences.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wayaberolodge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "waynefarms.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wdpowerenergy.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "web-direct.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webhostingmagic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webtelegram.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weekly-news.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weirdork.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weirdork.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weirdork.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weirdork.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weirdorks.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weirdorks.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weirdorks.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weis.duckdns.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wesermarsch-bauelemente.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "west2.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wholegrace.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whyteryan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "willkie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "windycitypressurewashing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wineexperience.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "withamscouts.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wohnungsbaukredit.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wohnungsbaukredit.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wonderpages.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "woody-art.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wootality.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "workoutdigital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wotlo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wp-rebuild.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wpsv.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wrecky.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wrenchess.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wu-y.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wurzelchaos.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wybar.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "x61.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xc01.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xc02.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xc03.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xc06.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xc07.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xc08.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xc09.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xc12.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xc15.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xcw888.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xcw8886.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xcw8888.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xcw8889.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xehopdongmuine.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xejaf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xenttrum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xhamiadituria.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xido.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xiufe.ng", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xmisystems.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn----itbanmp3ae.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn----mtbckubhv.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--bjugrd-lua.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--c5w032d4vi.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--c5wy5c025b.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--e1aajkmzd.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--g1abhqbgs.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--h1aaakmzd.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--mes55iczlylk.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--t8qu4voqikh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xnop.yt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xpremium.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xuexi.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xxxvv3.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xxxvv8.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xxxvv9.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xxyy.asia", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "y-erodoga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yanagibashi.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yatax.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ydt.am", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yksolutions.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yoga-vakantie-ibiza.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "you.bo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "youjob.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yuanbiji.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yxapp10.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yxapp20.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yxapp30.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yxapp43.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yxapp45.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yxapp46.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yxapp47.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yxapp48.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yxcpapp08.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yxcpapp09.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yxcpapp13.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zagcomunicazione.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zapier.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zbranetlapak.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zdravec-bg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zeeg.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zenit505.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zenseal.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zgmining.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     // END OF 1-YEAR BULK HSTS ENTRIES
 
     // Only eTLD+1 domains can be submitted automatically to hstspreload.org,
diff --git a/net/http/transport_security_state_static.pins b/net/http/transport_security_state_static.pins
index 50a0a3a..41f3265 100644
--- a/net/http/transport_security_state_static.pins
+++ b/net/http/transport_security_state_static.pins
@@ -43,9 +43,9 @@
 #   hash function for preloaded entries again (we have already done so once).
 #
 
-# Last updated: 2023-02-24 12:54 UTC
+# Last updated: 2023-02-25 12:56 UTC
 PinsListTimestamp
-1677243266
+1677329788
 
 TestSPKI
 sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
diff --git a/testing/buildbot/chromium.chromiumos.json b/testing/buildbot/chromium.chromiumos.json
index 7c1c548a..cd3919d2 100644
--- a/testing/buildbot/chromium.chromiumos.json
+++ b/testing/buildbot/chromium.chromiumos.json
@@ -5785,9 +5785,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -5799,8 +5799,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -5818,9 +5818,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -5832,8 +5832,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
@@ -5957,9 +5957,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -5971,8 +5971,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -5989,9 +5989,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -6003,8 +6003,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
@@ -6108,9 +6108,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -6122,8 +6122,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -6141,9 +6141,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -6155,8 +6155,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
diff --git a/testing/buildbot/chromium.coverage.json b/testing/buildbot/chromium.coverage.json
index 4e2da42..0b8c847 100644
--- a/testing/buildbot/chromium.coverage.json
+++ b/testing/buildbot/chromium.coverage.json
@@ -20453,9 +20453,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -20467,8 +20467,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -20486,9 +20486,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -20500,8 +20500,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
@@ -20625,9 +20625,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -20639,8 +20639,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -20657,9 +20657,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -20671,8 +20671,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
@@ -20776,9 +20776,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -20790,8 +20790,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -20809,9 +20809,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -20823,8 +20823,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json
index 00824f8..4e53565 100644
--- a/testing/buildbot/chromium.fyi.json
+++ b/testing/buildbot/chromium.fyi.json
@@ -48743,9 +48743,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -48756,8 +48756,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -48776,9 +48776,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -48789,8 +48789,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
@@ -48915,9 +48915,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -48928,8 +48928,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -48947,9 +48947,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -48960,8 +48960,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
@@ -49066,9 +49066,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -49079,8 +49079,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -49099,9 +49099,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -49112,8 +49112,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
@@ -50604,9 +50604,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -50617,8 +50617,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -50637,9 +50637,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -50650,8 +50650,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
@@ -50776,9 +50776,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -50789,8 +50789,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -50808,9 +50808,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -50821,8 +50821,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
@@ -50927,9 +50927,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -50940,8 +50940,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -50960,9 +50960,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -50973,8 +50973,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
@@ -51714,9 +51714,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -51727,8 +51727,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -51746,9 +51746,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -51759,8 +51759,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
diff --git a/testing/buildbot/chromium.memory.json b/testing/buildbot/chromium.memory.json
index 2ee7e4b..5aeb690 100644
--- a/testing/buildbot/chromium.memory.json
+++ b/testing/buildbot/chromium.memory.json
@@ -18497,12 +18497,12 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome",
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome",
           "--test-launcher-print-test-stdio=always",
           "--combine-ash-logs-on-bots",
           "--asan-symbolize-output"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -18514,8 +18514,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -18533,12 +18533,12 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome",
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome",
           "--test-launcher-print-test-stdio=always",
           "--combine-ash-logs-on-bots",
           "--asan-symbolize-output"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -18550,8 +18550,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
@@ -18689,12 +18689,12 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome",
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome",
           "--test-launcher-print-test-stdio=always",
           "--combine-ash-logs-on-bots",
           "--asan-symbolize-output"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -18706,8 +18706,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -18724,12 +18724,12 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome",
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome",
           "--test-launcher-print-test-stdio=always",
           "--combine-ash-logs-on-bots",
           "--asan-symbolize-output"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -18741,8 +18741,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
@@ -18855,12 +18855,12 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome",
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome",
           "--test-launcher-print-test-stdio=always",
           "--combine-ash-logs-on-bots",
           "--asan-symbolize-output"
         ],
-        "description": "Run with ash-chrome version 111.0.5563.31",
+        "description": "Run with ash-chrome version 111.0.5563.41",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -18872,8 +18872,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5563.31",
-              "revision": "version:111.0.5563.31"
+              "location": "lacros_version_skew_tests_v111.0.5563.41",
+              "revision": "version:111.0.5563.41"
             }
           ],
           "dimension_sets": [
@@ -18891,12 +18891,12 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome",
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome",
           "--test-launcher-print-test-stdio=always",
           "--combine-ash-logs-on-bots",
           "--asan-symbolize-output"
         ],
-        "description": "Run with ash-chrome version 112.0.5614.0",
+        "description": "Run with ash-chrome version 113.0.5616.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -18908,8 +18908,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v112.0.5614.0",
-              "revision": "version:112.0.5614.0"
+              "location": "lacros_version_skew_tests_v113.0.5616.0",
+              "revision": "version:113.0.5616.0"
             }
           ],
           "dimension_sets": [
diff --git a/testing/buildbot/variants.pyl b/testing/buildbot/variants.pyl
index b049609..a8a272f 100644
--- a/testing/buildbot/variants.pyl
+++ b/testing/buildbot/variants.pyl
@@ -22,16 +22,16 @@
   },
   'LACROS_VERSION_SKEW_CANARY': {
     'args': [
-      '--ash-chrome-path-override=../../lacros_version_skew_tests_v112.0.5614.0/test_ash_chrome',
+      '--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5616.0/test_ash_chrome',
     ],
-    'description': 'Run with ash-chrome version 112.0.5614.0',
+    'description': 'Run with ash-chrome version 113.0.5616.0',
     'identifier': 'Lacros version skew testing ash canary',
     'swarming': {
       'cipd_packages': [
         {
           'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip',
-          'location': 'lacros_version_skew_tests_v112.0.5614.0',
-          'revision': 'version:112.0.5614.0',
+          'location': 'lacros_version_skew_tests_v113.0.5616.0',
+          'revision': 'version:113.0.5616.0',
         },
       ],
     },
@@ -54,16 +54,16 @@
   },
   'LACROS_VERSION_SKEW_BETA': {
     'args': [
-      '--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.31/test_ash_chrome',
+      '--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5563.41/test_ash_chrome',
     ],
-    'description': 'Run with ash-chrome version 111.0.5563.31',
+    'description': 'Run with ash-chrome version 111.0.5563.41',
     'identifier': 'Lacros version skew testing ash beta',
     'swarming': {
       'cipd_packages': [
         {
           'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip',
-          'location': 'lacros_version_skew_tests_v111.0.5563.31',
-          'revision': 'version:111.0.5563.31',
+          'location': 'lacros_version_skew_tests_v111.0.5563.41',
+          'revision': 'version:111.0.5563.41',
         },
       ],
     },
diff --git a/third_party/blink/public/mojom/permissions_policy/PRESUBMIT.py b/third_party/blink/public/mojom/permissions_policy/PRESUBMIT.py
index 8fbfaa6..ad16bb5 100644
--- a/third_party/blink/public/mojom/permissions_policy/PRESUBMIT.py
+++ b/third_party/blink/public/mojom/permissions_policy/PRESUBMIT.py
@@ -56,7 +56,7 @@
 
 
 def _json5_load_from_file(file_path):
-    with open(file_path, 'r') as f:
+    with open(file_path, 'r', encoding='utf-8') as f:
         return _json5_load(f.read())
 
 
diff --git a/third_party/blink/renderer/core/dom/dom_high_res_time_stamp.h b/third_party/blink/renderer/core/dom/dom_high_res_time_stamp.h
index 4c8ab5e5..2ba58c2 100644
--- a/third_party/blink/renderer/core/dom/dom_high_res_time_stamp.h
+++ b/third_party/blink/renderer/core/dom/dom_high_res_time_stamp.h
@@ -16,6 +16,10 @@
   return milliseconds / base::Time::kMillisecondsPerSecond;
 }
 
+inline DOMHighResTimeStamp ConvertTimeToDOMHighResTimeStamp(base::Time time) {
+  return static_cast<DOMHighResTimeStamp>(time.ToJsTimeIgnoringNull());
+}
+
 }  // namespace blink
 
 #endif  // THIRD_PARTY_BLINK_RENDERER_CORE_DOM_DOM_HIGH_RES_TIME_STAMP_H_
diff --git a/third_party/blink/renderer/core/frame/deprecation/deprecation.json5 b/third_party/blink/renderer/core/frame/deprecation/deprecation.json5
index 16275bb..c94ba70 100644
--- a/third_party/blink/renderer/core/frame/deprecation/deprecation.json5
+++ b/third_party/blink/renderer/core/frame/deprecation/deprecation.json5
@@ -483,6 +483,16 @@
       milestone: 97,
     },
     {
+      name: "RTCPeerConnectionGetStatsLegacyNonCompliant",
+      message: "The callback-based getStats() is deprecated and will be removed. Use the spec-compliant getStats() instead.",
+      translation_note: "WebRTC is set of JavaScript APIs for sending and receiving data, audio and video. getStats() is a method used to obtain network and quality metrics. There are two versions of this method, one is being deprecated because it is non-standard.",
+      web_features: [
+        "kRTCPeerConnectionGetStatsLegacyNonCompliant",
+      ],
+      chrome_status_feature: 4631626228695040,
+      milestone: 117,
+    },
+    {
       name: "RtcpMuxPolicyNegotiate",
       message: "The `rtcpMuxPolicy` option is deprecated and will be removed.",
       translation_note: "A deprecation warning shown in the DevTools Issues tab. It's shown then a video conferencing website attempts to use the `RTCP MUX` policy.",
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_filter.idl b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_filter.idl
index a2301230..773ffe0 100644
--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_filter.idl
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_filter.idl
@@ -4,8 +4,9 @@
 
 typedef (object or FrozenArray<object>) CanvasFilterInput;
 [
-    Exposed=(Window,Worker,PaintWorklet)
+    Exposed=(Window,Worker,PaintWorklet),
+    RuntimeEnabled=Canvas2dCanvasFilter
 ] interface CanvasFilter {
 
     [CallWith=ExecutionContext, RaisesException] constructor(CanvasFilterInput init);
-};
\ No newline at end of file
+};
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc b/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
index 02bfd73a..3542526f 100644
--- a/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
+++ b/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
@@ -9,7 +9,7 @@
 #include "services/network/public/mojom/cookie_manager.mojom-blink.h"
 #include "third_party/blink/renderer/bindings/modules/v8/v8_cookie_change_event_init.h"
 #include "third_party/blink/renderer/bindings/modules/v8/v8_cookie_list_item.h"
-#include "third_party/blink/renderer/core/timing/epoch_time_stamp.h"
+#include "third_party/blink/renderer/core/dom/dom_high_res_time_stamp.h"
 #include "third_party/blink/renderer/modules/event_modules.h"
 #include "third_party/blink/renderer/platform/heap/visitor.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
@@ -112,7 +112,7 @@
       list_item->setExpires(absl::nullopt);
     } else {
       list_item->setExpires(
-          ConvertTimeToEpochTimeStamp(canonical_cookie.ExpiryDate()));
+          ConvertTimeToDOMHighResTimeStamp(canonical_cookie.ExpiryDate()));
     }
   }
 
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_init.idl b/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
index 49fa741..93aca7f3 100644
--- a/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
+++ b/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
@@ -15,7 +15,7 @@
   required USVString value;
   USVString? domain = null;
   USVString path = "/";
-  EpochTimeStamp? expires = null;
+  DOMHighResTimeStamp? expires = null;
   CookieSameSite sameSite = "strict";
   [RuntimeEnabled=PartitionedCookies] boolean partitioned = false;
 };
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_list_item.idl b/third_party/blink/renderer/modules/cookie_store/cookie_list_item.idl
index d7bb1f0..30e3c645 100644
--- a/third_party/blink/renderer/modules/cookie_store/cookie_list_item.idl
+++ b/third_party/blink/renderer/modules/cookie_store/cookie_list_item.idl
@@ -9,7 +9,7 @@
   USVString value;
   USVString? domain;
   USVString path;
-  EpochTimeStamp? expires;
+  DOMHighResTimeStamp? expires;
   boolean secure;
   CookieSameSite sameSite;
   [RuntimeEnabled=PartitionedCookies] boolean partitioned;
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
index ef2bf73..2462d71 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
@@ -1679,8 +1679,8 @@
   auto* resolver = MakeGarbageCollected<ScriptPromiseResolver>(script_state);
   ScriptPromise promise = resolver->Promise();
 
-  UseCounter::Count(context,
-                    WebFeature::kRTCPeerConnectionGetStatsLegacyNonCompliant);
+  Deprecation::CountDeprecation(
+      context, WebFeature::kRTCPeerConnectionGetStatsLegacyNonCompliant);
   auto* stats_request = MakeGarbageCollected<RTCStatsRequestImpl>(
       GetExecutionContext(), this, success_callback, selector);
   // FIXME: Add passing selector as part of the statsRequest.
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index 68d9986..0f2be39 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -497,6 +497,11 @@
       status: "stable",
     },
     {
+      name: "Canvas2dCanvasFilter",
+      status: "experimental",
+      base_feature: "none",
+    },
+    {
       name: "Canvas2dImageChromium",
       base_feature: "none",
       public: true,
diff --git a/third_party/blink/tools/blinkpy/common/config/PRESUBMIT.py b/third_party/blink/tools/blinkpy/common/config/PRESUBMIT.py
index 8def37a..def1c53 100644
--- a/third_party/blink/tools/blinkpy/common/config/PRESUBMIT.py
+++ b/third_party/blink/tools/blinkpy/common/config/PRESUBMIT.py
@@ -20,9 +20,9 @@
     generic_test_expectation = input_api.os_path.join(this_dir,
         '..', '..', '..', '..', 'web_tests', 'TestExpectations')
     if builders_json_file in input_api.AbsoluteLocalPaths():
-        with open(generic_test_expectation) as f:
+        with open(generic_test_expectation, encoding='utf-8') as f:
             tags = f.readline().rstrip()
-        with open(builders_json_file) as f:
+        with open(builders_json_file, encoding='utf-8') as f:
             builders = input_api.json.load(f)
             for key, value in builders.items():
                 tag = value["specifiers"][0]
diff --git a/third_party/blink/web_tests/SlowTests b/third_party/blink/web_tests/SlowTests
index 3a2e22f..a309fa81 100644
--- a/third_party/blink/web_tests/SlowTests
+++ b/third_party/blink/web_tests/SlowTests
@@ -24,7 +24,6 @@
 crbug.com/24182 [ Mac10.15 Release ] storage/indexeddb/mozilla/test_objectStore_openKeyCursor.html [ Slow ]
 crbug.com/24182 [ Mac11 Release ] storage/indexeddb/mozilla/test_objectStore_openKeyCursor.html [ Slow ]
 crbug.com/24182 [ Mac12 ] storage/indexeddb/mozilla/test_objectStore_openKeyCursor.html [ Slow ]
-crbug.com/24182 [ Mac12-arm64 Release ] storage/indexeddb/mozilla/test_objectStore_openKeyCursor.html [ Slow ]
 crbug.com/24182 [ Release Win ] storage/indexeddb/mozilla/test_objectStore_openKeyCursor.html [ Slow ]
 crbug.com/24182 editing/selection/modify_move/move-by-word-visually-mac.html [ Slow ]
 crbug.com/24182 compositing/culling/filter-occlusion-blur-large.html [ Slow ]
@@ -647,7 +646,6 @@
 crbug.com/874695 http/tests/workers/shared-worker-in-iframe.html [ Slow ]
 crbug.com/874695 http/tests/workers/shared-worker-usecounter.html [ Slow ]
 crbug.com/874695 http/tests/xmlhttprequest/navigation-abort-detaches-frame.html [ Slow ]
-crbug.com/874695 [ Debug Mac12 ] http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-aborted.html [ Slow ]
 crbug.com/874695 [ Release ] http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-aborted.html [ Slow ]
 crbug.com/874695 [ Release ] http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-overridesexpires.html [ Slow ]
 crbug.com/874695 [ Debug Linux ] http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-simple.html [ Slow ]
@@ -689,7 +687,6 @@
 crbug.com/874695 media/video-controls-focus-movement-on-hide.html [ Slow ]
 crbug.com/874695 [ Debug Linux ] media/video-controls-hide-after-touch-on-control.html [ Slow ]
 crbug.com/874695 [ Release ] media/video-controls-hide-after-touch-on-control.html [ Slow ]
-crbug.com/874695 [ Debug Linux ] media/video-controls-hide-on-move-outside-controls.html [ Slow ]
 crbug.com/874695 [ Release ] media/video-controls-hide-on-move-outside-controls.html [ Slow ]
 crbug.com/874695 [ Debug Mac12 ] media/video-controls-show-on-focus.html [ Slow ]
 crbug.com/874695 [ Release ] media/video-controls-show-on-focus.html [ Slow ]
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 319c642..2ce3e4b6 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -1546,23 +1546,6 @@
 # values and mathvariant attribute. Currently, we only support the new
 # text-transform: auto, use the UA rule for the <mi> element and map
 # mathvariant="normal" to "text-transform: none".
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-bold-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-bold-fraktur-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-bold-italic-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-bold-sans-serif-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-bold-script-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-double-struck-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-fraktur-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-initial-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-italic-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-looped-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-monospace-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-bold-italic-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-italic-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-script-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-stretched-001.tentative.html [ Failure ]
-crbug.com/1076420 external/wpt/css/css-text/text-transform/math/text-transform-math-tailed-001.tentative.html [ Failure ]
 crbug.com/1076420 external/wpt/mathml/relations/css-styling/mathvariant-bold-fraktur.html [ Failure ]
 crbug.com/1076420 external/wpt/mathml/relations/css-styling/mathvariant-bold-italic.html [ Failure ]
 crbug.com/1076420 external/wpt/mathml/relations/css-styling/mathvariant-bold-sans-serif.html [ Failure ]
@@ -1875,7 +1858,6 @@
 crbug.com/944583 [ Mac11-arm64 Release ] fast/scrolling/percentage-mousewheel-scroll-on-iframe.html [ Failure Pass ]
 crbug.com/944583 [ Mac12 ] fast/scrolling/percentage-mousewheel-scroll-on-iframe.html [ Failure Pass ]
 crbug.com/944583 [ Mac12-arm64 Release ] fast/scrolling/percentage-mousewheel-scroll-on-iframe.html [ Failure Pass ]
-crbug.com/944583 [ Debug Mac13-arm64 ] fast/events/platform-wheelevent-paging-y-in-scrolling-page.html [ Failure Pass Timeout ]
 # Sheriff: 2020-05-18
 
 # In external/wpt/html/, we prefer checking in failure
@@ -2036,7 +2018,6 @@
 
 # Inseparable characters
 crbug.com/1091631 external/wpt/css/css-text/line-break/line-break-normal-015a.xht [ Failure ]
-crbug.com/1091631 external/wpt/css/css-text/line-break/line-break-strict-015a.xht [ Failure ]
 
 # Not yet investigated
 crbug.com/1404464 external/wpt/css/css-text/bidi/bidi-lines-002.html [ Failure ]
@@ -2949,6 +2930,9 @@
 crbug.com/626703 [ Win ] virtual/partitioned-cookies/http/tests/inspector-protocol/network/disabled-cache-navigation.js [ Failure ]
 
 # ====== New tests from wpt-importer added here ======
+crbug.com/626703 virtual/plz-dedicated-worker/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.html [ Timeout Failure ]
+crbug.com/626703 [ Linux ] external/wpt/html/semantics/links/hyperlink-auditing/headers.optional.html [ Timeout ]
+crbug.com/626703 [ Mac13 ] external/wpt/html/semantics/links/hyperlink-auditing/headers.optional.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/IndexedDB/idb-explicit-commit.any.html [ Timeout ]
 crbug.com/626703 [ Mac12 ] external/wpt/IndexedDB/idb-explicit-commit.any.html [ Timeout ]
 crbug.com/626703 [ Linux ] virtual/fenced-frame-mparch/wpt_internal/fenced_frame/background-fetch.https.html [ Timeout ]
@@ -3042,7 +3026,6 @@
 crbug.com/626703 [ Linux ] external/wpt/webxr/hit-test/ar_hittest_subscription_inputSources.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/hit-test/ar_hittest_subscription_refSpaces.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/render_state_update.https.html [ Timeout ]
-crbug.com/626703 [ Debug Linux ] external/wpt/webxr/webxr_feature_policy.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/xrSession_end.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/xrSession_requestReferenceSpace_features.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/xr_viewport_scale.https.html [ Timeout ]
@@ -6830,6 +6813,9 @@
 # TODO(crbug.com/1403877): Deflake this test.
 virtual/portals/http/tests/devtools/portals/portals-elements-nesting.js [ Failure Pass ]
 
+# TODO(crbug.com/1419063): Deflake.
+http/tests/media/media-load-nonmedia-crossorigin.html [ Failure Pass ]
+
 # TODO(crbug.com/1404614): Fix this test on MacOS (sheriff 2023-01-03).
 crbug.com/1404614 [ Mac ] external/wpt/url/url-setters-a-area.window.html?exclude=(file|javascript|mailto) [ Failure Pass ]
 
@@ -6911,10 +6897,10 @@
 crbug.com/v8/13743 fast/forms/ValidityState-patternMismatch.html [ Failure Pass ]
 
 # To land rename CL in devtools repo
-crbug.com/1418045 http/tests/devtools/portals/portals-console.js [ Timeout Crash Failure Pass ]
-crbug.com/1418045 http/tests/devtools/portals/portals-elements-activate.js [ Timeout Crash Failure Pass ]
-crbug.com/1418045 http/tests/devtools/components/cookies-table.js [ Timeout Crash Failure Pass ]
-crbug.com/1418045 http/tests/devtools/oopif/oopif-elements-inspect.js [ Timeout Crash Failure Pass ]
-crbug.com/1418045 http/tests/devtools/network/request-name-path.js [ Timeout Crash Failure Pass ]
-crbug.com/1418045 http/tests/devtools/inspector-backend-commands.js [ Timeout Crash Failure Pass ]
-crbug.com/1418045 http/tests/devtools/sources/debugger-breakpoints/nodejs-set-breakpoint.js [ Timeout Crash Failure Pass ]
+crbug.com/1418045 http/tests/devtools/portals/portals-console.js [ Crash Failure Pass Timeout ]
+crbug.com/1418045 http/tests/devtools/portals/portals-elements-activate.js [ Crash Failure Pass Timeout ]
+crbug.com/1418045 http/tests/devtools/components/cookies-table.js [ Crash Failure Pass Timeout ]
+crbug.com/1418045 http/tests/devtools/oopif/oopif-elements-inspect.js [ Crash Failure Pass Timeout ]
+crbug.com/1418045 http/tests/devtools/network/request-name-path.js [ Crash Failure Pass Timeout ]
+crbug.com/1418045 http/tests/devtools/inspector-backend-commands.js [ Crash Failure Pass Timeout ]
+crbug.com/1418045 http/tests/devtools/sources/debugger-breakpoints/nodejs-set-breakpoint.js [ Crash Failure Pass Timeout ]
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
index efcfa0b..c3e1e7f 100644
--- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
+++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
@@ -182681,247 +182681,26 @@
      },
      "text-transform": {
       "math": {
-       "text-transform-math-auto-001.tentative.html": [
-        "f5f08f68b2ab8dbb515fbd19515d650fa4a3fc1f",
+       "text-transform-math-auto-001.html": [
+        "db5e5b86f49bd7732a1e32d5fbe7e6937321c487",
         [
          null,
          [
           [
-           "/css/css-text/text-transform/math/text-transform-math-auto-001.tentative-ref.html",
+           "/css/css-text/text-transform/math/text-transform-math-auto-001-ref.html",
            "=="
           ]
          ],
          {}
         ]
        ],
-       "text-transform-math-auto-002.tentative.html": [
-        "32bad74f94d682db15f893b5a61c85c113083ef7",
+       "text-transform-math-auto-002.html": [
+        "34e43e718e0baa3377417d82fd15bc01dc6d9134",
         [
          null,
          [
           [
-           "/css/css-text/text-transform/math/text-transform-math-auto-002.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-bold-001.tentative.html": [
-        "06b9ea6f6fdf72746e3e2b87e325df996eb93c0c",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-bold-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-bold-fraktur-001.tentative.html": [
-        "76de9454fe71de97447ad83385c2d1f75b0c3d1f",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-bold-fraktur-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-bold-italic-001.tentative.html": [
-        "9a03fc7f5480a47bb3e1fd8f34fcb7c11fea13ab",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-bold-italic-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-bold-sans-serif-001.tentative.html": [
-        "3cbfdb96a60da3e011dac8cb332637e5a0b24d09",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-bold-sans-serif-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-bold-script-001.tentative.html": [
-        "b61a573efc4c0f5978284a1ab615f3ce45545c38",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-bold-script-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-double-struck-001.tentative.html": [
-        "df656d684725dcec782fe60d8b8149b930ccf008",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-double-struck-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-fraktur-001.tentative.html": [
-        "99310b8fafc799f808aa894fe58adcd7bc308a11",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-fraktur-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-initial-001.tentative.html": [
-        "42f3be7a02feef42d7b50f04c02055d7eb7f6545",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-initial-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-italic-001.tentative.html": [
-        "86e9a84ae2df4f636c822ec389da82af80c07093",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-italic-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-looped-001.tentative.html": [
-        "d46cbc163b09e936dca486900527f394060a3e4c",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-looped-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-monospace-001.tentative.html": [
-        "86a4d113b25859174ef60aee1521b602b42a31c4",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-monospace-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-sans-serif-001.tentative.html": [
-        "41a5cc9453a2b72ae56318ac4e5b0528089c5b97",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-sans-serif-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-sans-serif-bold-italic-001.tentative.html": [
-        "955c54ab38d8b84827b19d170601d3730cf1c673",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-sans-serif-bold-italic-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-sans-serif-italic-001.tentative.html": [
-        "03afa9a0d15740582089cc2015a41e4e8cb7ecb1",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-sans-serif-italic-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-script-001.tentative.html": [
-        "bd17ecca70c478a6d3d5d41f15fdcf54c2ca1150",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-script-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-stretched-001.tentative.html": [
-        "87dd88e9d04db231c1b6c64ae1e2c9251cae1e41",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-stretched-001.tentative-ref.html",
-           "=="
-          ]
-         ],
-         {}
-        ]
-       ],
-       "text-transform-math-tailed-001.tentative.html": [
-        "f08c4657f123e4a6926f3dd4397ed25cc52d8e17",
-        [
-         null,
-         [
-          [
-           "/css/css-text/text-transform/math/text-transform-math-tailed-001.tentative-ref.html",
+           "/css/css-text/text-transform/math/text-transform-math-auto-002-ref.html",
            "=="
           ]
          ],
@@ -253842,7 +253621,7 @@
        ]
       ],
       "popover-anchor-nested-display.html": [
-       "4b83d9677b978cc2f2c373e671a956042dd159af",
+       "b60ff49e09cf189dcc6985aa353e649b4681936f",
        [
         null,
         [
@@ -257189,7 +256968,7 @@
        ]
       ],
       "mathvariant-auto.html": [
-       "98f99ad6edc73adce92fe09a2935972b1526bc8b",
+       "affb02f0c9edc6290c4d08fffb2546f39f394efa",
        [
         null,
         [
@@ -257228,7 +257007,7 @@
        ]
       ],
       "mathvariant-bold-italic.html": [
-       "1b8ab885950b368bcad20765607282b80e6b9c92",
+       "725559a571f471f3c6384e87a29069f28d4a88c1",
        [
         null,
         [
@@ -257241,7 +257020,7 @@
        ]
       ],
       "mathvariant-bold-sans-serif.html": [
-       "cd7fdfaef897370841590eee1b0e5a2103df8d02",
+       "0e0662dff660445f6f8f90deac545e9a08492ea6",
        [
         null,
         [
@@ -257267,7 +257046,7 @@
        ]
       ],
       "mathvariant-bold.html": [
-       "513eac7f87ea729b250e1260369f782bf006970c",
+       "db5f4755bec1d07c41324a7f14086679fef20700",
        [
         null,
         [
@@ -257306,7 +257085,7 @@
        ]
       ],
       "mathvariant-double-struck.html": [
-       "8592c2136ab8c53e696217be2bc0417bb6d01bb1",
+       "335234ac3858cbf08c54525defbeea08a0d040c6",
        [
         null,
         [
@@ -257345,7 +257124,7 @@
        ]
       ],
       "mathvariant-initial.html": [
-       "5f54a5cf88e21044387abd02bd4e067e88f76b2d",
+       "3b0263a1977fbe14c287ef122caa2748c0ef7ed4",
        [
         null,
         [
@@ -257358,7 +257137,7 @@
        ]
       ],
       "mathvariant-italic.html": [
-       "f22f23f82ba42c88182066358c0a48295d0201dd",
+       "1e6aa6512d326109525044379eaab4a064c4ab13",
        [
         null,
         [
@@ -257371,7 +257150,7 @@
        ]
       ],
       "mathvariant-looped.html": [
-       "1e9b4f1e2175cfe66ac867a851aba8146db7545b",
+       "b208849368b382caa9f44ca9d21be7db5f2fd508",
        [
         null,
         [
@@ -257384,7 +257163,7 @@
        ]
       ],
       "mathvariant-monospace.html": [
-       "a1a5c2d3c37dd42ce6538de5dd5299ccf4e66071",
+       "ad5541fe0ecf22ea6ac5d3f8325d96681c47738d",
        [
         null,
         [
@@ -257397,7 +257176,7 @@
        ]
       ],
       "mathvariant-sans-serif-bold-italic.html": [
-       "d1512bbce1fbf0010b9d2e7e6162e59456f731bf",
+       "d51afe434546357fc8b2ecce9aeef5d2ac680a1a",
        [
         null,
         [
@@ -257423,7 +257202,7 @@
        ]
       ],
       "mathvariant-sans-serif.html": [
-       "0b346aa17802eaaf46e4388b14d4d39c1c667f71",
+       "43a1fa821f3a32e36b9b85e6702a1279b475b8c3",
        [
         null,
         [
@@ -257449,7 +257228,7 @@
        ]
       ],
       "mathvariant-stretched.html": [
-       "84210c339bce53eb1a4a02b749938318483e33e0",
+       "99b06fb41be76e6f1adafff6cde98631f2a1e0e6",
        [
         null,
         [
@@ -257462,7 +257241,7 @@
        ]
       ],
       "mathvariant-tailed.html": [
-       "4590b76aa1da76a78294801c565dc40939eda4b3",
+       "43fbca5e80d6f2e462d25e532ad526b7019fff7d",
        [
         null,
         [
@@ -265445,11 +265224,11 @@
   "support": {
    ".cache": {
     "gitignore2.json": [
-     "b233077e3d70ed4990cc34e613424d2a790aea50",
+     "0cbfded8f62b2916c038fc6b3ce43a61ce18aaad",
      []
     ],
     "mtime.json": [
-     "2bccfd92658792b2f59909a088ceae27947cd934",
+     "7128177bcc7233162b50353d09ba99b3e79fab26",
      []
     ]
    },
@@ -269498,6 +269277,10 @@
      "00c5072f85d076e59f03465a4e0d205edb413362",
      []
     ],
+    "webkit-text-fill-color-property-002.html.ini": [
+     "47fb92c6a599e9df74ac1f52610c337ded9771f8",
+     []
+    ],
     "webkit-text-fill-color-property-003-ref.html": [
      "bbfd78e37ff85dc39a82dc73cc261afd3af56a81",
      []
@@ -275508,6 +275291,10 @@
        "6b46fb8eb9b890f51742f7eb6a2935677ceddbc7",
        []
       ],
+      "float-under-flatten-under-preserve-3d.html.ini": [
+       "34417d4fee30bda19d8ea4813b42ca7d4050c0e2",
+       []
+      ],
       "floats-in-table-caption-001-ref.html": [
        "91ddca772b7100d355c9bf766c530b78dd87a959",
        []
@@ -275520,6 +275307,10 @@
        "a286a4aeb75d6e73b96439fb19c62c6f38d8110a",
        []
       ],
+      "floats-placement-007.html.ini": [
+       "b22e125306efbf9bf6758b42695f2afeaf2f0763",
+       []
+      ],
       "floats-placement-vertical-001-ref.xht": [
        "15ff213301ab6b3d3d7469abbaac98b657ec41ac",
        []
@@ -279826,6 +279617,10 @@
        "1a8727ddec16c850227376fbac85b0fa61e2ec12",
        []
       ],
+      "text-transform-bicameral-009.xht.ini": [
+       "c7edfd9f2d1f137db740c6f216c5c02146b833a4",
+       []
+      ],
       "text-transform-bicameral-010-ref.xht": [
        "c5d842cb9c7e7044f5427be1caf7fb6d2b20a2b5",
        []
@@ -279954,6 +279749,10 @@
        "7234d43469762a9f40cb6063e4c906e284e42d87",
        []
       ],
+      "white-space-bidirectionality-001.xht.ini": [
+       "dbb0905625539f1d8b24b1c02377604f06eb7691",
+       []
+      ],
       "white-space-collapsing-001-ref.xht": [
        "3ea0bf3be51f51493846640203bb93bfc80e2a1b",
        []
@@ -280683,6 +280482,12 @@
        []
       ]
      },
+     "gaps": {
+      "gap-normal-used-002.html.ini": [
+       "ba07bd38cbd0593e0f4c50ca3418da2c1aa9db4c",
+       []
+      ]
+     },
      "inheritance-expected.txt": [
       "4252a3d642fb25adcb32c55b90635c5ef7822e90",
       []
@@ -281247,6 +281052,10 @@
        []
       ]
      },
+     "background-attachment-353.html.ini": [
+      "d1af9d7d555fc3e7f66841da6d1814f3ba484d71",
+      []
+     ],
      "background-attachment-fixed-inside-transform-1-ref.html": [
       "8d4c3f785c8e84ffa121128cda96269574e27e73",
       []
@@ -281570,6 +281379,10 @@
        "9576c2c23bbb3112b6d0922cceb6c4bf512a222a",
        []
       ],
+      "background-size-cover-contain-001.xht.ini": [
+       "66f1c578328807d8f9fa83aaff88ee58dd718b36",
+       []
+      ],
       "background-size-near-zero-png.html.ini": [
        "89fc0fa4254c284c5d3fa5e696a843a2948e45f3",
        []
@@ -283499,6 +283312,14 @@
       "29156878c0b5aea6f0eec393279f11ebb742cb47",
       []
      ],
+     "br-clear-all.html.ini": [
+      "e7f8f1c47bc656efe6de8dbc9bd8729461b61f32",
+      []
+     ],
+     "break-float-dynamic-001.html.ini": [
+      "211f0e80832fda302ac5f632922d0fcceed426b1",
+      []
+     ],
      "break-inside-avoid-min-block-size-1-ref.html": [
       "56789f62cbb570c4f5fbdcbdb13b97feda4fa174",
       []
@@ -283511,6 +283332,10 @@
       "3459e25edd64ca8d90cebd4a44f68aa9b4106e25",
       []
      ],
+     "change-break-after.html.ini": [
+      "2ea4c5511dddbff6eb011e405555a60e54b043b4",
+      []
+     ],
      "change-inline-color-ref.html": [
       "7f99f57a67957bfeb57717852b03eb707c6a52f7",
       []
@@ -283580,6 +283405,10 @@
       []
      ],
      "flexbox": {
+      "flex-container-fragmentation-005.html.ini": [
+       "68711ec142d48cf8df22a5fc0bc61123fda79acf",
+       []
+      ],
       "flex-fragmented-with-float-descendant-001-ref.html": [
        "ead53ad704a08d06a2e88ed5e43b9bcaf55aa584",
        []
@@ -283588,6 +283417,10 @@
        "f4caedc110f43c67777fe1076cf4fb9cd821c97e",
        []
       ],
+      "increase-fragmentainer-size-flex-item-trailing-margin.html.ini": [
+       "db2a0ae3cee4a660fa6edccdf276a319875d7c43",
+       []
+      ],
       "multi-line-column-flex-fragmentation-041-ref.html": [
        "4924a792b73fe47bd463e8d5fd94c073fd586726",
        []
@@ -283604,6 +283437,14 @@
        "20710e8c292e4783b12404174b7de7c40edd6d97",
        []
       ],
+      "multi-line-row-flex-fragmentation-004.html.ini": [
+       "7bfbed9518a3ccbb530a006f86582d5ce5199043",
+       []
+      ],
+      "multi-line-row-flex-fragmentation-026.html.ini": [
+       "71c92dbfc9433f4180a88a59adf07fb9be0ce785",
+       []
+      ],
       "multi-line-row-flex-fragmentation-047-ref.html": [
        "d669603858d938bd4b70d394188f3f3cca6e82ea",
        []
@@ -283636,6 +283477,18 @@
        "bc659553eddd5c8ca529105e3dc8c6b96ac07d8a",
        []
       ],
+      "single-line-column-flex-fragmentation-017.html.ini": [
+       "718bf7e743ff6c1a34082681d14fe59f3010bcf8",
+       []
+      ],
+      "single-line-column-flex-fragmentation-018.html.ini": [
+       "27b0cdc2b9eb77f0cd679e8439a8c752b08ab9d3",
+       []
+      ],
+      "single-line-column-flex-fragmentation-038.html.ini": [
+       "6fe44b44aafc9e806b4c79ab64836b439d117537",
+       []
+      ],
       "single-line-column-flex-fragmentation-040-ref.html": [
        "3d20cb44e49b065fdb90d400fba69aca442f0fc2",
        []
@@ -283644,19 +283497,43 @@
        "3b1824f28eb011032a1fff0835c0386ad42db506",
        []
       ],
+      "single-line-column-flex-fragmentation-047.html.ini": [
+       "3049b5803b60cba615acd9576e1e527eeb0ff67d",
+       []
+      ],
       "single-line-column-flex-fragmentation-060-print-ref.html": [
        "56c38817e420507c08dfab56727cfe870ac93172",
        []
       ],
+      "single-line-row-flex-fragmentation-009.html.ini": [
+       "a7e1ab491e88aa9c7dda7d467d181b2d2294bfe4",
+       []
+      ],
       "single-line-row-flex-fragmentation-027-ref.html": [
        "e1079de13fb771854107b4022054945a0b460e18",
        []
       ],
+      "single-line-row-flex-fragmentation-028.html.ini": [
+       "55d846f2defa93374430196c34ef0975059cff10",
+       []
+      ],
+      "single-line-row-flex-fragmentation-032.html.ini": [
+       "e814efebe7f6878cf52358252808ea2e14d9dbd3",
+       []
+      ],
+      "single-line-row-flex-fragmentation-036.html.ini": [
+       "cf434b29ed8eb5d97da4ca3d9e17551b093094c5",
+       []
+      ],
       "single-line-row-flex-fragmentation-042-print-ref.html": [
        "5f65fbaf687e6b5de87da8a223298778e03eece7",
        []
       ]
      },
+     "float-003.html.ini": [
+      "4f9edd17c78043020373c81b75363d30f7994344",
+      []
+     ],
      "float-009-ref.html": [
       "9e117c49c2bab5b8b2fbad4fcfc2eef13b5b8ab6",
       []
@@ -283686,6 +283563,22 @@
       []
      ],
      "grid": {
+      "grid-container-fragmentation-011.html.ini": [
+       "6c3a397e3e0402da3d9fdcc7373a772370645d43",
+       []
+      ],
+      "grid-item-fragmentation-001.html.ini": [
+       "40fd7176c9e36638cfb8a3f94b5bd7a1810eebe2",
+       []
+      ],
+      "grid-item-fragmentation-004.html.ini": [
+       "1149c3fe86498b650c9511366ef474cb0732cc0d",
+       []
+      ],
+      "grid-item-fragmentation-007.html.ini": [
+       "b0abc614a09176f564e4d8910435eb7628acd6e4",
+       []
+      ],
       "grid-item-fragmentation-039.html.ini": [
        "5f8c1d324e8cb3f3eb9f29f86659a3664f11304b",
        []
@@ -283711,10 +283604,18 @@
       "7b6a3c50ca82b586450c8912e34141a9bca551e7",
       []
      ],
+     "out-of-flow-in-multicolumn-002.html.ini": [
+      "9539a43b41e2d540607c7e773ea5480399cee531",
+      []
+     ],
      "out-of-flow-in-multicolumn-004-ref.html": [
       "bc6669e466ba0e4e29bf56b889f59e513f9270c4",
       []
      ],
+     "out-of-flow-in-multicolumn-011.html.ini": [
+      "efc084d18e7b0de1b429db55a99aaddcbd02aabf",
+      []
+     ],
      "out-of-flow-in-multicolumn-014-ref.html": [
       "6388a1864443571ea24e6174459c5205440ab030",
       []
@@ -283723,6 +283624,22 @@
       "8321333458316b7b1fe9df40a29abb81e585a1f0",
       []
      ],
+     "out-of-flow-in-multicolumn-032.html.ini": [
+      "36baecd36ab0062db45de545c6d8c7e35f0b3d9e",
+      []
+     ],
+     "out-of-flow-in-multicolumn-056.html.ini": [
+      "1a69ba65204b77154c7805d9025145e9302b0d09",
+      []
+     ],
+     "out-of-flow-in-multicolumn-070.html.ini": [
+      "fccd75cf64ce2ba67cd6e25fa21d76c8bb2ee0aa",
+      []
+     ],
+     "out-of-flow-in-multicolumn-089.html.ini": [
+      "6a7ce7a9bb007e45d05c69869ec5f90a531a6c8e",
+      []
+     ],
      "out-of-flow-in-multicolumn-093-ref.html": [
       "a2fdde0cd91d8f8091816807b01b70c524d587a9",
       []
@@ -283735,10 +283652,18 @@
       "65a9339374179e8c03f2c7987789fefb9ed5fd42",
       []
      ],
+     "overflow-clip-005.html.ini": [
+      "965b6a9dce42a571a09d73094f4ef325e25c222f",
+      []
+     ],
      "overflowed-abs-pos-with-percentage-height-print-ref.html": [
       "ad74e1f53d4f27fde674dfb964366f8574cac9c1",
       []
      ],
+     "overflowed-block-with-room-after-004.html.ini": [
+      "200df942ecf2e9ad96df4363930df496b2d44069",
+      []
+     ],
      "overflowing-block-print-ref.html": [
       "cf345b59638f28ddf423ed343a269178ab47f1b9",
       []
@@ -283747,6 +283672,10 @@
       "69c5c37b5a3cc4ed47fab1f8105e5f2351e2d07b",
       []
      ],
+     "parallel-flow-trailing-margin-002.html.ini": [
+      "221f52f483a7a4465291e3ff8ae2cc1069ab29c1",
+      []
+     ],
      "parsing": {
       "box-decoration-break-computed-expected.txt": [
        "2bf7d5cfd390f7f989cffa3197643b87699fdefe",
@@ -283881,6 +283810,10 @@
         "38dfe20d91a02d8878677b8edead5c48ad7178b9",
         []
        ],
+       "multiple-row-groups.tentative.html.ini": [
+        "21c0f3e3770b345b81f641bb1534d4743b9e6d69",
+        []
+       ],
        "variable-fragmentainer-size-001-ref.html": [
         "bea1ace1c376708c9ab58ba706cdfcf7aa140dbd",
         []
@@ -283918,6 +283851,10 @@
        "ca210636a94ccddfc86a01dc99f2f8db7b81d0f4",
        []
       ],
+      "table-cell-expansion-007.html.ini": [
+       "3f93df617080aee0478f57e69392f9189547713e",
+       []
+      ],
       "table-col-paint-htb-ltr-ref.html": [
        "df7b50c84e6f0399cf7a890f860ffadcdad45e68",
        []
@@ -283983,6 +283920,18 @@
        []
       ]
      },
+     "tall-float-pushed-to-next-fragmentainer-001.html.ini": [
+      "7a076d09c5aceaa26312bb85474d8f2b4c8a174e",
+      []
+     ],
+     "trailing-child-margin-000.html.ini": [
+      "1e0f484ec15f3432989bc6939d867956f26d3f29",
+      []
+     ],
+     "transform-002.html.ini": [
+      "e0956887d649676db2fd73293456b6204949404d",
+      []
+     ],
      "transform-006-ref.html": [
       "ffb859017da98baed10da8099979a069b34710cb",
       []
@@ -284915,6 +284864,14 @@
       "1f3a056e4569201f3dfa8f63dfe44cee4677f8b9",
       []
      ],
+     "contain-layout-004.html.ini": [
+      "8d01ca5818bcb2db00ada0b83bdf3f39e42481c5",
+      []
+     ],
+     "contain-layout-012.html.ini": [
+      "f4fbc65d0cccca7174370a01785674f3bd5611ba",
+      []
+     ],
      "contain-layout-formatting-context-margin-001-ref.html": [
       "5a6d653862417ff7c1a6817434da2b2025a347ad",
       []
@@ -284947,6 +284904,14 @@
       "0587c90c35e20733c9489982c161214be0444cbf",
       []
      ],
+     "contain-paint-011.html.ini": [
+      "180db13123714fa7a0334d63bae71af3e21dec58",
+      []
+     ],
+     "contain-paint-026.html.ini": [
+      "7b3f18a255c0e0bc68fb86f45977c8f2440e8660",
+      []
+     ],
      "contain-paint-050-ref.html": [
       "ebb631432d1caecc8bc41556d438f9b98436726c",
       []
@@ -286009,6 +285974,26 @@
       "8294ae672d15643b1d8eeb8c9914fa93fe4e879a",
       []
      ],
+     "quotes-006.html.ini": [
+      "baff1c19ff9bdf30d01f376883eb1ffe3f21a1d6",
+      []
+     ],
+     "quotes-009.html.ini": [
+      "04699d2239a9d1f6e60274e267259ed48e25519e",
+      []
+     ],
+     "quotes-013.html.ini": [
+      "a79ab7475a31f5ab293f150257890ee479a3e770",
+      []
+     ],
+     "quotes-014.html.ini": [
+      "975133db0766a76ed974a1103e0e6d63d33a185e",
+      []
+     ],
+     "quotes-020.html.ini": [
+      "e409a47999a9505d09a34b47b03a9a0eccaf9db1",
+      []
+     ],
      "quotes-030.html.ini": [
       "053c60d2d058ac321a7b6e6b4d43a9cfed3e0082",
       []
@@ -287673,6 +287658,22 @@
       "8e3e6167176e4c3be16d4cdb84e4299052f9880f",
       []
      ],
+     "flex-aspect-ratio-img-column-003.html.ini": [
+      "80178352808908f47af137f208c16da3158612e3",
+      []
+     ],
+     "flex-aspect-ratio-img-column-004.html.ini": [
+      "c62249a6aba74424c40bc6fe4a96268493fe012b",
+      []
+     ],
+     "flex-aspect-ratio-img-column-006.html.ini": [
+      "bdb33aa2cb1229d4c5c718f849f7315dec9e515b",
+      []
+     ],
+     "flex-aspect-ratio-img-column-007.html.ini": [
+      "f86dca39bce88ae4a4b4d8193a470ae420daf72f",
+      []
+     ],
      "flex-basis-011-ref.html": [
       "8c9d248efaf1cb03c18c4a4955576ccbc6ecaa15",
       []
@@ -287717,6 +287718,10 @@
       "2b0f294c3441f1cf25a6678b9ce0748258582ea1",
       []
      ],
+     "flex-item-and-percentage-abspos.html.ini": [
+      "eb83c0f8b2fbcd27aec92d8627a267ff1a1d9f76",
+      []
+     ],
      "flex-item-compressible-002-expected.txt": [
       "cd5115045af41b8997e8261e2923b4c8affcfabe",
       []
@@ -287747,6 +287752,14 @@
       "02f0eb35752e805aa2bc0bd339f73ff2b197c99e",
       []
      ],
+     "flex-shrink-001.html.ini": [
+      "87531091d0e637a74c01465ed3d10d63823b1a33",
+      []
+     ],
+     "flex-shrink-002.html.ini": [
+      "0e22e27542d609197eb6971d3de6d63f4c548d70",
+      []
+     ],
      "flexbox-align-items-center-nested-001-ref.html": [
       "2473417b82b333e93baf1889f0fb229211591e2f",
       []
@@ -289187,6 +289200,10 @@
       "8c390de08d10d1e9591c5885d355514b9412aab1",
       []
      ],
+     "image-items-flake-001.html.ini": [
+      "d39a1e859e4a0497a1b2c27c552afd4a233c43db",
+      []
+     ],
      "interactive": {
       "__dir__.ini": [
        "258de3c50b9107cd96120f5632c548589a40e266",
@@ -289226,6 +289243,10 @@
        "ebcc481649f17ccf9cb44f7fc894ea70b14247cd",
        []
       ],
+      "col-wrap-012.html.ini": [
+       "aa0fdd7388a77cb710df223afd507d58b0ac4faa",
+       []
+      ],
       "col-wrap-013.html.ini": [
        "e77bcb3fa52d92b3c984ce83e002dfd874079311",
        []
@@ -289307,6 +289328,10 @@
       "7c1e5858130b6150d36c52df0eaa525836b9075a",
       []
      ],
+     "percentage-heights-007.html.ini": [
+      "79181470f1cb40fdb0b50d3a55a71655f6dcceb8",
+      []
+     ],
      "percentage-heights-015-ref.html": [
       "874bf6da6310e7ae4c5b4f8421350ca61dfb1c5e",
       []
@@ -289865,10 +289890,18 @@
        []
       ]
      },
+     "table-as-item-min-content-height-1.tentative.html.ini": [
+      "17d5171d154c57ae414a95f0a896451cfeafe5cb",
+      []
+     ],
      "table-as-item-percent-width-cell-001-ref.html": [
       "2f40b6c49fdcee593a160c82c381d4c14f377a38",
       []
      ],
+     "table-as-item-stretch-cross-size-2.html.ini": [
+      "0eb309da4f74f3f59005c2d5bcd73146097f88e0",
+      []
+     ],
      "table-item-flex-percentage-min-width-ref.html": [
       "ee2cc9af5af24c42a73f8ff43a042c8f0717b47a",
       []
@@ -289994,7 +290027,7 @@
       []
      ],
      "cjk-kerning.html.ini": [
-      "5ecb735bbc7eef8fa0410eda6e1076c9111d9862",
+      "90d85356daf9516c9c2ddc69f4ba0a3a6686b485",
       []
      ],
      "downloadable-font-in-iframe-print-ref.html": [
@@ -290223,6 +290256,10 @@
       "5ed4361b7ad798c68064aedb293d7eae182b45c5",
       []
      ],
+     "font-family-name-025.html.ini": [
+      "1ad5ad2a3d76aeaaf9121669c18d4fd5f47aed44",
+      []
+     ],
      "font-family-name-mixcase-ref.xht": [
       "6d722390abc99d56a5d4e054fd6c1f3c03a6260b",
       []
@@ -290803,6 +290840,10 @@
       "d899e0ff53c4661a2ac26bbe802eadd168ed5271",
       []
      ],
+     "font-variant-emoji-2.html.ini": [
+      "68aae843f87b964570cad1a3b6b607969314f5cb",
+      []
+     ],
      "font-variant-ligatures-01-ref.html": [
       "68d5561e7f96767bcd5de7c5577cc18401568882",
       []
@@ -290944,7 +290985,7 @@
       []
      ],
      "generic-family-keywords-002.html.ini": [
-      "eff564952cf02d3ed0aae91f17615c5bcccc1b81",
+      "c1cee44086dd3606140134645480c7d909f35bce",
       []
      ],
      "generic-family-keywords-003-expected.txt": [
@@ -291369,6 +291410,10 @@
       "3c26321fffcca83eee35067410498bc4103eb908",
       []
      ],
+     "standard-font-family.html.ini": [
+      "3bbe8a7510bfbf0cc50bd1208a48050edb8638d2",
+      []
+     ],
      "support": {
       "100x100-lime.png": [
        "1b947700808585e8c224cee096247eb5d30a1ded",
@@ -297465,6 +297510,10 @@
       "76a216ca7439a37190a38bc70cd5abc91432df77",
       []
      ],
+     "system-ui-ar.html.ini": [
+      "d334315178a38b23ba9b8644b16296dbad4fc534",
+      []
+     ],
      "system-ui-ja-notref.html": [
       "c33e769ce330b9d3fc5e314e0b065a81bf54200c",
       []
@@ -297493,6 +297542,10 @@
       "81c8889f1118d38012bf1d1f4deee846b0e59e37",
       []
      ],
+     "system-ui-ur.html.ini": [
+      "d9e58e116a2dbdda559a361bbadf2371f59aa31c",
+      []
+     ],
      "system-ui-zh-notref.html": [
       "ca072086c415b058264e495c46cb4a692d8a0684",
       []
@@ -298284,6 +298337,10 @@
        "8d7fc870fae1ad7f969b7a9de4035da783c1dae4",
        []
       ],
+      "grid-item-auto-margins-001.html.ini": [
+       "95c5dce5c0f587ad8cf25f5ac84340691cc19384",
+       []
+      ],
       "grid-item-content-baseline-001-ref.html": [
        "e55fe0b9f96c3f3ae4a4f6b66bfd2283fb88659b",
        []
@@ -298447,6 +298504,10 @@
         "7876656c2080bb36b0286783ac75f5b8ef2f831f",
         []
        ],
+       "grid-self-baseline-changes-grid-area-size-004.html.ini": [
+        "8f2b0b7602e5542a41bc0697757edd7ce11b9d68",
+        []
+       ],
        "grid-self-baseline-horiz-001-ref.html": [
         "1b8130d7b89ae35111009318535320e05bbda766",
         []
@@ -298654,6 +298715,18 @@
        "3e08fdfbde27d0aa36dcabd2b7ea240116538b69",
        []
       ],
+      "grid-inline-items-002.html.ini": [
+       "dc21d534b81723ac3465a5aa8fd2497a63cb0fb5",
+       []
+      ],
+      "grid-inline-items-003.html.ini": [
+       "a2ec6237a49955d0f87b866082e0d8da91aa7e32",
+       []
+      ],
+      "grid-inline-z-axis-ordering-003.html.ini": [
+       "837fbd2a8c1053bbdf7ddd1f42e8687e53615e8e",
+       []
+      ],
       "grid-intrinsic-maximums-ref.html": [
        "b90f15b597d4e495c0a5dbc4f8dffe8511f10111",
        []
@@ -298686,10 +298759,18 @@
        "643b80e1ca88d4bf332c02637b1fe0478e951f1e",
        []
       ],
+      "grid-items-percentage-margins-008.html.ini": [
+       "6e66a8450bf2069f5aa96fa5cbdc8c9b5d5334cc",
+       []
+      ],
       "grid-items-sizing-alignment-001-ref.html": [
        "c3eccf48eb29c531f0397502a0d5faf0a8223f76",
        []
       ],
+      "grid-order-property-painting-003.html.ini": [
+       "9ccd8bda9aee55801d9e0e58a3a6294fc90fbe29",
+       []
+      ],
       "percentage-size-replaced-subitems-001-ref.html": [
        "2c21c8c13dc6d24f50cf56de40c7cef2ddd7d17a",
        []
@@ -298762,6 +298843,10 @@
        "a51134751616fdb1eede6a1774c3edd6571ddc28",
        []
       ],
+      "grid-floats-no-intrude-001.html.ini": [
+       "bf75afbdee040d71f7af94cb1ca898272cee71d2",
+       []
+      ],
       "grid-floats-no-intrude-002-ref.html": [
        "070980ed27cebf226e21583c64c39e6ac195e8dc",
        []
@@ -301470,6 +301555,10 @@
        "f451a265be957498defb36be9f2b15d7347b1b66",
        []
       ],
+      "initial-letter-float-002.html.ini": [
+       "62e3a1e5b7ff64d6948f2c1b8411c247f91e8436",
+       []
+      ],
       "initial-letter-float-003-ref.html": [
        "54c30de947b11ba90ebdfae406081b7ba78b658a",
        []
@@ -301482,6 +301571,10 @@
        "0e9a6ab273c4fef8f7692af577a6ea84878aaf9c",
        []
       ],
+      "initial-letter-float-004.html.ini": [
+       "fcbbb5148b5c7d53735825246a8c972c3516219b",
+       []
+      ],
       "initial-letter-float-005-ref.html": [
        "d1e7be2aa2f80651aa1d559274302230b0cf1e56",
        []
@@ -301538,6 +301631,10 @@
        "5fa68450681e0dfea7bb708c4358e75694defb25",
        []
       ],
+      "initial-letter-raise-initial-vrl.html.ini": [
+       "6355a2917d532e443c1311c490a9cbb9d877de19",
+       []
+      ],
       "initial-letter-raise-initial.html.ini": [
        "5b4ca339f21da793e41cce698d45dca3825b3036",
        []
@@ -301546,6 +301643,10 @@
        "7285ed8a82289fefb98bfb90d5442bdc554bb09c",
        []
       ],
+      "initial-letter-raised-sunken-caps-raise.html.ini": [
+       "8e1806ae86f22114ae5f1b1e289fece05a5b2d80",
+       []
+      ],
       "initial-letter-raised-sunken-caps-sunken-ref.html": [
        "a68a760ac62a2c0610bfadac74f1d9f56e557f19",
        []
@@ -301598,6 +301699,10 @@
        "6907be5d8a9ae777ce0250937afaa16b5878239c",
        []
       ],
+      "initial-letter-sunk-initial.html.ini": [
+       "47f90b163e9808f79c52d0af88298d3466e36330",
+       []
+      ],
       "initial-letter-with-first-line-ref.html": [
        "5b54045363d63bbbad4af05897877e3bbd4b3ce2",
        []
@@ -301614,6 +301719,10 @@
        "0b9a074af70d652f61eacfd206cd8a1dca9cb5ff",
        []
       ],
+      "initial-letter-with-tab-rtl.html.ini": [
+       "89079a8394168f9d5c146f55f09fb689b7d00952",
+       []
+      ],
       "initial-letter-with-tab.html.ini": [
        "a630d74a740130651dfea6c646396801119f6d66",
        []
@@ -304825,6 +304934,10 @@
       "77149c2dc219e37dd95d963e5c73e1889ec721a6",
       []
      ],
+     "nested-at-outer-boundary-as-legend.html.ini": [
+      "fd49a9fa26bc02bc696d5198f7cfc791f3a18fc9",
+      []
+     ],
      "nested-with-too-tall-line-ref.html": [
       "16be12ca9187db02482a15d47e0ae9015a84959c",
       []
@@ -306313,6 +306426,14 @@
        []
       ]
      },
+     "position-absolute-dynamic-auto-overflow.html.ini": [
+      "436ec4eb5f38fed87cb73779b707210f63f310cb",
+      []
+     ],
+     "position-absolute-fit-content.html.ini": [
+      "c8b541f315082416f3395ecd1b3ca59012b1f300",
+      []
+     ],
      "position-absolute-iframe-print-ref.html": [
       "d89bb93cf9fb14caefee7a4bf27a15d4cc4f7615",
       []
@@ -306365,6 +306486,10 @@
       "b9535e04e89d2b30089da6a2a79b152401f0af0c",
       []
      ],
+     "position-relative-004.html.ini": [
+      "e0f31c72e1483d64191f46281c6a3b7246d6a342",
+      []
+     ],
      "position-relative-table-left-ref.html": [
       "7c1193b80007d8e7f89b35400a6d2ea2266cb3ac",
       []
@@ -307029,6 +307154,22 @@
       "77e2d2817f66adb707e506c46a1eed948a2e92e3",
       []
      ],
+     "active-selection-051.html.ini": [
+      "5c2dbfe97ef39a25133601db21d8cfea37e79e20",
+      []
+     ],
+     "active-selection-052.html.ini": [
+      "0f901ff4c82f1393b7988b6f6689f426f940e408",
+      []
+     ],
+     "active-selection-053.html.ini": [
+      "c6473c5823c67b441332b3ca27239d485787b858",
+      []
+     ],
+     "active-selection-054.html.ini": [
+      "0daf57582eb46e5ec84863c6c4b696d51f5c9423",
+      []
+     ],
      "active-selection-057.html.ini": [
       "6fb376c802757af8d0cfa3b533f8db52ac1fd7f6",
       []
@@ -309992,6 +310133,10 @@
       []
      ],
      "aspect-ratio": {
+      "block-aspect-ratio-030.html.ini": [
+       "7bdf8cc9b49e10e983d7778bffd7f2ae1993896b",
+       []
+      ],
       "block-aspect-ratio-038.html.ini": [
        "edbc12114ae227d2193f2f7acd4390d49209bccc",
        []
@@ -310020,6 +310165,10 @@
        "e73a37e16ec97e610eb3aeab601a9d6d7e177e0d",
        []
       ],
+      "flex-aspect-ratio-023.html.ini": [
+       "0451d606b3e67c91ae1422ec2795436ace05c372",
+       []
+      ],
       "flex-aspect-ratio-038.html.ini": [
        "da784c2607904a8c4b282d904ac2e950a60d4cd1",
        []
@@ -310028,6 +310177,14 @@
        "734522a16417a8efaaa0df5c92ff3d8ca9102f9d",
        []
       ],
+      "grid-aspect-ratio-006.html.ini": [
+       "6ddf93b6fbe88b7f0e3a4514bea04b2d29a324c8",
+       []
+      ],
+      "intrinsic-size-003.html.ini": [
+       "0dd8c18532934ce395a12a6a30782b5da3079dfe",
+       []
+      ],
       "reference": {
        "ref-filled-green-100x20-rect.html": [
         "5d8ebce4ec5a42533cb82829b778e1f65029d7e4",
@@ -310042,6 +310199,22 @@
         []
        ]
       },
+      "replaced-element-007.html.ini": [
+       "397bca2e36deb2277a7f90392ee41b9f0755f4c5",
+       []
+      ],
+      "replaced-element-016.html.ini": [
+       "669a52a7628f8c58cdbc01cddf397ee5f6193d69",
+       []
+      ],
+      "replaced-element-023.html.ini": [
+       "388c41c2b2cfe36032accf482b217706e212b654",
+       []
+      ],
+      "replaced-element-029.html.ini": [
+       "a175326c80bfcf723a3416ecadaa1757a8c2d14e",
+       []
+      ],
       "replaced-element-035-ref.html": [
        "cd8afe16934c5e99607e5821c9f7eaf06a0e4e7b",
        []
@@ -310075,7 +310248,15 @@
         "29903c0a817352ea3d3ad6abf188e5aec7470173",
         []
        ]
-      }
+      },
+      "zero-or-infinity-004.html.ini": [
+       "cc9369fe90ce8859bac601b3b99bf20f9ca7deec",
+       []
+      ],
+      "zero-or-infinity-007.html.ini": [
+       "4cd0823416dae22835c860237a5dfbb6d526f8f9",
+       []
+      ]
      },
      "auto-scrollbar-inside-stf-abspos-ref.html": [
       "076893b2728772662f06b9474bcc1918c860b480",
@@ -311125,6 +311306,10 @@
       "c9638f111dd298833917d32b66f43e2033c82674",
       []
      ],
+     "box-shadow-001.html.ini": [
+      "fc97f5594958c85c1a277285c51e419c987b28c6",
+      []
+     ],
      "calc-percent-plus-0px-fixed-ref.html": [
       "ec862ff1e08e96aff25237f56682dc0df830e39a",
       []
@@ -311165,6 +311350,12 @@
       "9294283d5256978d94f1d4731d8d1ea39e6cb6b1",
       []
      ],
+     "crashtests": {
+      "textarea-intrinsic-size-crash.html.ini": [
+       "5f25315fea13fea4415a8a518f11cddc059c0973",
+       []
+      ]
+     },
      "fixed-layout-2-expected.txt": [
       "e74c8c8c208fb330f9675ce790b4dabd7d97d1df",
       []
@@ -311558,6 +311749,10 @@
        "dc5f1a17d4faf64471c9fe8cd01d062cec9e9bbf",
        []
       ],
+      "hyphenate-character-005.html.ini": [
+       "ac67bac5df221ea60667a40d849e71468376a9f6",
+       []
+      ],
       "hyphenate-limit-chars-001.html.ini": [
        "4d27a7cd1ee1c0c952b98272a2248626d37778ad",
        []
@@ -314479,149 +314674,13 @@
      },
      "text-transform": {
       "math": {
-       "text-transform-math-auto-001.tentative-ref.html": [
-        "d41d618769e85a581ceada90e020d6fc979ad7d5",
+       "text-transform-math-auto-001-ref.html": [
+        "d6418a346c81da1c1d21289549cb22625ea1081c",
         []
        ],
-       "text-transform-math-auto-002.tentative-ref.html": [
+       "text-transform-math-auto-002-ref.html": [
         "1c1d6e2770b116a083b1b6a9f892737b9fe42804",
         []
-       ],
-       "text-transform-math-bold-001.tentative-ref.html": [
-        "24b83003346051d35a7b769dc1bd95da14333269",
-        []
-       ],
-       "text-transform-math-bold-001.tentative.html.ini": [
-        "9b69ed9fc1a557cb823e456841da687ddac55303",
-        []
-       ],
-       "text-transform-math-bold-fraktur-001.tentative-ref.html": [
-        "36339bdd46de28d5d788391990e788bb75fd1d89",
-        []
-       ],
-       "text-transform-math-bold-fraktur-001.tentative.html.ini": [
-        "ae16ce3e154a71ea96ce21191cb9701cca2fde9b",
-        []
-       ],
-       "text-transform-math-bold-italic-001.tentative-ref.html": [
-        "e4e70cf80361962930ab717021cf8b302a8a0f5e",
-        []
-       ],
-       "text-transform-math-bold-italic-001.tentative.html.ini": [
-        "7424f5032bfe6565cff984936f6c4ac342432e7c",
-        []
-       ],
-       "text-transform-math-bold-sans-serif-001.tentative-ref.html": [
-        "e83fa69f01ae6b2e715f87b5ce6208970527fc28",
-        []
-       ],
-       "text-transform-math-bold-sans-serif-001.tentative.html.ini": [
-        "e1bba62b879d0ed2196ae297592127eb3c6a602e",
-        []
-       ],
-       "text-transform-math-bold-script-001.tentative-ref.html": [
-        "1b5a74c9e82f6d995c8b558f70d8ae1840bc390c",
-        []
-       ],
-       "text-transform-math-bold-script-001.tentative.html.ini": [
-        "56a28ee4cee7bc0b6c88acef645be89bc85d50fb",
-        []
-       ],
-       "text-transform-math-double-struck-001.tentative-ref.html": [
-        "09f137a6242c31070665859827199cd2ed6f1f64",
-        []
-       ],
-       "text-transform-math-double-struck-001.tentative.html.ini": [
-        "f73391dd5da2b7b4e13ae031458d0b739fc2fff4",
-        []
-       ],
-       "text-transform-math-fraktur-001.tentative-ref.html": [
-        "09ea7049898e228d4c22dbd25d0cea05613dd12c",
-        []
-       ],
-       "text-transform-math-fraktur-001.tentative.html.ini": [
-        "f6b353ee28ded1d9730ab0b7c0b620ab4cb87f9d",
-        []
-       ],
-       "text-transform-math-initial-001.tentative-ref.html": [
-        "0c15bca02e99cf8d705b2720fec0cde4b85b87f3",
-        []
-       ],
-       "text-transform-math-initial-001.tentative.html.ini": [
-        "7e663c0dad3ba1fb4f192818d73a8711edb846fe",
-        []
-       ],
-       "text-transform-math-italic-001.tentative-ref.html": [
-        "e1a90faf3830652762652b763e4275a1b6033611",
-        []
-       ],
-       "text-transform-math-italic-001.tentative.html.ini": [
-        "d8389c270e01255bb0e41e2b44d0163dafe102b5",
-        []
-       ],
-       "text-transform-math-looped-001.tentative-ref.html": [
-        "89b52e2e81778d3a2ce350dc954a72cdb95b66da",
-        []
-       ],
-       "text-transform-math-looped-001.tentative.html.ini": [
-        "5a8165d46159724c6957402eaaa3884c0fc67f42",
-        []
-       ],
-       "text-transform-math-monospace-001.tentative-ref.html": [
-        "e254e1c0d21df41a573694c5688ae07b40c76299",
-        []
-       ],
-       "text-transform-math-monospace-001.tentative.html.ini": [
-        "18f0027d1cbfde8ce81d3377a71a1dc9b9093aab",
-        []
-       ],
-       "text-transform-math-sans-serif-001.tentative-ref.html": [
-        "8b75a6f8e1e0a9a6fb969e341e2c770015b7d1ce",
-        []
-       ],
-       "text-transform-math-sans-serif-001.tentative.html.ini": [
-        "b1f8403982bf8b5d9f7d82d758779a97ad991d84",
-        []
-       ],
-       "text-transform-math-sans-serif-bold-italic-001.tentative-ref.html": [
-        "7f71dc40e35aa9fa6add1492c103939162ac1300",
-        []
-       ],
-       "text-transform-math-sans-serif-bold-italic-001.tentative.html.ini": [
-        "18147ddbc0b717bedec6f2d367eafae74af03a2b",
-        []
-       ],
-       "text-transform-math-sans-serif-italic-001.tentative-ref.html": [
-        "f352596b6b953ee46f9886f300e56654e7bfddad",
-        []
-       ],
-       "text-transform-math-sans-serif-italic-001.tentative.html.ini": [
-        "8abd0c6fe12259e7b4dc27501ab69dd0c69abcaa",
-        []
-       ],
-       "text-transform-math-script-001.tentative-ref.html": [
-        "6cbe296dfb72e50fc81d284aa88814a8ed03703f",
-        []
-       ],
-       "text-transform-math-script-001.tentative.html.ini": [
-        "ca266818ba18d3d38c4201ccc1ce23d2917aca2b",
-        []
-       ],
-       "text-transform-math-stretched-001.tentative-ref.html": [
-        "e4fa35e810cd10edb2b45e3158c9d0cda82edde1",
-        []
-       ],
-       "text-transform-math-stretched-001.tentative.html.ini": [
-        "1fa080be581cfcec1741614e8c8ef27adc132193",
-        []
-       ],
-       "text-transform-math-tailed-001.tentative-ref.html": [
-        "7a1c9b0056899926c4f1dc91508fc10b6f833fdf",
-        []
-       ],
-       "text-transform-math-tailed-001.tentative.html.ini": [
-        "76cfaa95a265043b70055797e468bfa56fad9607",
-        []
        ]
       },
       "reference": {
@@ -315046,6 +315105,18 @@
        "f109b41c0f0fa01bcb7dfb27217a95f58f22e308",
        []
       ],
+      "text-transform-shaping-001.html.ini": [
+       "cca2292ebdef77307b3211b8a3ac410bfc9b53cf",
+       []
+      ],
+      "text-transform-shaping-002.html.ini": [
+       "2ba238436ec002e61441511e319299443ae6c8e4",
+       []
+      ],
+      "text-transform-shaping-003.html.ini": [
+       "7e956c7dfde8a80d9bde0aad6d28ebdc82b3a700",
+       []
+      ],
       "text-transform-tailoring-001.html.ini": [
        "529e3f337b35f20f224ec57c4f077b25866998f9",
        []
@@ -315064,10 +315135,126 @@
       ]
      },
      "white-space": {
+      "break-spaces-newline-016.html.ini": [
+       "c329c7f08b93da4e3ec9264fe0d3cd22147418fb",
+       []
+      ],
+      "control-chars-001.html.ini": [
+       "6eea3f816557c2f0bc9a9fec6df04382e6781163",
+       []
+      ],
+      "control-chars-002.html.ini": [
+       "d10c36f2964b7f3ef58545aad1a1fafe6e1eb226",
+       []
+      ],
+      "control-chars-003.html.ini": [
+       "d6f8a027759bdbd81f60e49696e26e9f9fff06e7",
+       []
+      ],
+      "control-chars-004.html.ini": [
+       "ff8d343c25bdbb3fb0843862a3dd047faeca998e",
+       []
+      ],
+      "control-chars-005.html.ini": [
+       "843ad12c7f7b1bba33de977c08552f19fc6b9e0e",
+       []
+      ],
+      "control-chars-006.html.ini": [
+       "99865a198f6debafc3387902f6012353780fa696",
+       []
+      ],
+      "control-chars-007.html.ini": [
+       "508d9957b8e08815e21c87d9e58b852f254b3101",
+       []
+      ],
+      "control-chars-008.html.ini": [
+       "1738df4851f161429b4efa0557e1f42e3b6b6b37",
+       []
+      ],
+      "control-chars-00B.html.ini": [
+       "31eba84d3452899c7a80943e587c3eb22dc16c21",
+       []
+      ],
+      "control-chars-00C.html.ini": [
+       "0bc6acbb14d19ec849d725543a656dc380530ac2",
+       []
+      ],
       "control-chars-00D.html.ini": [
        "c1b4dc8af5d2f1f0b60b040c8990f2fdf7adbb52",
        []
       ],
+      "control-chars-00E.html.ini": [
+       "3968f5f9e893f4b3d07e5f100a8b55565d751e00",
+       []
+      ],
+      "control-chars-00F.html.ini": [
+       "0b0d02c263cecf9329a289737ff928e9d92e6178",
+       []
+      ],
+      "control-chars-010.html.ini": [
+       "03e308782b5224c23947fb81bd2b5ddee39b4b45",
+       []
+      ],
+      "control-chars-011.html.ini": [
+       "5eaef40e8ca92627b3eb6bd6d5112feda00cae45",
+       []
+      ],
+      "control-chars-012.html.ini": [
+       "bf2ff8b5017e59914eb18d5fcb15b6cd53720bbd",
+       []
+      ],
+      "control-chars-013.html.ini": [
+       "53cd0764b67933de6c25815e1340eb6cd75ea566",
+       []
+      ],
+      "control-chars-014.html.ini": [
+       "9b0bbdf58fe9b70c018d4422e5a65e11f1e2cff6",
+       []
+      ],
+      "control-chars-015.html.ini": [
+       "416b69f4d7af110e7b8a74cf87c7f6fd7290b118",
+       []
+      ],
+      "control-chars-016.html.ini": [
+       "c69422404e4d2dc893e71cdac04b9281cbdf52d0",
+       []
+      ],
+      "control-chars-017.html.ini": [
+       "f520bc38e7da4a80bca290b2c8ec64cbef9ee59e",
+       []
+      ],
+      "control-chars-018.html.ini": [
+       "85e95732e3a908d30d5b58e2ce38951386b7d577",
+       []
+      ],
+      "control-chars-019.html.ini": [
+       "d992fd534bc528461ca9094529ee8ee37a2746e6",
+       []
+      ],
+      "control-chars-01A.html.ini": [
+       "cfddeae9f22edec7c92c16d4723c0857ad3af077",
+       []
+      ],
+      "control-chars-01B.html.ini": [
+       "d1e0e6b9f15e05e3cab33de650f6b4772bf1a27f",
+       []
+      ],
+      "control-chars-01C.html.ini": [
+       "d8bdc44d8aec8a73930204d77d1861ee5117bf84",
+       []
+      ],
+      "control-chars-01D.html.ini": [
+       "c98607086c02fddedd43e77d47a7f639f96d7de3",
+       []
+      ],
+      "control-chars-01E.html.ini": [
+       "748ef5294d8117baf9d62beaf38e531e8324afcb",
+       []
+      ],
+      "control-chars-01F.html.ini": [
+       "82d2124bda155f93caf8167e70e3823ec49335a2",
+       []
+      ],
       "control-chars-07F.html.ini": [
        "0e19383f65d07351d614da67c63dbb660ab9bfe4",
        []
@@ -315693,6 +315880,10 @@
       "white-space-collapse-002.html.ini": [
        "923be960abd4a8cea04150fa26dc913e3a302e08",
        []
+      ],
+      "white-space-intrinsic-size-019.html.ini": [
+       "442e5e3ed264564e99ead9096903a47536c14006",
+       []
       ]
      },
      "word-boundary": {
@@ -316078,6 +316269,10 @@
         []
        ]
       },
+      "word-break-break-all-004.html.ini": [
+       "5a015896e6ed0fc17fc15c3430a4be83e47acf30",
+       []
+      ],
       "word-break-break-all-005.html.ini": [
        "0fbcfcbb552e4c4ba6891e4048780b76daa5b204",
        []
@@ -320546,10 +320741,18 @@
        "c74f36c94f4915534169818d014b67649dbaf35f",
        []
       ],
+      "kind-of-widget-fallback-input-button-border-block-end-style-001.html.ini": [
+       "bf6d9691e31ad4e61a209412d127a5fde92cd503",
+       []
+      ],
       "kind-of-widget-fallback-input-button-border-top-left-radius-001.html.ini": [
        "d8d05f85cdcff1cf718a9af855602ffd89e8b878",
        []
       ],
+      "kind-of-widget-fallback-input-reset-border-left-color-001.html.ini": [
+       "5e986e0106069e78502c5c7a58f4f59b7724824d",
+       []
+      ],
       "kind-of-widget-fallback-input-reset-border-top-color-001.html.ini": [
        "14b26723f548de962341d22594eefaf841cec560",
        []
@@ -320574,6 +320777,10 @@
        "7c4c698d1b2ef49f01e00c3643d10ca2832d2d3b",
        []
       ],
+      "kind-of-widget-fallback-input-submit-border-block-start-width-001.html.ini": [
+       "8a96e9f0c7b1a37b0306a7510550602646bf2d4f",
+       []
+      ],
       "kind-of-widget-fallback-input-submit-border-end-start-radius-001.html.ini": [
        "0a103751c35f49aefdaf0284d14ae70ecf9c3907",
        []
@@ -320606,14 +320813,26 @@
        "f166ddbbc4cb488eb4da067e1f30164b11422941",
        []
       ],
+      "kind-of-widget-fallback-input-text-border-image-slice-001.html.ini": [
+       "e98ff631c8fecbec4f7ab90efb35e32b473685da",
+       []
+      ],
       "kind-of-widget-fallback-input-text-border-inline-end-width-001.html.ini": [
        "5c6ec5907d255fee47b26102195d0bf7d3b2136b",
        []
       ],
+      "kind-of-widget-fallback-input-text-border-inline-start-width-001.html.ini": [
+       "c15fb2013c626f2c52316722bae7976f9b3f6d3c",
+       []
+      ],
       "kind-of-widget-fallback-input-text-border-right-color-001.html.ini": [
        "5bc373383d5976f2a3ac4ad63256a3003a52ab54",
        []
       ],
+      "kind-of-widget-fallback-input-text-border-right-style-001.html.ini": [
+       "91ce904702ec982af62c71546112e62faed66877",
+       []
+      ],
       "kind-of-widget-fallback-meter-background-attachment-001.html.ini": [
        "5c85d4c8e2f214d8e5287e8ac98f6b1d3a9a274c",
        []
@@ -320793,6 +321012,14 @@
       "kind-of-widget-fallback-textarea-border-block-end-color-001.html.ini": [
        "9cc5c23ae55ff9a62be744e08d13d8e3c884f662",
        []
+      ],
+      "kind-of-widget-fallback-textarea-border-bottom-color-001.html.ini": [
+       "ab60e58a77d9675b81f14d905d3c84971d0901df",
+       []
+      ],
+      "kind-of-widget-fallback-textarea-border-start-start-radius-001.html.ini": [
+       "7507d0dd65818071cdfc2fdbe3a96d7249cc1e24",
+       []
       ]
      },
      "compute-kind-widget-no-fallback-props-001.html.ini": [
@@ -320873,10 +321100,18 @@
       "c8d6508ace4e4bd0343f67f2e12e35ea6e098df9",
       []
      ],
+     "outline-005.html.ini": [
+      "d853f6ccdd536ddbee9fed088b519afc01d30a4c",
+      []
+     ],
      "outline-auto-dynamic-change-ref.html": [
       "9128eae260fce19f818a83a7ac3ff11be1a2d36b",
       []
      ],
+     "outline-color-001.html.ini": [
+      "f169c537a8477dc554d4b0d3240db0686c961fac",
+      []
+     ],
      "outline-offset-table-001-notref.html": [
       "aafa2b053cb30d77997743a226901d6dd4472724",
       []
@@ -322389,6 +322624,22 @@
       "80e19ba3296cb463dd1d3613d1183d8f07e219d3",
       []
      ],
+     "ic-unit-002.html.ini": [
+      "e7ac97f98c0fd091d4c05fa12859b35968d81c23",
+      []
+     ],
+     "ic-unit-003.html.ini": [
+      "84a4b33f2b0a45f67054fd23ab88c12cb2f1b4e1",
+      []
+     ],
+     "ic-unit-009.html.ini": [
+      "ec079625a5fcdb3049fa4663cc63b98102c211af",
+      []
+     ],
+     "ic-unit-010.html.ini": [
+      "ed3149ae20c93356fd66e549607900e02878c962",
+      []
+     ],
      "ic-unit-015.html.ini": [
       "7f4ecb1646a1ded87280ef34881e786e47fc2d7f",
       []
@@ -322445,6 +322696,14 @@
       "446809160733b6881ec97157a35451de38e517d6",
       []
      ],
+     "q-unit-case-insensitivity-001.html.ini": [
+      "0a4b494b07f6e5ffbef8144d52c6495be05d2c50",
+      []
+     ],
+     "q-unit-case-insensitivity-002.html.ini": [
+      "591cc3814fd95dd75e8071ab501745222f2de5f3",
+      []
+     ],
      "reference": {
       "200-200-green.html": [
        "f3da3ddb3b8d90df91aa60d88f0c13d28eccef09",
@@ -323995,6 +324254,14 @@
       "98ec0d0c708407179339ee48bec3cbae86777699",
       []
      ],
+     "abs-pos-non-replaced-icb-vlr-011.xht.ini": [
+      "5e9dc1104a4789328b613384ca9cd5549ea037d1",
+      []
+     ],
+     "abs-pos-non-replaced-icb-vlr-021.xht.ini": [
+      "1e30480ae348ca3a05eafd867b8ecf7eecd5c716",
+      []
+     ],
      "abs-pos-non-replaced-icb-vrl-004-ref.xht": [
       "8153a72aff210565ae77aaaaa2fc8cfe4dd03029",
       []
@@ -324003,6 +324270,10 @@
       "47837c03a7a044b719646b1bb4e46ba06e8da758",
       []
      ],
+     "abs-pos-non-replaced-icb-vrl-010.xht.ini": [
+      "c14a6f604c5c879cfcfb581a817bd0d53525816a",
+      []
+     ],
      "abs-pos-non-replaced-vlr-003-ref.xht": [
       "2c269fa0965e69a9efcee2d14f8889bb81c87396",
       []
@@ -324115,6 +324386,26 @@
       "2476a7890383298db98f083f436887583910e8b6",
       []
      ],
+     "bidi-embed-011.html.ini": [
+      "24d8182da813af8f5ef6b67b97c588a25775536c",
+      []
+     ],
+     "bidi-isolate-011.html.ini": [
+      "406eb5a391f81a60b2d1a35c44d54fea30ed80e3",
+      []
+     ],
+     "bidi-normal-011.html.ini": [
+      "43b7578ac76f1d49fbc7f122f4a4d7a8a029e819",
+      []
+     ],
+     "bidi-override-006.html.ini": [
+      "4fcb4f057fcd2001d35971ad66a4e13bb5300189",
+      []
+     ],
+     "bidi-plaintext-001.html.ini": [
+      "c62a2915fbdeb0c958bc5c33f82e2e4504325ea6",
+      []
+     ],
      "block-flow-direction-001-ref.xht": [
       "b3f4ef46f28abae1f615017926829f252c1fa3e1",
       []
@@ -324219,6 +324510,10 @@
       "9ba9a041f4ce57438fb0adf85ea156b211513ce2",
       []
      ],
+     "different-block-flow-dir-002.xht.ini": [
+      "de7b6a5976f0d6d3b1f9220ce1ceac3b1d92b38c",
+      []
+     ],
      "direction-propagation-body-contain-root-ref.html": [
       "4371a0d87628093e23d794b33b868042d93b50a0",
       []
@@ -324545,6 +324840,10 @@
       "2cc002053b9699998ef208bbbf7b8ef649cca7aa",
       []
      ],
+     "mongolian-orientation-002.html.ini": [
+      "432215e7e1583a65ffc50cf3d91bf589b81842d1",
+      []
+     ],
      "ortho-htb-alongside-vrl-floats-002-ref.xht": [
       "bd5b1c1391a83809e6118578cd38e62cc5cbb6a5",
       []
@@ -326812,7 +327111,7 @@
       []
      ],
      "font-family-serialization-001.html.ini": [
-      "d39aade52a316bcd8f7f35b5363920d719f462d0",
+      "32f02aacd772145124174d16e4cd3ee405a9e0a7",
       []
      ],
      "font-variant-shorthand-serialization-expected.txt": [
@@ -327581,6 +327880,10 @@
       "36c509ff95d9b667018d070f4c1c7d334437ce37",
       []
      ],
+     "backdrop-filter-edge-pixels.html.ini": [
+      "eae5460c44e75bcbe2aa12f31907534064987bd8",
+      []
+     ],
      "backdrop-filter-fixed-clip-ref.html": [
       "38a8c8b253a9302f230fe5d4b073eac0d9a38df6",
       []
@@ -327621,6 +327924,10 @@
       "aa7224fdea0b3c37137250709f5691f1c6498099",
       []
      ],
+     "backdrop-filter-plus-will-change-opacity.html.ini": [
+      "8a9605589dedb0ecb7188e585a3f6d89d33d5f90",
+      []
+     ],
      "backdrop-filter-reference-filter.html.ini": [
       "597d9dc086ddc868f91715eb8526629a735fc669",
       []
@@ -327681,10 +327988,18 @@
       "575c56d740820954458b20a5a8cb3a7a9ce1dd7a",
       []
      ],
+     "css-backdrop-filters-animation-combined.html.ini": [
+      "ca94199d9b3ab120cda5f8b589a6cb9ed46d4d41",
+      []
+     ],
      "css-backdrop-filters-animation-contrast-ref.html": [
       "b118df6b39e8050f2a07a7154ab79b9fae6c71c3",
       []
      ],
+     "css-backdrop-filters-animation-contrast.html.ini": [
+      "de16b0ac7928158c4ecf5a1f6cbb6a44075f49c8",
+      []
+     ],
      "css-backdrop-filters-animation-drop-shadow-ref.html": [
       "4d1f43792c071fd439314de1f798f4d740419c01",
       []
@@ -328429,6 +328744,14 @@
       "e0829db3d9282a76cc3fd2039bfbf968080f3a6f",
       []
      ],
+     "mq-gamut-001.html.ini": [
+      "2a9a0ab380fcfb89746a87622fa6e39dc06461b3",
+      []
+     ],
+     "mq-gamut-004.html.ini": [
+      "bbf1d6b53cea55c89c336c7ffa089e7705892472",
+      []
+     ],
      "mq-non-matching-lazy-load.tentative.html.ini": [
       "d525f32fb4d2c72b250a88520093f148bf738e45",
       []
@@ -332758,7 +333081,7 @@
       []
      ],
      "bold.html.ini": [
-      "7cc2347a144effc07ca36b2e22894693e3692934",
+      "4661c3faf5e26d64126ec729ee4993930298e80b",
       []
      ],
      "bold_3001-last-expected.txt": [
@@ -332778,7 +333101,7 @@
       []
      ],
      "delete.html.ini": [
-      "2e183812714cef4e15eeab11d5a433a515fc6aac",
+      "dfde04d67ae924cd8d5878546a943f790f075ba1",
       []
      ],
      "delete_1-1000-expected.txt": [
@@ -333094,7 +333417,7 @@
       []
      ],
      "italic.html.ini": [
-      "84235f3158078683c34895048c469ffc24a04ee1",
+      "9ebafea066f76085d7462644cda63c66373db3de",
       []
      ],
      "italic_2001-last-expected.txt": [
@@ -333102,7 +333425,7 @@
       []
      ],
      "justifycenter.html.ini": [
-      "2610e9cff5e8a0050fb6439126a649772012ffef",
+      "d52d516450c516fa5b36f425aab03c728aea07d1",
       []
      ],
      "justifycenter_1-1000-expected.txt": [
@@ -333118,7 +333441,7 @@
       []
      ],
      "justifyfull.html.ini": [
-      "f9fc9a7d74797789f856507ae3080dae3b22303c",
+      "3721a5438267c1b094cd2f3ff89a3f30068ca90a",
       []
      ],
      "justifyfull_1-1000-expected.txt": [
@@ -333150,7 +333473,7 @@
       []
      ],
      "justifyright.html.ini": [
-      "0ee52fd1ec6e6bfe7545d36241d05bbe4edbf4dc",
+      "752fcb63762af1ec7d93b7b63ca5e7416c66bda2",
       []
      ],
      "justifyright_1-1000-expected.txt": [
@@ -333250,7 +333573,7 @@
       []
      ],
      "strikethrough.html.ini": [
-      "fa364770a4d86243bec8928b42edff25c7e6e438",
+      "b086effe8c721e50f3c5bbdb0536f6ce8054a111",
       []
      ],
      "strikethrough_1-1000-expected.txt": [
@@ -333258,15 +333581,15 @@
       []
      ],
      "subscript.html.ini": [
-      "c1bd8f1f45d6972e462db55ddd498860e8e82b16",
+      "6855388939c6380bd2bb9d14038845e24213d137",
       []
      ],
      "superscript.html.ini": [
-      "c7d8ae4441d9bd383ecebc671e34c53d8f856bb4",
+      "f98bcaa1ffa529c5153c41ca289bf81b7cdaedba",
       []
      ],
      "underline.html.ini": [
-      "cd921e63f1c35e361b1e4338187edb02dfcad6af",
+      "b0acb2088cf22cc28dfddea472a13bf5b2725a75",
       []
      ],
      "underline_1-1000-expected.txt": [
@@ -337671,7 +337994,7 @@
        []
       ],
       "support.sub.js": [
-       "29942a2111f616b22b37935be82573a053fe5fc5",
+       "210184ec4b654e6529adb70d47d058945e5bc298",
        []
       ],
       "worker-blob-fetcher.html": [
@@ -337744,11 +338067,11 @@
       []
      ],
      "shared-worker-fetch.window-expected.txt": [
-      "6582e090205b186708b0fb3261026a7d1b28de16",
+      "27ca7e55b73e1908f085c56aaf18094723171f89",
       []
      ],
      "shared-worker-fetch.window.js.ini": [
-      "5ce69801a6f73b69fc3cd5a582b96656100c70ee",
+      "d1f917576c908489c9f3750da001df7ace9c153b",
       []
      ],
      "shared-worker.https.window-expected.txt": [
@@ -337784,7 +338107,7 @@
       []
      ],
      "worker-fetch.window-expected.txt": [
-      "fee1eeb981f1839af1367ccb853c9c64e01ee188",
+      "704fdf845ae321cec9e5d9577c0de494d34484c0",
       []
      ],
      "worker-fetch.window.js.ini": [
@@ -342943,6 +343266,10 @@
         "c6e046747c6092994e7f72c3132299b3dada8978",
         []
        ],
+       "open-features-non-integer-innerheight.html.ini": [
+        "aadc15b7492590b3a6bc7106f2fed3a5000777a7",
+        []
+       ],
        "open-features-non-integer-left-expected.txt": [
         "62b1506da1c9b363345ccfdd989590ac6ec30d5c",
         []
@@ -342975,6 +343302,10 @@
         "f6468a026208668b3407234247731b85bdacec1d",
         []
        ],
+       "open-features-tokenization-innerheight-innerwidth.html.ini": [
+        "0689c5196416b1c98615f0c6bf76f2b368d9d9a9",
+        []
+       ],
        "open-features-tokenization-screenx-screeny-expected.txt": [
         "e61cfc377a907412433bab95a1a50748d8c36d93",
         []
@@ -343064,6 +343395,10 @@
        "ba9df39fbb40986537c7a4688da7dd7ea82e32f2",
        []
       ],
+      "window-open-noopener.html.ini": [
+       "4143b18682caf2d301f3358533c1ad4ee34dc424",
+       []
+      ],
       "window-open-windowfeatures-values.html.ini": [
        "4e65b225227558e664e0e89e9e65295f059a1899",
        []
@@ -344449,9 +344784,37 @@
          []
         ],
         "resources": {
-         "squares.jpg": [
+         "squares_1.jpg": [
+          "0f0e8866b4d11f707e94b12be0042e0f4527bfab",
+          []
+         ],
+         "squares_2.jpg": [
+          "526f7a6c8299ef2d214e3c0966a8655b7a056f8a",
+          []
+         ],
+         "squares_3.jpg": [
+          "a21e521c2d6046048e0e808532d06f45d6b8c5c5",
+          []
+         ],
+         "squares_4.jpg": [
+          "c4380b1e671539a869f821afc59e6d6702d44256",
+          []
+         ],
+         "squares_5.jpg": [
+          "0bdd89aa1bbc66d270d5549140cd58ec7bae4ea6",
+          []
+         ],
+         "squares_6.jpg": [
           "f197760a111e07c54419d1993130aa1fee5982e8",
           []
+         ],
+         "squares_7.jpg": [
+          "9b1a346888dfb4d6064bb4d05291f8cece48566c",
+          []
+         ],
+         "squares_8.jpg": [
+          "41d2fbe7f0f4df153d911345b0304471410d093b",
+          []
          ]
         },
         "serialize-worker.js": [
@@ -345679,7 +346042,7 @@
        []
       ],
       "utils.js": [
-       "37c0226be731738fe93e0c8bd068718adba933fa",
+       "575028763eb682167f81356941cb187f051f1fdd",
        []
       ]
      }
@@ -345739,11 +346102,11 @@
        []
       ],
       "dedicated-worker.https.window-expected.txt": [
-       "7ecbf9ce7d5e1358c846788eb555627ca00c4833",
+       "5fb1dc3a939b01928a2b54bde26f3394102182f7",
        []
       ],
       "dedicated-worker.https.window.js.ini": [
-       "b6774be464eb3230ff34a04073d45b37e6081b19",
+       "41e7c4c00c288c4fc169f7e14958c25e8178f926",
        []
       ],
       "resources": {
@@ -346262,7 +346625,7 @@
       []
      ],
      "iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https.html.ini": [
-      "5fc35bf2d5e2d060a4a257e4922ef04dad4d055e",
+      "681a037119e223fef511c025f400301891d19ccb",
       []
      ],
      "iframe-popup-same-origin-allow-popups-to-same-origin.https.html.headers": [
@@ -352239,6 +352602,10 @@
         "aab9ded40a44aa888745a4a544ff6b6874015624",
         []
        ],
+       "audio-without-controls.html.ini": [
+        "664cc92be7f85a0660a50718af53533f945a43e9",
+        []
+       ],
        "canvas-fallback-ref.html": [
         "9077591f46641b6bb7670c62deb1c77e27beb27f",
         []
@@ -353082,6 +353449,14 @@
          "c7b889f261cf398efbb70c12ef1d94e2602a238e",
          []
         ],
+        "resource-selection-invoke-load.html.ini": [
+         "365b6cf029eaacf7a862724d1eb952c976f255b4",
+         []
+        ],
+        "resource-selection-invoke-pause-networkState.html.ini": [
+         "e2ed6076e67fa61f15e4355e8c9438474e1eae63",
+         []
+        ],
         "resource-selection-invoke-pause.html.ini": [
          "76f3133073a1cd3aed0a837e46342f8869878e18",
          []
@@ -353090,6 +353465,10 @@
          "564df60f70ad3c254503ff0157c4f94d4c6b58a0",
          []
         ],
+        "resource-selection-invoke-set-src-not-in-document.html.ini": [
+         "b5b4f9d832f0d4904827a71dee1d10206557ebb1",
+         []
+        ],
         "resource-selection-invoke-set-src.html.ini": [
          "56dd7e4ff52c98768bf3cdef241c6399e6ee2e38",
          []
@@ -353233,7 +353612,7 @@
          []
         ],
         "autoplay-hidden.optional.html.ini": [
-         "f65accc3d62a830b1f5eaf70e88c75045873e229",
+         "6b415c1d996ef58876e977472de772c628fd72c9",
          []
         ]
        },
@@ -354828,7 +355207,7 @@
         []
        ],
        "select-event.html.ini": [
-        "f16f5f555a25814d83e37931afc0da02c2c84f72",
+        "b076c60f2d9c1482ca06be7e3bf7b060942afe66",
         []
        ]
       },
@@ -359493,6 +359872,12 @@
        ]
       }
      },
+     "microtask-queuing": {
+      "queue-microtask-exceptions.any.js.ini": [
+       "659aea945ade636961d0c64bc363a61c7f8b2596",
+       []
+      ]
+     },
      "scripting": {
       "event-loops": {
        "fully_active_document.window-expected.txt": [
@@ -360382,6 +360767,14 @@
     ]
    },
    "inert": {
+    "inert-inlines-around-selection-range-in-contenteditable-expected.txt": [
+     "b9ad0e89e2c13ea8462bb43ede82a3dc447d3e5e",
+     []
+    ],
+    "inert-inlines-around-selection-range-in-contenteditable.html.ini": [
+     "2d0927a29cadcf464f2a66b0aa30bcd038054d13",
+     []
+    ],
     "inert-pseudo-element-hittest-expected.txt": [
      "3d2acbc0527f656902f7f5ee0ce52df34bb19c54",
      []
@@ -362101,7 +362494,7 @@
      []
     ],
     "cross-origin-iframe.sub.html.ini": [
-     "ab342f88a8b46d36df9f6a2b8ee910c10c45293e",
+     "73c2850b1b15b8e16630cf80718dfcb51a526408",
      []
     ],
     "idlharness.window-expected.txt": [
@@ -363585,11 +363978,11 @@
     "relations": {
      "css-styling": {
       "attribute-mapping-002-expected.txt": [
-       "4332842182639c8ef65a47d1c384a6acc733c405",
+       "fa1126812e58e3efb11c68bcf1ee6f531cf9656a",
        []
       ],
       "attribute-mapping-002.html.ini": [
-       "b41ad0e22881433b4058da22b6e5e5a9c26d7610",
+       "143e7e309dc39461f1b4972aff39d174d3e69895",
        []
       ],
       "blur-filter-ref.html": [
@@ -363731,7 +364124,7 @@
        []
       ],
       "mathvariant-auto-ref.html": [
-       "f8eaf7a7751b68c7a0108420b4789cd6fba8a6b3",
+       "105ba412e6e5734e7dbaa48f655fd57419cc108c",
        []
       ],
       "mathvariant-basic-transforms-with-default-font-ref.html": [
@@ -363751,7 +364144,7 @@
        []
       ],
       "mathvariant-bold-italic-ref.html": [
-       "c5eaa22e196c7e8858b0faeb6c35b0becade641d",
+       "9a93a37e35b2314e66d576280f36bc6a385de728",
        []
       ],
       "mathvariant-bold-italic.html.ini": [
@@ -363759,11 +364152,11 @@
        []
       ],
       "mathvariant-bold-ref.html": [
-       "3a727872d6e285b1544764c2c0f46ce2d141a001",
+       "ac24ab5b003301a3b46c21c0eee985ddf137f384",
        []
       ],
       "mathvariant-bold-sans-serif-ref.html": [
-       "ec292b8e91493bde90049a2d2de7af6882d5f5d3",
+       "78c0cc5ea624f56be0d5f127ad5bc77f3e665985",
        []
       ],
       "mathvariant-bold-sans-serif.html.ini": [
@@ -363799,7 +364192,7 @@
        []
       ],
       "mathvariant-double-struck-ref.html": [
-       "686aa492e0f08ef340ae3de7c1856170743cfe72",
+       "ebdb7a15b0d23c3dacfb4baf6cd2c25808b93cc5",
        []
       ],
       "mathvariant-double-struck.html.ini": [
@@ -363819,7 +364212,7 @@
        []
       ],
       "mathvariant-initial-ref.html": [
-       "597277aaec3c987280844e17fd4c497b8fce2436",
+       "5d5b72a1c5c3622413d8b4ee02ed8da7fde3d6f2",
        []
       ],
       "mathvariant-initial.html.ini": [
@@ -363827,7 +364220,7 @@
        []
       ],
       "mathvariant-italic-ref.html": [
-       "f503794efb1058fc5bdf904335e701931015e400",
+       "e2078c2948aa4f60c9c90492dd12bf413616690a",
        []
       ],
       "mathvariant-italic.html.ini": [
@@ -363835,7 +364228,7 @@
        []
       ],
       "mathvariant-looped-ref.html": [
-       "12ccb490a1f33d5477eeefa35d99472b43c9a328",
+       "f00e5d87bb5a254581d84a74896b7c5ae027aedb",
        []
       ],
       "mathvariant-looped.html.ini": [
@@ -363843,7 +364236,7 @@
        []
       ],
       "mathvariant-monospace-ref.html": [
-       "bfa672afe535b2c3f004987b9badd2c79bc01258",
+       "1d4a0c0a52091313407dab41310196333c4b78e4",
        []
       ],
       "mathvariant-monospace.html.ini": [
@@ -363851,7 +364244,7 @@
        []
       ],
       "mathvariant-sans-serif-bold-italic-ref.html": [
-       "2b992affe5d780abe7fe909554f06786f399d515",
+       "f918db9b48ba579bc6342166737de0cdc1766c50",
        []
       ],
       "mathvariant-sans-serif-bold-italic.html.ini": [
@@ -363867,7 +364260,7 @@
        []
       ],
       "mathvariant-sans-serif-ref.html": [
-       "1087565b42d79985ee55b0a9334c6ec71a081812",
+       "ced5272ecb5447aeb7b5089eafd711db7e5e0926",
        []
       ],
       "mathvariant-sans-serif.html.ini": [
@@ -363883,7 +364276,7 @@
        []
       ],
       "mathvariant-stretched-ref.html": [
-       "8ad8f7b9bb6df8cdb8f9cb14308cc5df76cd5614",
+       "454f2004ac1f626930dffc021e7de62baa90bf7d",
        []
       ],
       "mathvariant-stretched.html.ini": [
@@ -363891,7 +364284,7 @@
        []
       ],
       "mathvariant-tailed-ref.html": [
-       "5273a28e6bf54411603d9d437aecd5e1ffcfd93d",
+       "5e1461cd33efb474661ae6bf5d6e7cb66fa262b1",
        []
       ],
       "mathvariant-tailed.html.ini": [
@@ -364083,6 +364476,10 @@
       "use-typo-metrics-1-ref.html": [
        "3f7f7640458639ab0b548489e04b63f98cdad40b",
        []
+      ],
+      "use-typo-metrics-1.html.ini": [
+       "e3061c2a4c24da2ee64c2f27d5b3c90ffdea368f",
+       []
       ]
      }
     },
@@ -364150,7 +364547,7 @@
       []
      ],
      "mathvariant-transforms.py": [
-      "49c20876a33dfeb22f8307b5c80d951099ce1edb",
+      "f2e9f182f0ac057d7422e81926653e2d289619da",
       []
      ],
      "operator-dictionary.py": [
@@ -364203,7 +364600,7 @@
        []
       ],
       "mathfont.py": [
-       "79772a24cb5e8b4269005ef5337495062ccdb8f8",
+       "ff11cc56f766e0fe586a4afe6c5b88542c4b50e0",
        []
       ],
       "misc.py": [
@@ -366540,6 +366937,12 @@
       []
      ]
     },
+    "scroll-behavior": {
+     "scroll-after-preventDefault.html.ini": [
+      "95d1a1f3885adf2aa18dc39fed96151b0ddac9ce",
+      []
+     ]
+    },
     "state": {
      "cross-document-getState-undefined.html.ini": [
       "e3155f6614c90648ed1d03e9a78247a5efa159a6",
@@ -371319,7 +371722,7 @@
      []
     ],
     "content-type-parsing.html.ini": [
-     "8788f3d6c8f2bea8772b49b60c9f07f0e262e3df",
+     "0e0bff05278009181cb49ce86b505e119b6f7a84",
      []
     ],
     "frameset-timing.html": [
@@ -372133,7 +372536,13 @@
     "feature-policy.https-expected.txt": [
      "54ed00de803e12c4bb9429803e7b62daf5fc4a2b",
      []
-    ]
+    ],
+    "resources": {
+     "delegate-request-subframe.sub.html": [
+      "2b3295bc20cde83a14683f258fdcb810c0b39a3b",
+      []
+     ]
+    }
    },
    "screen-details": {
     "META.yml": [
@@ -379526,6 +379935,10 @@
        "21ec28a244e0c2f0197380a3c28b4debf688c1ef",
        []
       ],
+      "pathlength-002.svg.ini": [
+       "99f7a4c75948f0e36dea57976e83f4758e16de00",
+       []
+      ],
       "pathlength-003-ref.svg": [
        "8d6f43f9d87438d078babf47430c774b0286f6b6",
        []
@@ -382413,7 +382826,7 @@
     "interfaces": {
      "Animatable": {
       "animate-expected.txt": [
-       "21c307bc2492c6a4649eb0bbedf7615684459158",
+       "85ab7a24e5f0469fbe90f95d233350c8bc12bf1f",
        []
       ],
       "animate-no-browsing-context-expected.txt": [
@@ -383755,7 +384168,7 @@
      []
     ],
     "full-cycle-test.https.any.js.ini": [
-     "7598d732c7221068a977c10ed2d721be2037d97a",
+     "2f53f6b3b96edb7f2b9897431eb279ff82e4bd2b",
      []
     ],
     "h264.annexb": [
@@ -383791,7 +384204,7 @@
      []
     ],
     "reconfiguring-encoder.https.any.js.ini": [
-     "04c7129c4fbc23c6cf91b7ed1a0837cf96e5d5a5",
+     "c09e6422627446e12b6e2f1b490df2e757ed7051",
      []
     ],
     "sfx-aac.mp4": [
@@ -383819,7 +384232,7 @@
      []
     ],
     "temporal-svc-encoding.https.any.js.ini": [
-     "db6dce688bf7cd5fdc56864334e51c5c515584b1",
+     "d217851c95cc627f17fd89a788b55463051d9025",
      []
     ],
     "utils.js": [
@@ -384829,6 +385242,10 @@
       "225bd7a41e38280bdb0891ecbf8cd4c39a4c3029",
       []
      ],
+     "020.html.ini": [
+      "0a16a392a2613129aa07950c9344517abbfbca22",
+      []
+     ],
      "025-1.js": [
       "bd1d778d9b32651b05f1b7364459ed4096646528",
       []
@@ -385400,6 +385817,14 @@
      "ed647bbe78fed07eb31fb89274edee8be96ae8e8",
      []
     ],
+    "RTCPeerConnection-relay-canvas.https-expected.txt": [
+     "0068e34ed04e62ceb80a763704688cd491b918f0",
+     []
+    ],
+    "RTCPeerConnection-relay-canvas.https.html.ini": [
+     "7802b045d23d2a78c51164dd5a6879d47b0a29ac",
+     []
+    ],
     "RTCPeerConnection-remote-track-mute.https.html.ini": [
      "ff81054455a19db13fae66a53a7bbfd73171b3e3",
      []
@@ -385501,7 +385926,7 @@
      []
     ],
     "RTCRtpParameters-encodings-expected.txt": [
-     "b0b528e4136e5c13924f0cbb0f502fe08e4263e5",
+     "f0c8275395fe16b15ef3e319844752c45ad3d18f",
      []
     ],
     "RTCRtpParameters-encodings.html.ini": [
@@ -385512,6 +385937,10 @@
      "dd8ae0cc06d28b29865e61c5365600cbed465f35",
      []
     ],
+    "RTCRtpParameters-transactionId-expected.txt": [
+     "f50ee05bd96345bac86cfa13abdedf78c0bbb4f7",
+     []
+    ],
     "RTCRtpParameters-transactionId.html.ini": [
      "749197e2c6a99313eaa6b6db1e0bf95d74056e71",
      []
@@ -385524,6 +385953,10 @@
      "e2c11e68437eb1510e938ce381dfa9b863bfe137",
      []
     ],
+    "RTCRtpReceiver-getStats.https-expected.txt": [
+     "f168452b1f19380b6f28ae7242bb4510c0f8ca7d",
+     []
+    ],
     "RTCRtpReceiver-getStats.https.html.ini": [
      "8fe54305e9d5dc447850c0170610b839166c4c23",
      []
@@ -385536,6 +385969,10 @@
      "a0afd8e47d81d8e5b22e4674fdc6ac4e1e470d10",
      []
     ],
+    "RTCRtpSender-getStats.https-expected.txt": [
+     "9561222826aeb3e46b8f3fbadd30a2fc68788e76",
+     []
+    ],
     "RTCRtpSender-getStats.https.html.ini": [
      "f8e9bbdaec1cf675b7ff0996b014afcdc609b223",
      []
@@ -385561,7 +385998,7 @@
      []
     ],
     "RTCStats-helper.js": [
-     "e504550c0c73a8add2b24f4dce299bed65ecb919",
+     "29d4940a8ae80ea4acc9929bccd71de3b5b83b80",
      []
     ],
     "coverage": {
@@ -386656,6 +387093,14 @@
        "f453bf19e7850b844e8afaa0ca2aebae8602d779",
        []
       ],
+      "close.any.js.ini": [
+       "4c5ec50594edf22acd79a21d76a1cd025a822270",
+       []
+      ],
+      "constructor.any.js.ini": [
+       "21540c71b1fff53cf369385e343dab1db1de87bb",
+       []
+      ],
       "constructor.any.serviceworker_wpt_flags=h2-expected.txt": [
        "ea8cfb4d6b6fb2a9070f67f571dfce682f0b4661",
        []
@@ -387911,6 +388356,10 @@
         "4b956da4482c1f8ba3cec6c14fa55e9e57980ce0",
         []
        ],
+       "embedded_style_multiple_tracks.html.ini": [
+        "5b1c4f152aac1292aae05ae6c455d1303b560259",
+        []
+       ],
        "embedded_style_selectors-ref.html": [
         "754eed88b7ac420bb8cf07fa15cc0867d80e80fa",
         []
@@ -392460,6 +392909,10 @@
      "9fb8be1b5efe80a8fccb8de5c10f0b544ebf308e",
      []
     ],
+    "xhr-timeout-longtask.any.js.ini": [
+     "c3c8ec031672f111b9bbdfeffe8a01680a4234f5",
+     []
+    ],
     "xmlhttprequest-sync-block-defer-scripts-subframe.html": [
      "be46a12b6f716f659e702e34cef36d8f2bd8b495",
      []
@@ -494512,7 +494965,7 @@
       ]
      ],
      "shared-worker-fetch.window.js": [
-      "1c772003a16667b2979bff14f25b36c1c87f1e58",
+      "9bc1a89beadc673afe783eb56b5e0b2560dbf408",
       [
        "fetch/private-network-access/shared-worker-fetch.window.html",
        {
@@ -494594,7 +495047,7 @@
       ]
      ],
      "worker-blob-fetch.window.js": [
-      "27cfa155c14cacfd0f25538bf6c25ecef67775b7",
+      "e119746b8a6b298a2c57bde63f03a59d8e72d477",
       [
        "fetch/private-network-access/worker-blob-fetch.window.html",
        {
@@ -494630,7 +495083,7 @@
       ]
      ],
      "worker-fetch.window.js": [
-      "1a57a106a651dd676084a6428a2e6bae2c310655",
+      "4d6b12f06715a8aaa88e2a290531713c036df3c1",
       [
        "fetch/private-network-access/worker-fetch.window.html",
        {
@@ -494798,7 +495251,7 @@
       ]
      ],
      "xhr.window.js": [
-      "b45f8283e93cbab37a11c8ce9ffbee9b5e19e073",
+      "fa307dc559a76cb3cd3f70f76a3c904f4602a442",
       [
        "fetch/private-network-access/xhr.window.html",
        {
@@ -508766,7 +509219,14 @@
          ]
         ],
         "createImageBitmap-exif-orientation.html": [
-         "d476d090ce896b38df9a0785fe6364b5c648ddc7",
+         "8b2a33e85b1ff0b2b167483c04d10d9e9288317a",
+         [
+          null,
+          {}
+         ]
+        ],
+        "createImageBitmap-exif-orientation_none.html": [
+         "807925b88a5744a260f6a1967cfedec9454ffb5e",
          [
           null,
           {}
@@ -508822,7 +509282,7 @@
          ]
         ],
         "imagebitmap-replication-exif-orientation.html": [
-         "b04a76121effe42a2166eed421d17102913d816d",
+         "ab4331adefbf4fea814a7bd50cf093429622257c",
          [
           null,
           {}
@@ -524747,7 +525207,7 @@
        ]
       ],
       "dedicated-worker.https.window.js": [
-       "780780565f54bb19bcaebf3d58619e4bafb2cfa3",
+       "b06ec56210814544585e6352f29bc60d7373408a",
        [
         "html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.html",
         {
@@ -540449,7 +540909,7 @@
        ]
       ],
       "popover-anchor-idl-property.html": [
-       "37c79efe1cafe45012627e8b56ab638eaf3c2b95",
+       "7b497ce09e6e192619b675b01b0ee21caa18a3e5",
        [
         null,
         {}
@@ -540503,7 +540963,7 @@
        ]
       ],
       "popover-focus-2.html": [
-       "569b633886cf6a77546a5bd6680b339ff05db1c3",
+       "463a048436d8e1131aa0e99227fa755396b5eb28",
        [
         null,
         {
@@ -540519,7 +540979,7 @@
        ]
       ],
       "popover-focus.html": [
-       "307ca8a80f553ce31d5cbf1666ddacf63641cdaf",
+       "a8555d7647c1d5e16620a8e7259a049360359587",
        [
         null,
         {
@@ -540529,7 +540989,7 @@
        ]
       ],
       "popover-invoking-attribute.html": [
-       "d0098d32738d84cc43a8c91f0f5342671f2d2e10",
+       "7b1dc20adf9beaa13ce2bb304659269cbb3d94ab",
        [
         null,
         {
@@ -540546,7 +541006,7 @@
        ]
       ],
       "popover-light-dismiss.html": [
-       "587418bd86fcc170adae86a258163d9418252987",
+       "2e9fdb43ec78eaf727ea3180e83b102f59927817",
        [
         null,
         {
@@ -540586,21 +541046,21 @@
        ]
       ],
       "popover-stacking.html": [
-       "bdd6feb20eead682790d1e3814272f3f1a384aa4",
+       "a18333577c0787431a7217b1edada1a97ef00b6c",
        [
         null,
         {}
        ]
       ],
       "popover-target-element-disabled.html": [
-       "3d139c5950eb6bc1048c10e0ea6053369cb93403",
+       "92c28a4b6c58d6726533e0c59f580e01448fc06c",
        [
         null,
         {}
        ]
       ],
       "popover-top-layer-combinations.html": [
-       "c8e4211ef5c1358a5f611442513ada939e4b7022",
+       "95f666e0c9d7ed25ab152f3ff4c7029ba8a10f69",
        [
         null,
         {
@@ -550706,7 +551166,7 @@
      ]
     ],
     "inert-inlines-around-selection-range-in-contenteditable.html": [
-     "ff00e16a7a436fb31adbfd81e24c38f490e1f226",
+     "c22c798084dcdb5123f5bf88a3bbe93f831cee46",
      [
       null,
       {}
@@ -555748,7 +556208,7 @@
        ]
       ],
       "attribute-mapping-002.html": [
-       "388b1415b538474e62e64dc920c1f6fb4fa53949",
+       "cad267731a39008aa4f964d7c4813a85689e2177",
        [
         null,
         {}
@@ -560142,6 +560602,13 @@
        {}
       ]
      ],
+     "focus-reset-timing.html": [
+      "df9f03afe9f3699cc9feb9a44e9e69dce25c7558",
+      [
+       null,
+       {}
+      ]
+     ],
      "multiple-intercept.html": [
       "75e38c98a40f1bdf6ad1d08e1bbd470ea92d64c1",
       [
@@ -562231,7 +562698,7 @@
       ]
      ],
      "after-transition-explicit-scroll.html": [
-      "83d5cffd2d09682ed6fbadd58b9de9beae28a236",
+      "4b7d0754747821aeb61e93dd0ae657ad5cef8821",
       [
        null,
        {}
@@ -562287,7 +562754,7 @@
       ]
      ],
      "manual-immediate-scroll.html": [
-      "112910d46f751d4177b15ce4d0a86e52ad2e2b54",
+      "bafcf6b25628cf76f456fb148b1e88d7b2dafe1c",
       [
        null,
        {}
@@ -562329,7 +562796,7 @@
       ]
      ],
      "manual-scroll-repeated.html": [
-      "f9bdb749690f6e50465f69fc8ad15525d9a08508",
+      "12391460880e034da168f95bec91ed9c6de91362",
       [
        null,
        {}
@@ -562349,6 +562816,20 @@
        {}
       ]
      ],
+     "scroll-after-preventDefault.html": [
+      "d83d341feb1d71f84f8e54a95af5f15aa41106b9",
+      [
+       null,
+       {}
+      ]
+     ],
+     "scroll-on-synthetic-event.html": [
+      "7efc2d1d980f28800783b3555c27dbec98b2081b",
+      [
+       null,
+       {}
+      ]
+     ],
      "scroll-without-intercept.html": [
       "b3958352c72776b0371a24e27fc5c270232ae55e",
       [
@@ -568710,7 +569191,7 @@
      ]
     ],
     "modulepreload.html": [
-     "58830fe064b5dfaa25e39d3982723a430dea6f0e",
+     "0e4b6923e32e83ac3b8f3018537352aa120df6c5",
      [
       null,
       {}
@@ -584533,6 +585014,15 @@
     ]
    },
    "screen-capture": {
+    "delegate-request.https.sub.html": [
+     "8cc81c13832d9cd051e35a884d354a0835e58f81",
+     [
+      null,
+      {
+       "testdriver": true
+      }
+     ]
+    ],
     "getdisplaymedia-after-discard.https.html": [
      "445120f8c2f0878c7aa27033595be6531475ea79",
      [
@@ -611819,7 +612309,7 @@
        ]
       ],
       "animate.html": [
-       "dad633ba9a2ca0ed10574c973b036f76b738d0db",
+       "7a5151a79f3d8ce7a3bea71ac647d00bbf4b66b1",
        [
         null,
         {}
@@ -623084,7 +623574,7 @@
      ]
     ],
     "RTCRtpParameters-transactionId.html": [
-     "2aa43f48573677f855efaae3b884143ff6277738",
+     "a0fa0fab25937230809cc220edf2cbf44100ada9",
      [
       null,
       {}
@@ -623112,7 +623602,7 @@
      ]
     ],
     "RTCRtpReceiver-getStats.https.html": [
-     "3ba6c7127869765e2974bf8c5b2be8678892fe4e",
+     "06d0f0b39bf57814114bd35c68156b89752e0c64",
      [
       null,
       {
@@ -623146,7 +623636,7 @@
      ]
     ],
     "RTCRtpSender-getStats.https.html": [
-     "2b7dbe9e746fc17a8a0c41873762530f141c6322",
+     "27ac3e952f11d37ad50581465e6d8e8454982677",
      [
       null,
       {
@@ -636406,7 +636896,7 @@
    },
    "webtransport": {
     "close.https.any.js": [
-     "d1f66751926016252ea28f60b751f069014f66e7",
+     "b6b367badf5c75e758bd23b35b8f2a41f09fdff4",
      [
       "webtransport/close.https.any.html",
       {
@@ -636580,7 +637070,7 @@
      ]
     ],
     "constructor.https.any.js": [
-     "acb91d84aae34844842a87adabd5adb13dce0c6b",
+     "0f39c4993bd99c9fd99b845bbafc01330215b840",
      [
       "webtransport/constructor.https.any.html",
       {
@@ -636596,6 +637086,10 @@
         [
          "script",
          "resources/webtransport-test-helpers.sub.js"
+        ],
+        [
+         "script",
+         "/common/utils.js"
         ]
        ]
       }
@@ -636615,6 +637109,10 @@
         [
          "script",
          "resources/webtransport-test-helpers.sub.js"
+        ],
+        [
+         "script",
+         "/common/utils.js"
         ]
        ]
       }
@@ -636634,6 +637132,10 @@
         [
          "script",
          "resources/webtransport-test-helpers.sub.js"
+        ],
+        [
+         "script",
+         "/common/utils.js"
         ]
        ]
       }
@@ -636653,6 +637155,10 @@
         [
          "script",
          "resources/webtransport-test-helpers.sub.js"
+        ],
+        [
+         "script",
+         "/common/utils.js"
         ]
        ]
       }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-inline/initial-letter/initial-letter-float-004.html.ini b/third_party/blink/web_tests/external/wpt/css/css-inline/initial-letter/initial-letter-float-004.html.ini
new file mode 100644
index 0000000..fcbbb514
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-inline/initial-letter/initial-letter-float-004.html.ini
@@ -0,0 +1,2 @@
+[initial-letter-float-004.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-inline/initial-letter/initial-letter-raise-initial-vrl.html.ini b/third_party/blink/web_tests/external/wpt/css/css-inline/initial-letter/initial-letter-raise-initial-vrl.html.ini
new file mode 100644
index 0000000..6355a29
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-inline/initial-letter/initial-letter-raise-initial-vrl.html.ini
@@ -0,0 +1,2 @@
+[initial-letter-raise-initial-vrl.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-inline/initial-letter/initial-letter-raised-sunken-caps-raise.html.ini b/third_party/blink/web_tests/external/wpt/css/css-inline/initial-letter/initial-letter-raised-sunken-caps-raise.html.ini
new file mode 100644
index 0000000..8e1806ae
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-inline/initial-letter/initial-letter-raised-sunken-caps-raise.html.ini
@@ -0,0 +1,2 @@
+[initial-letter-raised-sunken-caps-raise.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-inline/initial-letter/initial-letter-sunk-initial.html.ini b/third_party/blink/web_tests/external/wpt/css/css-inline/initial-letter/initial-letter-sunk-initial.html.ini
new file mode 100644
index 0000000..47f90b16
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-inline/initial-letter/initial-letter-sunk-initial.html.ini
@@ -0,0 +1,2 @@
+[initial-letter-sunk-initial.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-001-ref.html
similarity index 99%
rename from third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-001.tentative-ref.html
rename to third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-001-ref.html
index d41d6187..d6418a3 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-001.tentative-ref.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-001-ref.html
@@ -23,68 +23,66 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D715;</span>=<span>1D715</span></span>
-  <span><span class="testfont">&#x1D6FB;</span>=<span>1D6FB</span></span>
-  <span><span class="testfont">&#x1D6A5;</span>=<span>1D6A5</span></span>
   <span><span class="testfont">&#x1D434;</span>=<span>1D434</span></span>
   <span><span class="testfont">&#x1D435;</span>=<span>1D435</span></span>
   <span><span class="testfont">&#x1D436;</span>=<span>1D436</span></span>
   <span><span class="testfont">&#x1D437;</span>=<span>1D437</span></span>
   <span><span class="testfont">&#x1D438;</span>=<span>1D438</span></span>
   <span><span class="testfont">&#x1D439;</span>=<span>1D439</span></span>
-  <span><span class="testfont">&#x1D43A;</span>=<span>1D43A</span></span><br/>
+  <span><span class="testfont">&#x1D43A;</span>=<span>1D43A</span></span>
   <span><span class="testfont">&#x1D43B;</span>=<span>1D43B</span></span>
   <span><span class="testfont">&#x1D43C;</span>=<span>1D43C</span></span>
-  <span><span class="testfont">&#x1D43D;</span>=<span>1D43D</span></span>
+  <span><span class="testfont">&#x1D43D;</span>=<span>1D43D</span></span><br/>
   <span><span class="testfont">&#x1D43E;</span>=<span>1D43E</span></span>
   <span><span class="testfont">&#x1D43F;</span>=<span>1D43F</span></span>
   <span><span class="testfont">&#x1D440;</span>=<span>1D440</span></span>
   <span><span class="testfont">&#x1D441;</span>=<span>1D441</span></span>
   <span><span class="testfont">&#x1D442;</span>=<span>1D442</span></span>
   <span><span class="testfont">&#x1D443;</span>=<span>1D443</span></span>
-  <span><span class="testfont">&#x1D444;</span>=<span>1D444</span></span><br/>
+  <span><span class="testfont">&#x1D444;</span>=<span>1D444</span></span>
   <span><span class="testfont">&#x1D445;</span>=<span>1D445</span></span>
   <span><span class="testfont">&#x1D446;</span>=<span>1D446</span></span>
-  <span><span class="testfont">&#x1D447;</span>=<span>1D447</span></span>
+  <span><span class="testfont">&#x1D447;</span>=<span>1D447</span></span><br/>
   <span><span class="testfont">&#x1D448;</span>=<span>1D448</span></span>
   <span><span class="testfont">&#x1D449;</span>=<span>1D449</span></span>
   <span><span class="testfont">&#x1D44A;</span>=<span>1D44A</span></span>
   <span><span class="testfont">&#x1D44B;</span>=<span>1D44B</span></span>
   <span><span class="testfont">&#x1D44C;</span>=<span>1D44C</span></span>
   <span><span class="testfont">&#x1D44D;</span>=<span>1D44D</span></span>
-  <span><span class="testfont">&#x1D44E;</span>=<span>1D44E</span></span><br/>
+  <span><span class="testfont">&#x1D44E;</span>=<span>1D44E</span></span>
   <span><span class="testfont">&#x1D44F;</span>=<span>1D44F</span></span>
   <span><span class="testfont">&#x1D450;</span>=<span>1D450</span></span>
-  <span><span class="testfont">&#x1D451;</span>=<span>1D451</span></span>
+  <span><span class="testfont">&#x1D451;</span>=<span>1D451</span></span><br/>
   <span><span class="testfont">&#x1D452;</span>=<span>1D452</span></span>
   <span><span class="testfont">&#x1D453;</span>=<span>1D453</span></span>
   <span><span class="testfont">&#x1D454;</span>=<span>1D454</span></span>
   <span><span class="testfont">&#x210E;</span>=<span>0210E</span></span>
   <span><span class="testfont">&#x1D456;</span>=<span>1D456</span></span>
   <span><span class="testfont">&#x1D457;</span>=<span>1D457</span></span>
-  <span><span class="testfont">&#x1D458;</span>=<span>1D458</span></span><br/>
+  <span><span class="testfont">&#x1D458;</span>=<span>1D458</span></span>
   <span><span class="testfont">&#x1D459;</span>=<span>1D459</span></span>
   <span><span class="testfont">&#x1D45A;</span>=<span>1D45A</span></span>
-  <span><span class="testfont">&#x1D45B;</span>=<span>1D45B</span></span>
+  <span><span class="testfont">&#x1D45B;</span>=<span>1D45B</span></span><br/>
   <span><span class="testfont">&#x1D45C;</span>=<span>1D45C</span></span>
   <span><span class="testfont">&#x1D45D;</span>=<span>1D45D</span></span>
   <span><span class="testfont">&#x1D45E;</span>=<span>1D45E</span></span>
   <span><span class="testfont">&#x1D45F;</span>=<span>1D45F</span></span>
   <span><span class="testfont">&#x1D460;</span>=<span>1D460</span></span>
   <span><span class="testfont">&#x1D461;</span>=<span>1D461</span></span>
-  <span><span class="testfont">&#x1D462;</span>=<span>1D462</span></span><br/>
+  <span><span class="testfont">&#x1D462;</span>=<span>1D462</span></span>
   <span><span class="testfont">&#x1D463;</span>=<span>1D463</span></span>
   <span><span class="testfont">&#x1D464;</span>=<span>1D464</span></span>
-  <span><span class="testfont">&#x1D465;</span>=<span>1D465</span></span>
+  <span><span class="testfont">&#x1D465;</span>=<span>1D465</span></span><br/>
   <span><span class="testfont">&#x1D466;</span>=<span>1D466</span></span>
   <span><span class="testfont">&#x1D467;</span>=<span>1D467</span></span>
   <span><span class="testfont">&#x1D6A4;</span>=<span>1D6A4</span></span>
+  <span><span class="testfont">&#x1D6A5;</span>=<span>1D6A5</span></span>
   <span><span class="testfont">&#x1D6E2;</span>=<span>1D6E2</span></span>
   <span><span class="testfont">&#x1D6E3;</span>=<span>1D6E3</span></span>
   <span><span class="testfont">&#x1D6E4;</span>=<span>1D6E4</span></span>
-  <span><span class="testfont">&#x1D6E5;</span>=<span>1D6E5</span></span><br/>
+  <span><span class="testfont">&#x1D6E5;</span>=<span>1D6E5</span></span>
   <span><span class="testfont">&#x1D6E6;</span>=<span>1D6E6</span></span>
-  <span><span class="testfont">&#x1D6E7;</span>=<span>1D6E7</span></span>
+  <span><span class="testfont">&#x1D6E7;</span>=<span>1D6E7</span></span><br/>
   <span><span class="testfont">&#x1D6E8;</span>=<span>1D6E8</span></span>
   <span><span class="testfont">&#x1D6E9;</span>=<span>1D6E9</span></span>
   <span><span class="testfont">&#x1D6EA;</span>=<span>1D6EA</span></span>
@@ -92,17 +90,19 @@
   <span><span class="testfont">&#x1D6EC;</span>=<span>1D6EC</span></span>
   <span><span class="testfont">&#x1D6ED;</span>=<span>1D6ED</span></span>
   <span><span class="testfont">&#x1D6EE;</span>=<span>1D6EE</span></span>
-  <span><span class="testfont">&#x1D6EF;</span>=<span>1D6EF</span></span><br/>
+  <span><span class="testfont">&#x1D6EF;</span>=<span>1D6EF</span></span>
   <span><span class="testfont">&#x1D6F0;</span>=<span>1D6F0</span></span>
-  <span><span class="testfont">&#x1D6F1;</span>=<span>1D6F1</span></span>
+  <span><span class="testfont">&#x1D6F1;</span>=<span>1D6F1</span></span><br/>
   <span><span class="testfont">&#x1D6F2;</span>=<span>1D6F2</span></span>
+  <span><span class="testfont">&#x1D6F3;</span>=<span>1D6F3</span></span>
   <span><span class="testfont">&#x1D6F4;</span>=<span>1D6F4</span></span>
   <span><span class="testfont">&#x1D6F5;</span>=<span>1D6F5</span></span>
   <span><span class="testfont">&#x1D6F6;</span>=<span>1D6F6</span></span>
   <span><span class="testfont">&#x1D6F7;</span>=<span>1D6F7</span></span>
   <span><span class="testfont">&#x1D6F8;</span>=<span>1D6F8</span></span>
   <span><span class="testfont">&#x1D6F9;</span>=<span>1D6F9</span></span>
-  <span><span class="testfont">&#x1D6FA;</span>=<span>1D6FA</span></span><br/>
+  <span><span class="testfont">&#x1D6FA;</span>=<span>1D6FA</span></span>
+  <span><span class="testfont">&#x1D6FB;</span>=<span>1D6FB</span></span><br/>
   <span><span class="testfont">&#x1D6FC;</span>=<span>1D6FC</span></span>
   <span><span class="testfont">&#x1D6FD;</span>=<span>1D6FD</span></span>
   <span><span class="testfont">&#x1D6FE;</span>=<span>1D6FE</span></span>
@@ -128,12 +128,12 @@
   <span><span class="testfont">&#x1D712;</span>=<span>1D712</span></span>
   <span><span class="testfont">&#x1D713;</span>=<span>1D713</span></span>
   <span><span class="testfont">&#x1D714;</span>=<span>1D714</span></span>
-  <span><span class="testfont">&#x1D717;</span>=<span>1D717</span></span>
-  <span><span class="testfont">&#x1D719;</span>=<span>1D719</span></span>
-  <span><span class="testfont">&#x1D71B;</span>=<span>1D71B</span></span>
-  <span><span class="testfont">&#x1D718;</span>=<span>1D718</span></span>
-  <span><span class="testfont">&#x1D71A;</span>=<span>1D71A</span></span><br/>
-  <span><span class="testfont">&#x1D6F3;</span>=<span>1D6F3</span></span>
+  <span><span class="testfont">&#x1D715;</span>=<span>1D715</span></span>
   <span><span class="testfont">&#x1D716;</span>=<span>1D716</span></span>
+  <span><span class="testfont">&#x1D717;</span>=<span>1D717</span></span>
+  <span><span class="testfont">&#x1D718;</span>=<span>1D718</span></span>
+  <span><span class="testfont">&#x1D719;</span>=<span>1D719</span></span><br/>
+  <span><span class="testfont">&#x1D71A;</span>=<span>1D71A</span></span>
+  <span><span class="testfont">&#x1D71B;</span>=<span>1D71B</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-001.html
similarity index 91%
rename from third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-001.tentative.html
rename to third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-001.html
index f5f08f6..db5e5b8 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-001.tentative.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-001.html
@@ -4,9 +4,9 @@
 <meta charset="utf-8"/>
 <title>text-transform math-auto</title>
 <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#italic-mappings">
-<link rel="match" href="text-transform-math-auto-001.tentative-ref.html"/>
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#italic-mappings">
+<link rel="match" href="text-transform-math-auto-001-ref.html"/>
 <meta name="assert" content="Verify that a character with 'text-transform: math-auto' renders the same as the transformed unicode character.">
 <style>
   @font-face {
@@ -28,68 +28,66 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-auto">&#x2202;</span>=<span>1D715</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x2207;</span>=<span>1D6FB</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x237;</span>=<span>1D6A5</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x41;</span>=<span>1D434</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x42;</span>=<span>1D435</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x43;</span>=<span>1D436</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x44;</span>=<span>1D437</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x45;</span>=<span>1D438</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x46;</span>=<span>1D439</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x47;</span>=<span>1D43A</span></span><br/>
+  <span><span class="testfont" style="text-transform: math-auto">&#x47;</span>=<span>1D43A</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x48;</span>=<span>1D43B</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x49;</span>=<span>1D43C</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x4A;</span>=<span>1D43D</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x4A;</span>=<span>1D43D</span></span><br/>
   <span><span class="testfont" style="text-transform: math-auto">&#x4B;</span>=<span>1D43E</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x4C;</span>=<span>1D43F</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x4D;</span>=<span>1D440</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x4E;</span>=<span>1D441</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x4F;</span>=<span>1D442</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x50;</span>=<span>1D443</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x51;</span>=<span>1D444</span></span><br/>
+  <span><span class="testfont" style="text-transform: math-auto">&#x51;</span>=<span>1D444</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x52;</span>=<span>1D445</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x53;</span>=<span>1D446</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x54;</span>=<span>1D447</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x54;</span>=<span>1D447</span></span><br/>
   <span><span class="testfont" style="text-transform: math-auto">&#x55;</span>=<span>1D448</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x56;</span>=<span>1D449</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x57;</span>=<span>1D44A</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x58;</span>=<span>1D44B</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x59;</span>=<span>1D44C</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x5A;</span>=<span>1D44D</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x61;</span>=<span>1D44E</span></span><br/>
+  <span><span class="testfont" style="text-transform: math-auto">&#x61;</span>=<span>1D44E</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x62;</span>=<span>1D44F</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x63;</span>=<span>1D450</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x64;</span>=<span>1D451</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x64;</span>=<span>1D451</span></span><br/>
   <span><span class="testfont" style="text-transform: math-auto">&#x65;</span>=<span>1D452</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x66;</span>=<span>1D453</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x67;</span>=<span>1D454</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x68;</span>=<span>0210E</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x69;</span>=<span>1D456</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x6A;</span>=<span>1D457</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x6B;</span>=<span>1D458</span></span><br/>
+  <span><span class="testfont" style="text-transform: math-auto">&#x6B;</span>=<span>1D458</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x6C;</span>=<span>1D459</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x6D;</span>=<span>1D45A</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x6E;</span>=<span>1D45B</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x6E;</span>=<span>1D45B</span></span><br/>
   <span><span class="testfont" style="text-transform: math-auto">&#x6F;</span>=<span>1D45C</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x70;</span>=<span>1D45D</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x71;</span>=<span>1D45E</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x72;</span>=<span>1D45F</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x73;</span>=<span>1D460</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x74;</span>=<span>1D461</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x75;</span>=<span>1D462</span></span><br/>
+  <span><span class="testfont" style="text-transform: math-auto">&#x75;</span>=<span>1D462</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x76;</span>=<span>1D463</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x77;</span>=<span>1D464</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x78;</span>=<span>1D465</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x78;</span>=<span>1D465</span></span><br/>
   <span><span class="testfont" style="text-transform: math-auto">&#x79;</span>=<span>1D466</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x7A;</span>=<span>1D467</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x131;</span>=<span>1D6A4</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x237;</span>=<span>1D6A5</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x391;</span>=<span>1D6E2</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x392;</span>=<span>1D6E3</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x393;</span>=<span>1D6E4</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x394;</span>=<span>1D6E5</span></span><br/>
+  <span><span class="testfont" style="text-transform: math-auto">&#x394;</span>=<span>1D6E5</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x395;</span>=<span>1D6E6</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x396;</span>=<span>1D6E7</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x396;</span>=<span>1D6E7</span></span><br/>
   <span><span class="testfont" style="text-transform: math-auto">&#x397;</span>=<span>1D6E8</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x398;</span>=<span>1D6E9</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x399;</span>=<span>1D6EA</span></span>
@@ -97,17 +95,19 @@
   <span><span class="testfont" style="text-transform: math-auto">&#x39B;</span>=<span>1D6EC</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x39C;</span>=<span>1D6ED</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x39D;</span>=<span>1D6EE</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x39E;</span>=<span>1D6EF</span></span><br/>
+  <span><span class="testfont" style="text-transform: math-auto">&#x39E;</span>=<span>1D6EF</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x39F;</span>=<span>1D6F0</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x3A0;</span>=<span>1D6F1</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x3A0;</span>=<span>1D6F1</span></span><br/>
   <span><span class="testfont" style="text-transform: math-auto">&#x3A1;</span>=<span>1D6F2</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x3F4;</span>=<span>1D6F3</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x3A3;</span>=<span>1D6F4</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x3A4;</span>=<span>1D6F5</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x3A5;</span>=<span>1D6F6</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x3A6;</span>=<span>1D6F7</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x3A7;</span>=<span>1D6F8</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x3A8;</span>=<span>1D6F9</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x3A9;</span>=<span>1D6FA</span></span><br/>
+  <span><span class="testfont" style="text-transform: math-auto">&#x3A9;</span>=<span>1D6FA</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x2207;</span>=<span>1D6FB</span></span><br/>
   <span><span class="testfont" style="text-transform: math-auto">&#x3B1;</span>=<span>1D6FC</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x3B2;</span>=<span>1D6FD</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x3B3;</span>=<span>1D6FE</span></span>
@@ -133,12 +133,12 @@
   <span><span class="testfont" style="text-transform: math-auto">&#x3C7;</span>=<span>1D712</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x3C8;</span>=<span>1D713</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x3C9;</span>=<span>1D714</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x3D1;</span>=<span>1D717</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x3D5;</span>=<span>1D719</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x3D6;</span>=<span>1D71B</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x3F0;</span>=<span>1D718</span></span>
-  <span><span class="testfont" style="text-transform: math-auto">&#x3F1;</span>=<span>1D71A</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-auto">&#x3F4;</span>=<span>1D6F3</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x2202;</span>=<span>1D715</span></span>
   <span><span class="testfont" style="text-transform: math-auto">&#x3F5;</span>=<span>1D716</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x3D1;</span>=<span>1D717</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x3F0;</span>=<span>1D718</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x3D5;</span>=<span>1D719</span></span><br/>
+  <span><span class="testfont" style="text-transform: math-auto">&#x3F1;</span>=<span>1D71A</span></span>
+  <span><span class="testfont" style="text-transform: math-auto">&#x3D6;</span>=<span>1D71B</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-002.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-002-ref.html
similarity index 100%
rename from third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-002.tentative-ref.html
rename to third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-002-ref.html
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-002.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-002.html
similarity index 93%
rename from third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-002.tentative.html
rename to third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-002.html
index 32bad74..34e43e718 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-002.tentative.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-auto-002.html
@@ -5,7 +5,7 @@
 <title>text-transform math-auto</title>
 <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
 <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="match" href="text-transform-math-auto-002.tentative-ref.html"/>
+<link rel="match" href="text-transform-math-auto-002-ref.html"/>
 <meta name="assert" content="Test 'text-transform: math-auto' for text nodes of different lengths">
 <style>
   @font-face {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-001.tentative-ref.html
deleted file mode 100644
index 24b8300..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-001.tentative-ref.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-bold (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-bold.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D6DB;</span>=<span>1D6DB</span></span>
-  <span><span class="testfont">&#x1D6C1;</span>=<span>1D6C1</span></span>
-  <span><span class="testfont">&#x1D7CE;</span>=<span>1D7CE</span></span>
-  <span><span class="testfont">&#x1D7CF;</span>=<span>1D7CF</span></span>
-  <span><span class="testfont">&#x1D7D0;</span>=<span>1D7D0</span></span>
-  <span><span class="testfont">&#x1D7D1;</span>=<span>1D7D1</span></span>
-  <span><span class="testfont">&#x1D7D2;</span>=<span>1D7D2</span></span>
-  <span><span class="testfont">&#x1D7D3;</span>=<span>1D7D3</span></span>
-  <span><span class="testfont">&#x1D7D4;</span>=<span>1D7D4</span></span>
-  <span><span class="testfont">&#x1D7D5;</span>=<span>1D7D5</span></span><br/>
-  <span><span class="testfont">&#x1D7D6;</span>=<span>1D7D6</span></span>
-  <span><span class="testfont">&#x1D7D7;</span>=<span>1D7D7</span></span>
-  <span><span class="testfont">&#x1D400;</span>=<span>1D400</span></span>
-  <span><span class="testfont">&#x1D401;</span>=<span>1D401</span></span>
-  <span><span class="testfont">&#x1D402;</span>=<span>1D402</span></span>
-  <span><span class="testfont">&#x1D403;</span>=<span>1D403</span></span>
-  <span><span class="testfont">&#x1D404;</span>=<span>1D404</span></span>
-  <span><span class="testfont">&#x1D405;</span>=<span>1D405</span></span>
-  <span><span class="testfont">&#x1D406;</span>=<span>1D406</span></span>
-  <span><span class="testfont">&#x1D407;</span>=<span>1D407</span></span><br/>
-  <span><span class="testfont">&#x1D408;</span>=<span>1D408</span></span>
-  <span><span class="testfont">&#x1D409;</span>=<span>1D409</span></span>
-  <span><span class="testfont">&#x1D40A;</span>=<span>1D40A</span></span>
-  <span><span class="testfont">&#x1D40B;</span>=<span>1D40B</span></span>
-  <span><span class="testfont">&#x1D40C;</span>=<span>1D40C</span></span>
-  <span><span class="testfont">&#x1D40D;</span>=<span>1D40D</span></span>
-  <span><span class="testfont">&#x1D40E;</span>=<span>1D40E</span></span>
-  <span><span class="testfont">&#x1D40F;</span>=<span>1D40F</span></span>
-  <span><span class="testfont">&#x1D410;</span>=<span>1D410</span></span>
-  <span><span class="testfont">&#x1D411;</span>=<span>1D411</span></span><br/>
-  <span><span class="testfont">&#x1D412;</span>=<span>1D412</span></span>
-  <span><span class="testfont">&#x1D413;</span>=<span>1D413</span></span>
-  <span><span class="testfont">&#x1D414;</span>=<span>1D414</span></span>
-  <span><span class="testfont">&#x1D415;</span>=<span>1D415</span></span>
-  <span><span class="testfont">&#x1D416;</span>=<span>1D416</span></span>
-  <span><span class="testfont">&#x1D417;</span>=<span>1D417</span></span>
-  <span><span class="testfont">&#x1D418;</span>=<span>1D418</span></span>
-  <span><span class="testfont">&#x1D419;</span>=<span>1D419</span></span>
-  <span><span class="testfont">&#x1D41A;</span>=<span>1D41A</span></span>
-  <span><span class="testfont">&#x1D41B;</span>=<span>1D41B</span></span><br/>
-  <span><span class="testfont">&#x1D41C;</span>=<span>1D41C</span></span>
-  <span><span class="testfont">&#x1D41D;</span>=<span>1D41D</span></span>
-  <span><span class="testfont">&#x1D41E;</span>=<span>1D41E</span></span>
-  <span><span class="testfont">&#x1D41F;</span>=<span>1D41F</span></span>
-  <span><span class="testfont">&#x1D420;</span>=<span>1D420</span></span>
-  <span><span class="testfont">&#x1D421;</span>=<span>1D421</span></span>
-  <span><span class="testfont">&#x1D422;</span>=<span>1D422</span></span>
-  <span><span class="testfont">&#x1D423;</span>=<span>1D423</span></span>
-  <span><span class="testfont">&#x1D424;</span>=<span>1D424</span></span>
-  <span><span class="testfont">&#x1D425;</span>=<span>1D425</span></span><br/>
-  <span><span class="testfont">&#x1D426;</span>=<span>1D426</span></span>
-  <span><span class="testfont">&#x1D427;</span>=<span>1D427</span></span>
-  <span><span class="testfont">&#x1D428;</span>=<span>1D428</span></span>
-  <span><span class="testfont">&#x1D429;</span>=<span>1D429</span></span>
-  <span><span class="testfont">&#x1D42A;</span>=<span>1D42A</span></span>
-  <span><span class="testfont">&#x1D42B;</span>=<span>1D42B</span></span>
-  <span><span class="testfont">&#x1D42C;</span>=<span>1D42C</span></span>
-  <span><span class="testfont">&#x1D42D;</span>=<span>1D42D</span></span>
-  <span><span class="testfont">&#x1D42E;</span>=<span>1D42E</span></span>
-  <span><span class="testfont">&#x1D42F;</span>=<span>1D42F</span></span><br/>
-  <span><span class="testfont">&#x1D430;</span>=<span>1D430</span></span>
-  <span><span class="testfont">&#x1D431;</span>=<span>1D431</span></span>
-  <span><span class="testfont">&#x1D432;</span>=<span>1D432</span></span>
-  <span><span class="testfont">&#x1D433;</span>=<span>1D433</span></span>
-  <span><span class="testfont">&#x1D6A8;</span>=<span>1D6A8</span></span>
-  <span><span class="testfont">&#x1D6A9;</span>=<span>1D6A9</span></span>
-  <span><span class="testfont">&#x1D6AA;</span>=<span>1D6AA</span></span>
-  <span><span class="testfont">&#x1D6AB;</span>=<span>1D6AB</span></span>
-  <span><span class="testfont">&#x1D6AC;</span>=<span>1D6AC</span></span>
-  <span><span class="testfont">&#x1D6AD;</span>=<span>1D6AD</span></span><br/>
-  <span><span class="testfont">&#x1D6AE;</span>=<span>1D6AE</span></span>
-  <span><span class="testfont">&#x1D6AF;</span>=<span>1D6AF</span></span>
-  <span><span class="testfont">&#x1D6B0;</span>=<span>1D6B0</span></span>
-  <span><span class="testfont">&#x1D6B1;</span>=<span>1D6B1</span></span>
-  <span><span class="testfont">&#x1D6B2;</span>=<span>1D6B2</span></span>
-  <span><span class="testfont">&#x1D6B3;</span>=<span>1D6B3</span></span>
-  <span><span class="testfont">&#x1D6B4;</span>=<span>1D6B4</span></span>
-  <span><span class="testfont">&#x1D6B5;</span>=<span>1D6B5</span></span>
-  <span><span class="testfont">&#x1D6B6;</span>=<span>1D6B6</span></span>
-  <span><span class="testfont">&#x1D6B7;</span>=<span>1D6B7</span></span><br/>
-  <span><span class="testfont">&#x1D6B8;</span>=<span>1D6B8</span></span>
-  <span><span class="testfont">&#x1D6BA;</span>=<span>1D6BA</span></span>
-  <span><span class="testfont">&#x1D6BB;</span>=<span>1D6BB</span></span>
-  <span><span class="testfont">&#x1D6BC;</span>=<span>1D6BC</span></span>
-  <span><span class="testfont">&#x1D6BD;</span>=<span>1D6BD</span></span>
-  <span><span class="testfont">&#x1D6BE;</span>=<span>1D6BE</span></span>
-  <span><span class="testfont">&#x1D6BF;</span>=<span>1D6BF</span></span>
-  <span><span class="testfont">&#x1D6C0;</span>=<span>1D6C0</span></span>
-  <span><span class="testfont">&#x1D6C2;</span>=<span>1D6C2</span></span>
-  <span><span class="testfont">&#x1D6C3;</span>=<span>1D6C3</span></span><br/>
-  <span><span class="testfont">&#x1D6C4;</span>=<span>1D6C4</span></span>
-  <span><span class="testfont">&#x1D6C5;</span>=<span>1D6C5</span></span>
-  <span><span class="testfont">&#x1D6C6;</span>=<span>1D6C6</span></span>
-  <span><span class="testfont">&#x1D6C7;</span>=<span>1D6C7</span></span>
-  <span><span class="testfont">&#x1D6C8;</span>=<span>1D6C8</span></span>
-  <span><span class="testfont">&#x1D6C9;</span>=<span>1D6C9</span></span>
-  <span><span class="testfont">&#x1D6CA;</span>=<span>1D6CA</span></span>
-  <span><span class="testfont">&#x1D6CB;</span>=<span>1D6CB</span></span>
-  <span><span class="testfont">&#x1D6CC;</span>=<span>1D6CC</span></span>
-  <span><span class="testfont">&#x1D6CD;</span>=<span>1D6CD</span></span><br/>
-  <span><span class="testfont">&#x1D6CE;</span>=<span>1D6CE</span></span>
-  <span><span class="testfont">&#x1D6CF;</span>=<span>1D6CF</span></span>
-  <span><span class="testfont">&#x1D6D0;</span>=<span>1D6D0</span></span>
-  <span><span class="testfont">&#x1D6D1;</span>=<span>1D6D1</span></span>
-  <span><span class="testfont">&#x1D6D2;</span>=<span>1D6D2</span></span>
-  <span><span class="testfont">&#x1D6D3;</span>=<span>1D6D3</span></span>
-  <span><span class="testfont">&#x1D6D4;</span>=<span>1D6D4</span></span>
-  <span><span class="testfont">&#x1D6D5;</span>=<span>1D6D5</span></span>
-  <span><span class="testfont">&#x1D6D6;</span>=<span>1D6D6</span></span>
-  <span><span class="testfont">&#x1D6D7;</span>=<span>1D6D7</span></span><br/>
-  <span><span class="testfont">&#x1D6D8;</span>=<span>1D6D8</span></span>
-  <span><span class="testfont">&#x1D6D9;</span>=<span>1D6D9</span></span>
-  <span><span class="testfont">&#x1D6DA;</span>=<span>1D6DA</span></span>
-  <span><span class="testfont">&#x1D6DD;</span>=<span>1D6DD</span></span>
-  <span><span class="testfont">&#x1D6DF;</span>=<span>1D6DF</span></span>
-  <span><span class="testfont">&#x1D6E1;</span>=<span>1D6E1</span></span>
-  <span><span class="testfont">&#x1D7CA;</span>=<span>1D7CA</span></span>
-  <span><span class="testfont">&#x1D7CB;</span>=<span>1D7CB</span></span>
-  <span><span class="testfont">&#x1D6DE;</span>=<span>1D6DE</span></span>
-  <span><span class="testfont">&#x1D6E0;</span>=<span>1D6E0</span></span><br/>
-  <span><span class="testfont">&#x1D6B9;</span>=<span>1D6B9</span></span>
-  <span><span class="testfont">&#x1D6DC;</span>=<span>1D6DC</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-001.tentative.html
deleted file mode 100644
index 06b9ea6..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-001.tentative.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-bold</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#bold-mappings">
-<link rel="match" href="text-transform-math-bold-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-bold' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-bold.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-bold">&#x2202;</span>=<span>1D6DB</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x2207;</span>=<span>1D6C1</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x30;</span>=<span>1D7CE</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x31;</span>=<span>1D7CF</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x32;</span>=<span>1D7D0</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x33;</span>=<span>1D7D1</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x34;</span>=<span>1D7D2</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x35;</span>=<span>1D7D3</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x36;</span>=<span>1D7D4</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x37;</span>=<span>1D7D5</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold">&#x38;</span>=<span>1D7D6</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x39;</span>=<span>1D7D7</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x41;</span>=<span>1D400</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x42;</span>=<span>1D401</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x43;</span>=<span>1D402</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x44;</span>=<span>1D403</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x45;</span>=<span>1D404</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x46;</span>=<span>1D405</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x47;</span>=<span>1D406</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x48;</span>=<span>1D407</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold">&#x49;</span>=<span>1D408</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x4A;</span>=<span>1D409</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x4B;</span>=<span>1D40A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x4C;</span>=<span>1D40B</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x4D;</span>=<span>1D40C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x4E;</span>=<span>1D40D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x4F;</span>=<span>1D40E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x50;</span>=<span>1D40F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x51;</span>=<span>1D410</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x52;</span>=<span>1D411</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold">&#x53;</span>=<span>1D412</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x54;</span>=<span>1D413</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x55;</span>=<span>1D414</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x56;</span>=<span>1D415</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x57;</span>=<span>1D416</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x58;</span>=<span>1D417</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x59;</span>=<span>1D418</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x5A;</span>=<span>1D419</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x61;</span>=<span>1D41A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x62;</span>=<span>1D41B</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold">&#x63;</span>=<span>1D41C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x64;</span>=<span>1D41D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x65;</span>=<span>1D41E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x66;</span>=<span>1D41F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x67;</span>=<span>1D420</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x68;</span>=<span>1D421</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x69;</span>=<span>1D422</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x6A;</span>=<span>1D423</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x6B;</span>=<span>1D424</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x6C;</span>=<span>1D425</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold">&#x6D;</span>=<span>1D426</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x6E;</span>=<span>1D427</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x6F;</span>=<span>1D428</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x70;</span>=<span>1D429</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x71;</span>=<span>1D42A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x72;</span>=<span>1D42B</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x73;</span>=<span>1D42C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x74;</span>=<span>1D42D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x75;</span>=<span>1D42E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x76;</span>=<span>1D42F</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold">&#x77;</span>=<span>1D430</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x78;</span>=<span>1D431</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x79;</span>=<span>1D432</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x7A;</span>=<span>1D433</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x391;</span>=<span>1D6A8</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x392;</span>=<span>1D6A9</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x393;</span>=<span>1D6AA</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x394;</span>=<span>1D6AB</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x395;</span>=<span>1D6AC</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x396;</span>=<span>1D6AD</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold">&#x397;</span>=<span>1D6AE</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x398;</span>=<span>1D6AF</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x399;</span>=<span>1D6B0</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x39A;</span>=<span>1D6B1</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x39B;</span>=<span>1D6B2</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x39C;</span>=<span>1D6B3</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x39D;</span>=<span>1D6B4</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x39E;</span>=<span>1D6B5</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x39F;</span>=<span>1D6B6</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3A0;</span>=<span>1D6B7</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3A1;</span>=<span>1D6B8</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3A3;</span>=<span>1D6BA</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3A4;</span>=<span>1D6BB</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3A5;</span>=<span>1D6BC</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3A6;</span>=<span>1D6BD</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3A7;</span>=<span>1D6BE</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3A8;</span>=<span>1D6BF</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3A9;</span>=<span>1D6C0</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3B1;</span>=<span>1D6C2</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3B2;</span>=<span>1D6C3</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3B3;</span>=<span>1D6C4</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3B4;</span>=<span>1D6C5</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3B5;</span>=<span>1D6C6</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3B6;</span>=<span>1D6C7</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3B7;</span>=<span>1D6C8</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3B8;</span>=<span>1D6C9</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3B9;</span>=<span>1D6CA</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3BA;</span>=<span>1D6CB</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3BB;</span>=<span>1D6CC</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3BC;</span>=<span>1D6CD</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3BD;</span>=<span>1D6CE</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3BE;</span>=<span>1D6CF</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3BF;</span>=<span>1D6D0</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3C0;</span>=<span>1D6D1</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3C1;</span>=<span>1D6D2</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3C2;</span>=<span>1D6D3</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3C3;</span>=<span>1D6D4</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3C4;</span>=<span>1D6D5</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3C5;</span>=<span>1D6D6</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3C6;</span>=<span>1D6D7</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3C7;</span>=<span>1D6D8</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3C8;</span>=<span>1D6D9</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3C9;</span>=<span>1D6DA</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3D1;</span>=<span>1D6DD</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3D5;</span>=<span>1D6DF</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3D6;</span>=<span>1D6E1</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3DC;</span>=<span>1D7CA</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3DD;</span>=<span>1D7CB</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3F0;</span>=<span>1D6DE</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3F1;</span>=<span>1D6E0</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3F4;</span>=<span>1D6B9</span></span>
-  <span><span class="testfont" style="text-transform: math-bold">&#x3F5;</span>=<span>1D6DC</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-001.tentative.html.ini
deleted file mode 100644
index 9b69ed9..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-bold-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-fraktur-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-fraktur-001.tentative-ref.html
deleted file mode 100644
index 36339bd..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-fraktur-001.tentative-ref.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-bold-fraktur (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-bold-fraktur.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D56C;</span>=<span>1D56C</span></span>
-  <span><span class="testfont">&#x1D56D;</span>=<span>1D56D</span></span>
-  <span><span class="testfont">&#x1D56E;</span>=<span>1D56E</span></span>
-  <span><span class="testfont">&#x1D56F;</span>=<span>1D56F</span></span>
-  <span><span class="testfont">&#x1D570;</span>=<span>1D570</span></span>
-  <span><span class="testfont">&#x1D571;</span>=<span>1D571</span></span>
-  <span><span class="testfont">&#x1D572;</span>=<span>1D572</span></span>
-  <span><span class="testfont">&#x1D573;</span>=<span>1D573</span></span>
-  <span><span class="testfont">&#x1D574;</span>=<span>1D574</span></span>
-  <span><span class="testfont">&#x1D575;</span>=<span>1D575</span></span><br/>
-  <span><span class="testfont">&#x1D576;</span>=<span>1D576</span></span>
-  <span><span class="testfont">&#x1D577;</span>=<span>1D577</span></span>
-  <span><span class="testfont">&#x1D578;</span>=<span>1D578</span></span>
-  <span><span class="testfont">&#x1D579;</span>=<span>1D579</span></span>
-  <span><span class="testfont">&#x1D57A;</span>=<span>1D57A</span></span>
-  <span><span class="testfont">&#x1D57B;</span>=<span>1D57B</span></span>
-  <span><span class="testfont">&#x1D57C;</span>=<span>1D57C</span></span>
-  <span><span class="testfont">&#x1D57D;</span>=<span>1D57D</span></span>
-  <span><span class="testfont">&#x1D57E;</span>=<span>1D57E</span></span>
-  <span><span class="testfont">&#x1D57F;</span>=<span>1D57F</span></span><br/>
-  <span><span class="testfont">&#x1D580;</span>=<span>1D580</span></span>
-  <span><span class="testfont">&#x1D581;</span>=<span>1D581</span></span>
-  <span><span class="testfont">&#x1D582;</span>=<span>1D582</span></span>
-  <span><span class="testfont">&#x1D583;</span>=<span>1D583</span></span>
-  <span><span class="testfont">&#x1D584;</span>=<span>1D584</span></span>
-  <span><span class="testfont">&#x1D585;</span>=<span>1D585</span></span>
-  <span><span class="testfont">&#x1D586;</span>=<span>1D586</span></span>
-  <span><span class="testfont">&#x1D587;</span>=<span>1D587</span></span>
-  <span><span class="testfont">&#x1D588;</span>=<span>1D588</span></span>
-  <span><span class="testfont">&#x1D589;</span>=<span>1D589</span></span><br/>
-  <span><span class="testfont">&#x1D58A;</span>=<span>1D58A</span></span>
-  <span><span class="testfont">&#x1D58B;</span>=<span>1D58B</span></span>
-  <span><span class="testfont">&#x1D58C;</span>=<span>1D58C</span></span>
-  <span><span class="testfont">&#x1D58D;</span>=<span>1D58D</span></span>
-  <span><span class="testfont">&#x1D58E;</span>=<span>1D58E</span></span>
-  <span><span class="testfont">&#x1D58F;</span>=<span>1D58F</span></span>
-  <span><span class="testfont">&#x1D590;</span>=<span>1D590</span></span>
-  <span><span class="testfont">&#x1D591;</span>=<span>1D591</span></span>
-  <span><span class="testfont">&#x1D592;</span>=<span>1D592</span></span>
-  <span><span class="testfont">&#x1D593;</span>=<span>1D593</span></span><br/>
-  <span><span class="testfont">&#x1D594;</span>=<span>1D594</span></span>
-  <span><span class="testfont">&#x1D595;</span>=<span>1D595</span></span>
-  <span><span class="testfont">&#x1D596;</span>=<span>1D596</span></span>
-  <span><span class="testfont">&#x1D597;</span>=<span>1D597</span></span>
-  <span><span class="testfont">&#x1D598;</span>=<span>1D598</span></span>
-  <span><span class="testfont">&#x1D599;</span>=<span>1D599</span></span>
-  <span><span class="testfont">&#x1D59A;</span>=<span>1D59A</span></span>
-  <span><span class="testfont">&#x1D59B;</span>=<span>1D59B</span></span>
-  <span><span class="testfont">&#x1D59C;</span>=<span>1D59C</span></span>
-  <span><span class="testfont">&#x1D59D;</span>=<span>1D59D</span></span><br/>
-  <span><span class="testfont">&#x1D59E;</span>=<span>1D59E</span></span>
-  <span><span class="testfont">&#x1D59F;</span>=<span>1D59F</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-fraktur-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-fraktur-001.tentative.html
deleted file mode 100644
index 76de945..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-fraktur-001.tentative.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-bold-fraktur</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#bold-fraktur-mappings">
-<link rel="match" href="text-transform-math-bold-fraktur-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-bold-fraktur' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-bold-fraktur.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x41;</span>=<span>1D56C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x42;</span>=<span>1D56D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x43;</span>=<span>1D56E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x44;</span>=<span>1D56F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x45;</span>=<span>1D570</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x46;</span>=<span>1D571</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x47;</span>=<span>1D572</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x48;</span>=<span>1D573</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x49;</span>=<span>1D574</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x4A;</span>=<span>1D575</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x4B;</span>=<span>1D576</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x4C;</span>=<span>1D577</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x4D;</span>=<span>1D578</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x4E;</span>=<span>1D579</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x4F;</span>=<span>1D57A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x50;</span>=<span>1D57B</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x51;</span>=<span>1D57C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x52;</span>=<span>1D57D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x53;</span>=<span>1D57E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x54;</span>=<span>1D57F</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x55;</span>=<span>1D580</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x56;</span>=<span>1D581</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x57;</span>=<span>1D582</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x58;</span>=<span>1D583</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x59;</span>=<span>1D584</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x5A;</span>=<span>1D585</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x61;</span>=<span>1D586</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x62;</span>=<span>1D587</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x63;</span>=<span>1D588</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x64;</span>=<span>1D589</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x65;</span>=<span>1D58A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x66;</span>=<span>1D58B</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x67;</span>=<span>1D58C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x68;</span>=<span>1D58D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x69;</span>=<span>1D58E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x6A;</span>=<span>1D58F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x6B;</span>=<span>1D590</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x6C;</span>=<span>1D591</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x6D;</span>=<span>1D592</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x6E;</span>=<span>1D593</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x6F;</span>=<span>1D594</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x70;</span>=<span>1D595</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x71;</span>=<span>1D596</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x72;</span>=<span>1D597</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x73;</span>=<span>1D598</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x74;</span>=<span>1D599</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x75;</span>=<span>1D59A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x76;</span>=<span>1D59B</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x77;</span>=<span>1D59C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x78;</span>=<span>1D59D</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x79;</span>=<span>1D59E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-fraktur">&#x7A;</span>=<span>1D59F</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-fraktur-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-fraktur-001.tentative.html.ini
deleted file mode 100644
index ae16ce3e..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-fraktur-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-bold-fraktur-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-italic-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-italic-001.tentative-ref.html
deleted file mode 100644
index e4e70cf..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-italic-001.tentative-ref.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-bold-italic (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-bold-italic.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D74F;</span>=<span>1D74F</span></span>
-  <span><span class="testfont">&#x1D735;</span>=<span>1D735</span></span>
-  <span><span class="testfont">&#x1D468;</span>=<span>1D468</span></span>
-  <span><span class="testfont">&#x1D469;</span>=<span>1D469</span></span>
-  <span><span class="testfont">&#x1D46A;</span>=<span>1D46A</span></span>
-  <span><span class="testfont">&#x1D46B;</span>=<span>1D46B</span></span>
-  <span><span class="testfont">&#x1D46C;</span>=<span>1D46C</span></span>
-  <span><span class="testfont">&#x1D46D;</span>=<span>1D46D</span></span>
-  <span><span class="testfont">&#x1D46E;</span>=<span>1D46E</span></span>
-  <span><span class="testfont">&#x1D46F;</span>=<span>1D46F</span></span><br/>
-  <span><span class="testfont">&#x1D470;</span>=<span>1D470</span></span>
-  <span><span class="testfont">&#x1D471;</span>=<span>1D471</span></span>
-  <span><span class="testfont">&#x1D472;</span>=<span>1D472</span></span>
-  <span><span class="testfont">&#x1D473;</span>=<span>1D473</span></span>
-  <span><span class="testfont">&#x1D474;</span>=<span>1D474</span></span>
-  <span><span class="testfont">&#x1D475;</span>=<span>1D475</span></span>
-  <span><span class="testfont">&#x1D476;</span>=<span>1D476</span></span>
-  <span><span class="testfont">&#x1D477;</span>=<span>1D477</span></span>
-  <span><span class="testfont">&#x1D478;</span>=<span>1D478</span></span>
-  <span><span class="testfont">&#x1D479;</span>=<span>1D479</span></span><br/>
-  <span><span class="testfont">&#x1D47A;</span>=<span>1D47A</span></span>
-  <span><span class="testfont">&#x1D47B;</span>=<span>1D47B</span></span>
-  <span><span class="testfont">&#x1D47C;</span>=<span>1D47C</span></span>
-  <span><span class="testfont">&#x1D47D;</span>=<span>1D47D</span></span>
-  <span><span class="testfont">&#x1D47E;</span>=<span>1D47E</span></span>
-  <span><span class="testfont">&#x1D47F;</span>=<span>1D47F</span></span>
-  <span><span class="testfont">&#x1D480;</span>=<span>1D480</span></span>
-  <span><span class="testfont">&#x1D481;</span>=<span>1D481</span></span>
-  <span><span class="testfont">&#x1D482;</span>=<span>1D482</span></span>
-  <span><span class="testfont">&#x1D483;</span>=<span>1D483</span></span><br/>
-  <span><span class="testfont">&#x1D484;</span>=<span>1D484</span></span>
-  <span><span class="testfont">&#x1D485;</span>=<span>1D485</span></span>
-  <span><span class="testfont">&#x1D486;</span>=<span>1D486</span></span>
-  <span><span class="testfont">&#x1D487;</span>=<span>1D487</span></span>
-  <span><span class="testfont">&#x1D488;</span>=<span>1D488</span></span>
-  <span><span class="testfont">&#x1D489;</span>=<span>1D489</span></span>
-  <span><span class="testfont">&#x1D48A;</span>=<span>1D48A</span></span>
-  <span><span class="testfont">&#x1D48B;</span>=<span>1D48B</span></span>
-  <span><span class="testfont">&#x1D48C;</span>=<span>1D48C</span></span>
-  <span><span class="testfont">&#x1D48D;</span>=<span>1D48D</span></span><br/>
-  <span><span class="testfont">&#x1D48E;</span>=<span>1D48E</span></span>
-  <span><span class="testfont">&#x1D48F;</span>=<span>1D48F</span></span>
-  <span><span class="testfont">&#x1D490;</span>=<span>1D490</span></span>
-  <span><span class="testfont">&#x1D491;</span>=<span>1D491</span></span>
-  <span><span class="testfont">&#x1D492;</span>=<span>1D492</span></span>
-  <span><span class="testfont">&#x1D493;</span>=<span>1D493</span></span>
-  <span><span class="testfont">&#x1D494;</span>=<span>1D494</span></span>
-  <span><span class="testfont">&#x1D495;</span>=<span>1D495</span></span>
-  <span><span class="testfont">&#x1D496;</span>=<span>1D496</span></span>
-  <span><span class="testfont">&#x1D497;</span>=<span>1D497</span></span><br/>
-  <span><span class="testfont">&#x1D498;</span>=<span>1D498</span></span>
-  <span><span class="testfont">&#x1D499;</span>=<span>1D499</span></span>
-  <span><span class="testfont">&#x1D49A;</span>=<span>1D49A</span></span>
-  <span><span class="testfont">&#x1D49B;</span>=<span>1D49B</span></span>
-  <span><span class="testfont">&#x1D71C;</span>=<span>1D71C</span></span>
-  <span><span class="testfont">&#x1D71D;</span>=<span>1D71D</span></span>
-  <span><span class="testfont">&#x1D71E;</span>=<span>1D71E</span></span>
-  <span><span class="testfont">&#x1D71F;</span>=<span>1D71F</span></span>
-  <span><span class="testfont">&#x1D720;</span>=<span>1D720</span></span>
-  <span><span class="testfont">&#x1D721;</span>=<span>1D721</span></span><br/>
-  <span><span class="testfont">&#x1D722;</span>=<span>1D722</span></span>
-  <span><span class="testfont">&#x1D723;</span>=<span>1D723</span></span>
-  <span><span class="testfont">&#x1D724;</span>=<span>1D724</span></span>
-  <span><span class="testfont">&#x1D725;</span>=<span>1D725</span></span>
-  <span><span class="testfont">&#x1D726;</span>=<span>1D726</span></span>
-  <span><span class="testfont">&#x1D727;</span>=<span>1D727</span></span>
-  <span><span class="testfont">&#x1D728;</span>=<span>1D728</span></span>
-  <span><span class="testfont">&#x1D729;</span>=<span>1D729</span></span>
-  <span><span class="testfont">&#x1D72A;</span>=<span>1D72A</span></span>
-  <span><span class="testfont">&#x1D72B;</span>=<span>1D72B</span></span><br/>
-  <span><span class="testfont">&#x1D72C;</span>=<span>1D72C</span></span>
-  <span><span class="testfont">&#x1D72E;</span>=<span>1D72E</span></span>
-  <span><span class="testfont">&#x1D72F;</span>=<span>1D72F</span></span>
-  <span><span class="testfont">&#x1D730;</span>=<span>1D730</span></span>
-  <span><span class="testfont">&#x1D731;</span>=<span>1D731</span></span>
-  <span><span class="testfont">&#x1D732;</span>=<span>1D732</span></span>
-  <span><span class="testfont">&#x1D733;</span>=<span>1D733</span></span>
-  <span><span class="testfont">&#x1D734;</span>=<span>1D734</span></span>
-  <span><span class="testfont">&#x1D736;</span>=<span>1D736</span></span>
-  <span><span class="testfont">&#x1D737;</span>=<span>1D737</span></span><br/>
-  <span><span class="testfont">&#x1D738;</span>=<span>1D738</span></span>
-  <span><span class="testfont">&#x1D739;</span>=<span>1D739</span></span>
-  <span><span class="testfont">&#x1D73A;</span>=<span>1D73A</span></span>
-  <span><span class="testfont">&#x1D73B;</span>=<span>1D73B</span></span>
-  <span><span class="testfont">&#x1D73C;</span>=<span>1D73C</span></span>
-  <span><span class="testfont">&#x1D73D;</span>=<span>1D73D</span></span>
-  <span><span class="testfont">&#x1D73E;</span>=<span>1D73E</span></span>
-  <span><span class="testfont">&#x1D73F;</span>=<span>1D73F</span></span>
-  <span><span class="testfont">&#x1D740;</span>=<span>1D740</span></span>
-  <span><span class="testfont">&#x1D741;</span>=<span>1D741</span></span><br/>
-  <span><span class="testfont">&#x1D742;</span>=<span>1D742</span></span>
-  <span><span class="testfont">&#x1D743;</span>=<span>1D743</span></span>
-  <span><span class="testfont">&#x1D744;</span>=<span>1D744</span></span>
-  <span><span class="testfont">&#x1D745;</span>=<span>1D745</span></span>
-  <span><span class="testfont">&#x1D746;</span>=<span>1D746</span></span>
-  <span><span class="testfont">&#x1D747;</span>=<span>1D747</span></span>
-  <span><span class="testfont">&#x1D748;</span>=<span>1D748</span></span>
-  <span><span class="testfont">&#x1D749;</span>=<span>1D749</span></span>
-  <span><span class="testfont">&#x1D74A;</span>=<span>1D74A</span></span>
-  <span><span class="testfont">&#x1D74B;</span>=<span>1D74B</span></span><br/>
-  <span><span class="testfont">&#x1D74C;</span>=<span>1D74C</span></span>
-  <span><span class="testfont">&#x1D74D;</span>=<span>1D74D</span></span>
-  <span><span class="testfont">&#x1D74E;</span>=<span>1D74E</span></span>
-  <span><span class="testfont">&#x1D751;</span>=<span>1D751</span></span>
-  <span><span class="testfont">&#x1D753;</span>=<span>1D753</span></span>
-  <span><span class="testfont">&#x1D755;</span>=<span>1D755</span></span>
-  <span><span class="testfont">&#x1D752;</span>=<span>1D752</span></span>
-  <span><span class="testfont">&#x1D754;</span>=<span>1D754</span></span>
-  <span><span class="testfont">&#x1D72D;</span>=<span>1D72D</span></span>
-  <span><span class="testfont">&#x1D750;</span>=<span>1D750</span></span><br/>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-italic-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-italic-001.tentative.html
deleted file mode 100644
index 9a03fc7..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-italic-001.tentative.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-bold-italic</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#bold-italic-mappings">
-<link rel="match" href="text-transform-math-bold-italic-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-bold-italic' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-bold-italic.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x2202;</span>=<span>1D74F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x2207;</span>=<span>1D735</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x41;</span>=<span>1D468</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x42;</span>=<span>1D469</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x43;</span>=<span>1D46A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x44;</span>=<span>1D46B</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x45;</span>=<span>1D46C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x46;</span>=<span>1D46D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x47;</span>=<span>1D46E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x48;</span>=<span>1D46F</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x49;</span>=<span>1D470</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x4A;</span>=<span>1D471</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x4B;</span>=<span>1D472</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x4C;</span>=<span>1D473</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x4D;</span>=<span>1D474</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x4E;</span>=<span>1D475</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x4F;</span>=<span>1D476</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x50;</span>=<span>1D477</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x51;</span>=<span>1D478</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x52;</span>=<span>1D479</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x53;</span>=<span>1D47A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x54;</span>=<span>1D47B</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x55;</span>=<span>1D47C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x56;</span>=<span>1D47D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x57;</span>=<span>1D47E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x58;</span>=<span>1D47F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x59;</span>=<span>1D480</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x5A;</span>=<span>1D481</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x61;</span>=<span>1D482</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x62;</span>=<span>1D483</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x63;</span>=<span>1D484</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x64;</span>=<span>1D485</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x65;</span>=<span>1D486</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x66;</span>=<span>1D487</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x67;</span>=<span>1D488</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x68;</span>=<span>1D489</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x69;</span>=<span>1D48A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x6A;</span>=<span>1D48B</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x6B;</span>=<span>1D48C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x6C;</span>=<span>1D48D</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x6D;</span>=<span>1D48E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x6E;</span>=<span>1D48F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x6F;</span>=<span>1D490</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x70;</span>=<span>1D491</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x71;</span>=<span>1D492</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x72;</span>=<span>1D493</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x73;</span>=<span>1D494</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x74;</span>=<span>1D495</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x75;</span>=<span>1D496</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x76;</span>=<span>1D497</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x77;</span>=<span>1D498</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x78;</span>=<span>1D499</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x79;</span>=<span>1D49A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x7A;</span>=<span>1D49B</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x391;</span>=<span>1D71C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x392;</span>=<span>1D71D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x393;</span>=<span>1D71E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x394;</span>=<span>1D71F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x395;</span>=<span>1D720</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x396;</span>=<span>1D721</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x397;</span>=<span>1D722</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x398;</span>=<span>1D723</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x399;</span>=<span>1D724</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x39A;</span>=<span>1D725</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x39B;</span>=<span>1D726</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x39C;</span>=<span>1D727</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x39D;</span>=<span>1D728</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x39E;</span>=<span>1D729</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x39F;</span>=<span>1D72A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3A0;</span>=<span>1D72B</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3A1;</span>=<span>1D72C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3A3;</span>=<span>1D72E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3A4;</span>=<span>1D72F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3A5;</span>=<span>1D730</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3A6;</span>=<span>1D731</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3A7;</span>=<span>1D732</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3A8;</span>=<span>1D733</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3A9;</span>=<span>1D734</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3B1;</span>=<span>1D736</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3B2;</span>=<span>1D737</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3B3;</span>=<span>1D738</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3B4;</span>=<span>1D739</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3B5;</span>=<span>1D73A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3B6;</span>=<span>1D73B</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3B7;</span>=<span>1D73C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3B8;</span>=<span>1D73D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3B9;</span>=<span>1D73E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3BA;</span>=<span>1D73F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3BB;</span>=<span>1D740</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3BC;</span>=<span>1D741</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3BD;</span>=<span>1D742</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3BE;</span>=<span>1D743</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3BF;</span>=<span>1D744</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3C0;</span>=<span>1D745</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3C1;</span>=<span>1D746</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3C2;</span>=<span>1D747</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3C3;</span>=<span>1D748</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3C4;</span>=<span>1D749</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3C5;</span>=<span>1D74A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3C6;</span>=<span>1D74B</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3C7;</span>=<span>1D74C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3C8;</span>=<span>1D74D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3C9;</span>=<span>1D74E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3D1;</span>=<span>1D751</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3D5;</span>=<span>1D753</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3D6;</span>=<span>1D755</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3F0;</span>=<span>1D752</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3F1;</span>=<span>1D754</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3F4;</span>=<span>1D72D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-italic">&#x3F5;</span>=<span>1D750</span></span><br/>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-italic-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-italic-001.tentative.html.ini
deleted file mode 100644
index 7424f50..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-italic-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-bold-italic-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-sans-serif-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-sans-serif-001.tentative-ref.html
deleted file mode 100644
index e83fa69..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-sans-serif-001.tentative-ref.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-bold-sans-serif (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-bold-sans-serif.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D789;</span>=<span>1D789</span></span>
-  <span><span class="testfont">&#x1D76F;</span>=<span>1D76F</span></span>
-  <span><span class="testfont">&#x1D7EC;</span>=<span>1D7EC</span></span>
-  <span><span class="testfont">&#x1D7ED;</span>=<span>1D7ED</span></span>
-  <span><span class="testfont">&#x1D7EE;</span>=<span>1D7EE</span></span>
-  <span><span class="testfont">&#x1D7EF;</span>=<span>1D7EF</span></span>
-  <span><span class="testfont">&#x1D7F0;</span>=<span>1D7F0</span></span>
-  <span><span class="testfont">&#x1D7F1;</span>=<span>1D7F1</span></span>
-  <span><span class="testfont">&#x1D7F2;</span>=<span>1D7F2</span></span>
-  <span><span class="testfont">&#x1D7F3;</span>=<span>1D7F3</span></span><br/>
-  <span><span class="testfont">&#x1D7F4;</span>=<span>1D7F4</span></span>
-  <span><span class="testfont">&#x1D7F5;</span>=<span>1D7F5</span></span>
-  <span><span class="testfont">&#x1D5D4;</span>=<span>1D5D4</span></span>
-  <span><span class="testfont">&#x1D5D5;</span>=<span>1D5D5</span></span>
-  <span><span class="testfont">&#x1D5D6;</span>=<span>1D5D6</span></span>
-  <span><span class="testfont">&#x1D5D7;</span>=<span>1D5D7</span></span>
-  <span><span class="testfont">&#x1D5D8;</span>=<span>1D5D8</span></span>
-  <span><span class="testfont">&#x1D5D9;</span>=<span>1D5D9</span></span>
-  <span><span class="testfont">&#x1D5DA;</span>=<span>1D5DA</span></span>
-  <span><span class="testfont">&#x1D5DB;</span>=<span>1D5DB</span></span><br/>
-  <span><span class="testfont">&#x1D5DC;</span>=<span>1D5DC</span></span>
-  <span><span class="testfont">&#x1D5DD;</span>=<span>1D5DD</span></span>
-  <span><span class="testfont">&#x1D5DE;</span>=<span>1D5DE</span></span>
-  <span><span class="testfont">&#x1D5DF;</span>=<span>1D5DF</span></span>
-  <span><span class="testfont">&#x1D5E0;</span>=<span>1D5E0</span></span>
-  <span><span class="testfont">&#x1D5E1;</span>=<span>1D5E1</span></span>
-  <span><span class="testfont">&#x1D5E2;</span>=<span>1D5E2</span></span>
-  <span><span class="testfont">&#x1D5E3;</span>=<span>1D5E3</span></span>
-  <span><span class="testfont">&#x1D5E4;</span>=<span>1D5E4</span></span>
-  <span><span class="testfont">&#x1D5E5;</span>=<span>1D5E5</span></span><br/>
-  <span><span class="testfont">&#x1D5E6;</span>=<span>1D5E6</span></span>
-  <span><span class="testfont">&#x1D5E7;</span>=<span>1D5E7</span></span>
-  <span><span class="testfont">&#x1D5E8;</span>=<span>1D5E8</span></span>
-  <span><span class="testfont">&#x1D5E9;</span>=<span>1D5E9</span></span>
-  <span><span class="testfont">&#x1D5EA;</span>=<span>1D5EA</span></span>
-  <span><span class="testfont">&#x1D5EB;</span>=<span>1D5EB</span></span>
-  <span><span class="testfont">&#x1D5EC;</span>=<span>1D5EC</span></span>
-  <span><span class="testfont">&#x1D5ED;</span>=<span>1D5ED</span></span>
-  <span><span class="testfont">&#x1D5EE;</span>=<span>1D5EE</span></span>
-  <span><span class="testfont">&#x1D5EF;</span>=<span>1D5EF</span></span><br/>
-  <span><span class="testfont">&#x1D5F0;</span>=<span>1D5F0</span></span>
-  <span><span class="testfont">&#x1D5F1;</span>=<span>1D5F1</span></span>
-  <span><span class="testfont">&#x1D5F2;</span>=<span>1D5F2</span></span>
-  <span><span class="testfont">&#x1D5F3;</span>=<span>1D5F3</span></span>
-  <span><span class="testfont">&#x1D5F4;</span>=<span>1D5F4</span></span>
-  <span><span class="testfont">&#x1D5F5;</span>=<span>1D5F5</span></span>
-  <span><span class="testfont">&#x1D5F6;</span>=<span>1D5F6</span></span>
-  <span><span class="testfont">&#x1D5F7;</span>=<span>1D5F7</span></span>
-  <span><span class="testfont">&#x1D5F8;</span>=<span>1D5F8</span></span>
-  <span><span class="testfont">&#x1D5F9;</span>=<span>1D5F9</span></span><br/>
-  <span><span class="testfont">&#x1D5FA;</span>=<span>1D5FA</span></span>
-  <span><span class="testfont">&#x1D5FB;</span>=<span>1D5FB</span></span>
-  <span><span class="testfont">&#x1D5FC;</span>=<span>1D5FC</span></span>
-  <span><span class="testfont">&#x1D5FD;</span>=<span>1D5FD</span></span>
-  <span><span class="testfont">&#x1D5FE;</span>=<span>1D5FE</span></span>
-  <span><span class="testfont">&#x1D5FF;</span>=<span>1D5FF</span></span>
-  <span><span class="testfont">&#x1D600;</span>=<span>1D600</span></span>
-  <span><span class="testfont">&#x1D601;</span>=<span>1D601</span></span>
-  <span><span class="testfont">&#x1D602;</span>=<span>1D602</span></span>
-  <span><span class="testfont">&#x1D603;</span>=<span>1D603</span></span><br/>
-  <span><span class="testfont">&#x1D604;</span>=<span>1D604</span></span>
-  <span><span class="testfont">&#x1D605;</span>=<span>1D605</span></span>
-  <span><span class="testfont">&#x1D606;</span>=<span>1D606</span></span>
-  <span><span class="testfont">&#x1D607;</span>=<span>1D607</span></span>
-  <span><span class="testfont">&#x1D756;</span>=<span>1D756</span></span>
-  <span><span class="testfont">&#x1D757;</span>=<span>1D757</span></span>
-  <span><span class="testfont">&#x1D758;</span>=<span>1D758</span></span>
-  <span><span class="testfont">&#x1D759;</span>=<span>1D759</span></span>
-  <span><span class="testfont">&#x1D75A;</span>=<span>1D75A</span></span>
-  <span><span class="testfont">&#x1D75B;</span>=<span>1D75B</span></span><br/>
-  <span><span class="testfont">&#x1D75C;</span>=<span>1D75C</span></span>
-  <span><span class="testfont">&#x1D75D;</span>=<span>1D75D</span></span>
-  <span><span class="testfont">&#x1D75E;</span>=<span>1D75E</span></span>
-  <span><span class="testfont">&#x1D75F;</span>=<span>1D75F</span></span>
-  <span><span class="testfont">&#x1D760;</span>=<span>1D760</span></span>
-  <span><span class="testfont">&#x1D761;</span>=<span>1D761</span></span>
-  <span><span class="testfont">&#x1D762;</span>=<span>1D762</span></span>
-  <span><span class="testfont">&#x1D763;</span>=<span>1D763</span></span>
-  <span><span class="testfont">&#x1D764;</span>=<span>1D764</span></span>
-  <span><span class="testfont">&#x1D765;</span>=<span>1D765</span></span><br/>
-  <span><span class="testfont">&#x1D766;</span>=<span>1D766</span></span>
-  <span><span class="testfont">&#x1D768;</span>=<span>1D768</span></span>
-  <span><span class="testfont">&#x1D769;</span>=<span>1D769</span></span>
-  <span><span class="testfont">&#x1D76A;</span>=<span>1D76A</span></span>
-  <span><span class="testfont">&#x1D76B;</span>=<span>1D76B</span></span>
-  <span><span class="testfont">&#x1D76C;</span>=<span>1D76C</span></span>
-  <span><span class="testfont">&#x1D76D;</span>=<span>1D76D</span></span>
-  <span><span class="testfont">&#x1D76E;</span>=<span>1D76E</span></span>
-  <span><span class="testfont">&#x1D770;</span>=<span>1D770</span></span>
-  <span><span class="testfont">&#x1D771;</span>=<span>1D771</span></span><br/>
-  <span><span class="testfont">&#x1D772;</span>=<span>1D772</span></span>
-  <span><span class="testfont">&#x1D773;</span>=<span>1D773</span></span>
-  <span><span class="testfont">&#x1D774;</span>=<span>1D774</span></span>
-  <span><span class="testfont">&#x1D775;</span>=<span>1D775</span></span>
-  <span><span class="testfont">&#x1D776;</span>=<span>1D776</span></span>
-  <span><span class="testfont">&#x1D777;</span>=<span>1D777</span></span>
-  <span><span class="testfont">&#x1D778;</span>=<span>1D778</span></span>
-  <span><span class="testfont">&#x1D779;</span>=<span>1D779</span></span>
-  <span><span class="testfont">&#x1D77A;</span>=<span>1D77A</span></span>
-  <span><span class="testfont">&#x1D77B;</span>=<span>1D77B</span></span><br/>
-  <span><span class="testfont">&#x1D77C;</span>=<span>1D77C</span></span>
-  <span><span class="testfont">&#x1D77D;</span>=<span>1D77D</span></span>
-  <span><span class="testfont">&#x1D77E;</span>=<span>1D77E</span></span>
-  <span><span class="testfont">&#x1D77F;</span>=<span>1D77F</span></span>
-  <span><span class="testfont">&#x1D780;</span>=<span>1D780</span></span>
-  <span><span class="testfont">&#x1D781;</span>=<span>1D781</span></span>
-  <span><span class="testfont">&#x1D782;</span>=<span>1D782</span></span>
-  <span><span class="testfont">&#x1D783;</span>=<span>1D783</span></span>
-  <span><span class="testfont">&#x1D784;</span>=<span>1D784</span></span>
-  <span><span class="testfont">&#x1D785;</span>=<span>1D785</span></span><br/>
-  <span><span class="testfont">&#x1D786;</span>=<span>1D786</span></span>
-  <span><span class="testfont">&#x1D787;</span>=<span>1D787</span></span>
-  <span><span class="testfont">&#x1D788;</span>=<span>1D788</span></span>
-  <span><span class="testfont">&#x1D78B;</span>=<span>1D78B</span></span>
-  <span><span class="testfont">&#x1D78D;</span>=<span>1D78D</span></span>
-  <span><span class="testfont">&#x1D78F;</span>=<span>1D78F</span></span>
-  <span><span class="testfont">&#x1D78C;</span>=<span>1D78C</span></span>
-  <span><span class="testfont">&#x1D78E;</span>=<span>1D78E</span></span>
-  <span><span class="testfont">&#x1D767;</span>=<span>1D767</span></span>
-  <span><span class="testfont">&#x1D78A;</span>=<span>1D78A</span></span><br/>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-sans-serif-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-sans-serif-001.tentative.html
deleted file mode 100644
index 3cbfdb9..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-sans-serif-001.tentative.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-bold-sans-serif</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#bold-sans-serif-mappings">
-<link rel="match" href="text-transform-math-bold-sans-serif-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-bold-sans-serif' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-bold-sans-serif.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x2202;</span>=<span>1D789</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x2207;</span>=<span>1D76F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x30;</span>=<span>1D7EC</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x31;</span>=<span>1D7ED</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x32;</span>=<span>1D7EE</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x33;</span>=<span>1D7EF</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x34;</span>=<span>1D7F0</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x35;</span>=<span>1D7F1</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x36;</span>=<span>1D7F2</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x37;</span>=<span>1D7F3</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x38;</span>=<span>1D7F4</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x39;</span>=<span>1D7F5</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x41;</span>=<span>1D5D4</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x42;</span>=<span>1D5D5</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x43;</span>=<span>1D5D6</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x44;</span>=<span>1D5D7</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x45;</span>=<span>1D5D8</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x46;</span>=<span>1D5D9</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x47;</span>=<span>1D5DA</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x48;</span>=<span>1D5DB</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x49;</span>=<span>1D5DC</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x4A;</span>=<span>1D5DD</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x4B;</span>=<span>1D5DE</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x4C;</span>=<span>1D5DF</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x4D;</span>=<span>1D5E0</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x4E;</span>=<span>1D5E1</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x4F;</span>=<span>1D5E2</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x50;</span>=<span>1D5E3</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x51;</span>=<span>1D5E4</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x52;</span>=<span>1D5E5</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x53;</span>=<span>1D5E6</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x54;</span>=<span>1D5E7</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x55;</span>=<span>1D5E8</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x56;</span>=<span>1D5E9</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x57;</span>=<span>1D5EA</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x58;</span>=<span>1D5EB</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x59;</span>=<span>1D5EC</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x5A;</span>=<span>1D5ED</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x61;</span>=<span>1D5EE</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x62;</span>=<span>1D5EF</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x63;</span>=<span>1D5F0</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x64;</span>=<span>1D5F1</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x65;</span>=<span>1D5F2</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x66;</span>=<span>1D5F3</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x67;</span>=<span>1D5F4</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x68;</span>=<span>1D5F5</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x69;</span>=<span>1D5F6</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x6A;</span>=<span>1D5F7</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x6B;</span>=<span>1D5F8</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x6C;</span>=<span>1D5F9</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x6D;</span>=<span>1D5FA</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x6E;</span>=<span>1D5FB</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x6F;</span>=<span>1D5FC</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x70;</span>=<span>1D5FD</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x71;</span>=<span>1D5FE</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x72;</span>=<span>1D5FF</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x73;</span>=<span>1D600</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x74;</span>=<span>1D601</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x75;</span>=<span>1D602</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x76;</span>=<span>1D603</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x77;</span>=<span>1D604</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x78;</span>=<span>1D605</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x79;</span>=<span>1D606</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x7A;</span>=<span>1D607</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x391;</span>=<span>1D756</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x392;</span>=<span>1D757</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x393;</span>=<span>1D758</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x394;</span>=<span>1D759</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x395;</span>=<span>1D75A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x396;</span>=<span>1D75B</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x397;</span>=<span>1D75C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x398;</span>=<span>1D75D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x399;</span>=<span>1D75E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x39A;</span>=<span>1D75F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x39B;</span>=<span>1D760</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x39C;</span>=<span>1D761</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x39D;</span>=<span>1D762</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x39E;</span>=<span>1D763</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x39F;</span>=<span>1D764</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3A0;</span>=<span>1D765</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3A1;</span>=<span>1D766</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3A3;</span>=<span>1D768</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3A4;</span>=<span>1D769</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3A5;</span>=<span>1D76A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3A6;</span>=<span>1D76B</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3A7;</span>=<span>1D76C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3A8;</span>=<span>1D76D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3A9;</span>=<span>1D76E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3B1;</span>=<span>1D770</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3B2;</span>=<span>1D771</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3B3;</span>=<span>1D772</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3B4;</span>=<span>1D773</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3B5;</span>=<span>1D774</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3B6;</span>=<span>1D775</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3B7;</span>=<span>1D776</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3B8;</span>=<span>1D777</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3B9;</span>=<span>1D778</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3BA;</span>=<span>1D779</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3BB;</span>=<span>1D77A</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3BC;</span>=<span>1D77B</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3BD;</span>=<span>1D77C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3BE;</span>=<span>1D77D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3BF;</span>=<span>1D77E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3C0;</span>=<span>1D77F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3C1;</span>=<span>1D780</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3C2;</span>=<span>1D781</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3C3;</span>=<span>1D782</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3C4;</span>=<span>1D783</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3C5;</span>=<span>1D784</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3C6;</span>=<span>1D785</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3C7;</span>=<span>1D786</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3C8;</span>=<span>1D787</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3C9;</span>=<span>1D788</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3D1;</span>=<span>1D78B</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3D5;</span>=<span>1D78D</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3D6;</span>=<span>1D78F</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3F0;</span>=<span>1D78C</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3F1;</span>=<span>1D78E</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3F4;</span>=<span>1D767</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-sans-serif">&#x3F5;</span>=<span>1D78A</span></span><br/>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-sans-serif-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-sans-serif-001.tentative.html.ini
deleted file mode 100644
index e1bba62..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-sans-serif-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-bold-sans-serif-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-script-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-script-001.tentative-ref.html
deleted file mode 100644
index 1b5a74c..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-script-001.tentative-ref.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-bold-script (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-bold-script.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D4D0;</span>=<span>1D4D0</span></span>
-  <span><span class="testfont">&#x1D4D1;</span>=<span>1D4D1</span></span>
-  <span><span class="testfont">&#x1D4D2;</span>=<span>1D4D2</span></span>
-  <span><span class="testfont">&#x1D4D3;</span>=<span>1D4D3</span></span>
-  <span><span class="testfont">&#x1D4D4;</span>=<span>1D4D4</span></span>
-  <span><span class="testfont">&#x1D4D5;</span>=<span>1D4D5</span></span>
-  <span><span class="testfont">&#x1D4D6;</span>=<span>1D4D6</span></span>
-  <span><span class="testfont">&#x1D4D7;</span>=<span>1D4D7</span></span>
-  <span><span class="testfont">&#x1D4D8;</span>=<span>1D4D8</span></span>
-  <span><span class="testfont">&#x1D4D9;</span>=<span>1D4D9</span></span><br/>
-  <span><span class="testfont">&#x1D4DA;</span>=<span>1D4DA</span></span>
-  <span><span class="testfont">&#x1D4DB;</span>=<span>1D4DB</span></span>
-  <span><span class="testfont">&#x1D4DC;</span>=<span>1D4DC</span></span>
-  <span><span class="testfont">&#x1D4DD;</span>=<span>1D4DD</span></span>
-  <span><span class="testfont">&#x1D4DE;</span>=<span>1D4DE</span></span>
-  <span><span class="testfont">&#x1D4DF;</span>=<span>1D4DF</span></span>
-  <span><span class="testfont">&#x1D4E0;</span>=<span>1D4E0</span></span>
-  <span><span class="testfont">&#x1D4E1;</span>=<span>1D4E1</span></span>
-  <span><span class="testfont">&#x1D4E2;</span>=<span>1D4E2</span></span>
-  <span><span class="testfont">&#x1D4E3;</span>=<span>1D4E3</span></span><br/>
-  <span><span class="testfont">&#x1D4E4;</span>=<span>1D4E4</span></span>
-  <span><span class="testfont">&#x1D4E5;</span>=<span>1D4E5</span></span>
-  <span><span class="testfont">&#x1D4E6;</span>=<span>1D4E6</span></span>
-  <span><span class="testfont">&#x1D4E7;</span>=<span>1D4E7</span></span>
-  <span><span class="testfont">&#x1D4E8;</span>=<span>1D4E8</span></span>
-  <span><span class="testfont">&#x1D4E9;</span>=<span>1D4E9</span></span>
-  <span><span class="testfont">&#x1D4EA;</span>=<span>1D4EA</span></span>
-  <span><span class="testfont">&#x1D4EB;</span>=<span>1D4EB</span></span>
-  <span><span class="testfont">&#x1D4EC;</span>=<span>1D4EC</span></span>
-  <span><span class="testfont">&#x1D4ED;</span>=<span>1D4ED</span></span><br/>
-  <span><span class="testfont">&#x1D4EE;</span>=<span>1D4EE</span></span>
-  <span><span class="testfont">&#x1D4EF;</span>=<span>1D4EF</span></span>
-  <span><span class="testfont">&#x1D4F0;</span>=<span>1D4F0</span></span>
-  <span><span class="testfont">&#x1D4F1;</span>=<span>1D4F1</span></span>
-  <span><span class="testfont">&#x1D4F2;</span>=<span>1D4F2</span></span>
-  <span><span class="testfont">&#x1D4F3;</span>=<span>1D4F3</span></span>
-  <span><span class="testfont">&#x1D4F4;</span>=<span>1D4F4</span></span>
-  <span><span class="testfont">&#x1D4F5;</span>=<span>1D4F5</span></span>
-  <span><span class="testfont">&#x1D4F6;</span>=<span>1D4F6</span></span>
-  <span><span class="testfont">&#x1D4F7;</span>=<span>1D4F7</span></span><br/>
-  <span><span class="testfont">&#x1D4F8;</span>=<span>1D4F8</span></span>
-  <span><span class="testfont">&#x1D4F9;</span>=<span>1D4F9</span></span>
-  <span><span class="testfont">&#x1D4FA;</span>=<span>1D4FA</span></span>
-  <span><span class="testfont">&#x1D4FB;</span>=<span>1D4FB</span></span>
-  <span><span class="testfont">&#x1D4FC;</span>=<span>1D4FC</span></span>
-  <span><span class="testfont">&#x1D4FD;</span>=<span>1D4FD</span></span>
-  <span><span class="testfont">&#x1D4FE;</span>=<span>1D4FE</span></span>
-  <span><span class="testfont">&#x1D4FF;</span>=<span>1D4FF</span></span>
-  <span><span class="testfont">&#x1D500;</span>=<span>1D500</span></span>
-  <span><span class="testfont">&#x1D501;</span>=<span>1D501</span></span><br/>
-  <span><span class="testfont">&#x1D502;</span>=<span>1D502</span></span>
-  <span><span class="testfont">&#x1D503;</span>=<span>1D503</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-script-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-script-001.tentative.html
deleted file mode 100644
index b61a573e..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-script-001.tentative.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-bold-script</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#bold-script-mappings">
-<link rel="match" href="text-transform-math-bold-script-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-bold-script' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-bold-script.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x41;</span>=<span>1D4D0</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x42;</span>=<span>1D4D1</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x43;</span>=<span>1D4D2</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x44;</span>=<span>1D4D3</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x45;</span>=<span>1D4D4</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x46;</span>=<span>1D4D5</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x47;</span>=<span>1D4D6</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x48;</span>=<span>1D4D7</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x49;</span>=<span>1D4D8</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x4A;</span>=<span>1D4D9</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x4B;</span>=<span>1D4DA</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x4C;</span>=<span>1D4DB</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x4D;</span>=<span>1D4DC</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x4E;</span>=<span>1D4DD</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x4F;</span>=<span>1D4DE</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x50;</span>=<span>1D4DF</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x51;</span>=<span>1D4E0</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x52;</span>=<span>1D4E1</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x53;</span>=<span>1D4E2</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x54;</span>=<span>1D4E3</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x55;</span>=<span>1D4E4</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x56;</span>=<span>1D4E5</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x57;</span>=<span>1D4E6</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x58;</span>=<span>1D4E7</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x59;</span>=<span>1D4E8</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x5A;</span>=<span>1D4E9</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x61;</span>=<span>1D4EA</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x62;</span>=<span>1D4EB</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x63;</span>=<span>1D4EC</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x64;</span>=<span>1D4ED</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x65;</span>=<span>1D4EE</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x66;</span>=<span>1D4EF</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x67;</span>=<span>1D4F0</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x68;</span>=<span>1D4F1</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x69;</span>=<span>1D4F2</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x6A;</span>=<span>1D4F3</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x6B;</span>=<span>1D4F4</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x6C;</span>=<span>1D4F5</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x6D;</span>=<span>1D4F6</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x6E;</span>=<span>1D4F7</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x6F;</span>=<span>1D4F8</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x70;</span>=<span>1D4F9</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x71;</span>=<span>1D4FA</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x72;</span>=<span>1D4FB</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x73;</span>=<span>1D4FC</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x74;</span>=<span>1D4FD</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x75;</span>=<span>1D4FE</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x76;</span>=<span>1D4FF</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x77;</span>=<span>1D500</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x78;</span>=<span>1D501</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x79;</span>=<span>1D502</span></span>
-  <span><span class="testfont" style="text-transform: math-bold-script">&#x7A;</span>=<span>1D503</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-script-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-script-001.tentative.html.ini
deleted file mode 100644
index 56a28ee..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-bold-script-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-bold-script-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-double-struck-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-double-struck-001.tentative-ref.html
deleted file mode 100644
index 09f137a..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-double-struck-001.tentative-ref.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-double-struck (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-double-struck.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1EEA1;</span>=<span>1EEA1</span></span>
-  <span><span class="testfont">&#x1EEB5;</span>=<span>1EEB5</span></span>
-  <span><span class="testfont">&#x1EEB6;</span>=<span>1EEB6</span></span>
-  <span><span class="testfont">&#x1EEA2;</span>=<span>1EEA2</span></span>
-  <span><span class="testfont">&#x1EEA7;</span>=<span>1EEA7</span></span>
-  <span><span class="testfont">&#x1EEB7;</span>=<span>1EEB7</span></span>
-  <span><span class="testfont">&#x1EEA3;</span>=<span>1EEA3</span></span>
-  <span><span class="testfont">&#x1EEB8;</span>=<span>1EEB8</span></span>
-  <span><span class="testfont">&#x1EEB3;</span>=<span>1EEB3</span></span>
-  <span><span class="testfont">&#x1EEA6;</span>=<span>1EEA6</span></span><br/>
-  <span><span class="testfont">&#x1D7DB;</span>=<span>1D7DB</span></span>
-  <span><span class="testfont">&#x1D7DC;</span>=<span>1D7DC</span></span>
-  <span><span class="testfont">&#x1D7DD;</span>=<span>1D7DD</span></span>
-  <span><span class="testfont">&#x1EEB9;</span>=<span>1EEB9</span></span>
-  <span><span class="testfont">&#x1EEA8;</span>=<span>1EEA8</span></span>
-  <span><span class="testfont">&#x1EEBA;</span>=<span>1EEBA</span></span>
-  <span><span class="testfont">&#x1D7E1;</span>=<span>1D7E1</span></span>
-  <span><span class="testfont">&#x1EEBB;</span>=<span>1EEBB</span></span>
-  <span><span class="testfont">&#x1EEB0;</span>=<span>1EEB0</span></span>
-  <span><span class="testfont">&#x1EEB2;</span>=<span>1EEB2</span></span><br/>
-  <span><span class="testfont">&#x2102;</span>=<span>02102</span></span>
-  <span><span class="testfont">&#x1EEAB;</span>=<span>1EEAB</span></span>
-  <span><span class="testfont">&#x1EEAC;</span>=<span>1EEAC</span></span>
-  <span><span class="testfont">&#x1EEAD;</span>=<span>1EEAD</span></span>
-  <span><span class="testfont">&#x1D53E;</span>=<span>1D53E</span></span>
-  <span><span class="testfont">&#x1EEA5;</span>=<span>1EEA5</span></span>
-  <span><span class="testfont">&#x1D540;</span>=<span>1D540</span></span>
-  <span><span class="testfont">&#x1EEA9;</span>=<span>1EEA9</span></span>
-  <span><span class="testfont">&#x1D542;</span>=<span>1D542</span></span>
-  <span><span class="testfont">&#x1D543;</span>=<span>1D543</span></span><br/>
-  <span><span class="testfont">&#x1D544;</span>=<span>1D544</span></span>
-  <span><span class="testfont">&#x2115;</span>=<span>02115</span></span>
-  <span><span class="testfont">&#x1D546;</span>=<span>1D546</span></span>
-  <span><span class="testfont">&#x2119;</span>=<span>02119</span></span>
-  <span><span class="testfont">&#x211A;</span>=<span>0211A</span></span>
-  <span><span class="testfont">&#x211D;</span>=<span>0211D</span></span>
-  <span><span class="testfont">&#x1D54A;</span>=<span>1D54A</span></span>
-  <span><span class="testfont">&#x1D54B;</span>=<span>1D54B</span></span>
-  <span><span class="testfont">&#x1D54C;</span>=<span>1D54C</span></span>
-  <span><span class="testfont">&#x1D54D;</span>=<span>1D54D</span></span><br/>
-  <span><span class="testfont">&#x1D54E;</span>=<span>1D54E</span></span>
-  <span><span class="testfont">&#x1D54F;</span>=<span>1D54F</span></span>
-  <span><span class="testfont">&#x1D550;</span>=<span>1D550</span></span>
-  <span><span class="testfont">&#x2124;</span>=<span>02124</span></span>
-  <span><span class="testfont">&#x1D552;</span>=<span>1D552</span></span>
-  <span><span class="testfont">&#x1D553;</span>=<span>1D553</span></span>
-  <span><span class="testfont">&#x1D554;</span>=<span>1D554</span></span>
-  <span><span class="testfont">&#x1D555;</span>=<span>1D555</span></span>
-  <span><span class="testfont">&#x1D556;</span>=<span>1D556</span></span>
-  <span><span class="testfont">&#x1D557;</span>=<span>1D557</span></span><br/>
-  <span><span class="testfont">&#x1D558;</span>=<span>1D558</span></span>
-  <span><span class="testfont">&#x1D559;</span>=<span>1D559</span></span>
-  <span><span class="testfont">&#x1D55A;</span>=<span>1D55A</span></span>
-  <span><span class="testfont">&#x1D55B;</span>=<span>1D55B</span></span>
-  <span><span class="testfont">&#x1D55C;</span>=<span>1D55C</span></span>
-  <span><span class="testfont">&#x1D55D;</span>=<span>1D55D</span></span>
-  <span><span class="testfont">&#x1D55E;</span>=<span>1D55E</span></span>
-  <span><span class="testfont">&#x1D55F;</span>=<span>1D55F</span></span>
-  <span><span class="testfont">&#x1D560;</span>=<span>1D560</span></span>
-  <span><span class="testfont">&#x1D561;</span>=<span>1D561</span></span><br/>
-  <span><span class="testfont">&#x1D562;</span>=<span>1D562</span></span>
-  <span><span class="testfont">&#x1D563;</span>=<span>1D563</span></span>
-  <span><span class="testfont">&#x1D564;</span>=<span>1D564</span></span>
-  <span><span class="testfont">&#x1D565;</span>=<span>1D565</span></span>
-  <span><span class="testfont">&#x1D566;</span>=<span>1D566</span></span>
-  <span><span class="testfont">&#x1D567;</span>=<span>1D567</span></span>
-  <span><span class="testfont">&#x1D568;</span>=<span>1D568</span></span>
-  <span><span class="testfont">&#x1D569;</span>=<span>1D569</span></span>
-  <span><span class="testfont">&#x1D56A;</span>=<span>1D56A</span></span>
-  <span><span class="testfont">&#x1D56B;</span>=<span>1D56B</span></span><br/>
-  <span><span class="testfont">&#x1D7D8;</span>=<span>1D7D8</span></span>
-  <span><span class="testfont">&#x1D7D9;</span>=<span>1D7D9</span></span>
-  <span><span class="testfont">&#x1D7DA;</span>=<span>1D7DA</span></span>
-  <span><span class="testfont">&#x1EEAE;</span>=<span>1EEAE</span></span>
-  <span><span class="testfont">&#x1EEB4;</span>=<span>1EEB4</span></span>
-  <span><span class="testfont">&#x1EEB1;</span>=<span>1EEB1</span></span>
-  <span><span class="testfont">&#x1D7DE;</span>=<span>1D7DE</span></span>
-  <span><span class="testfont">&#x1D7DF;</span>=<span>1D7DF</span></span>
-  <span><span class="testfont">&#x1D7E0;</span>=<span>1D7E0</span></span>
-  <span><span class="testfont">&#x1EEAF;</span>=<span>1EEAF</span></span><br/>
-  <span><span class="testfont">&#x1D538;</span>=<span>1D538</span></span>
-  <span><span class="testfont">&#x1D539;</span>=<span>1D539</span></span>
-  <span><span class="testfont">&#x1D53B;</span>=<span>1D53B</span></span>
-  <span><span class="testfont">&#x1D53C;</span>=<span>1D53C</span></span>
-  <span><span class="testfont">&#x1D53D;</span>=<span>1D53D</span></span>
-  <span><span class="testfont">&#x210D;</span>=<span>0210D</span></span>
-  <span><span class="testfont">&#x1D541;</span>=<span>1D541</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-double-struck-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-double-struck-001.tentative.html
deleted file mode 100644
index df656d6..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-double-struck-001.tentative.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-double-struck</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#double-struck-mappings">
-<link rel="match" href="text-transform-math-double-struck-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-double-struck' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-double-struck.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x628;</span>=<span>1EEA1</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x62A;</span>=<span>1EEB5</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x62B;</span>=<span>1EEB6</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x62C;</span>=<span>1EEA2</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x62D;</span>=<span>1EEA7</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x62E;</span>=<span>1EEB7</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x62F;</span>=<span>1EEA3</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x630;</span>=<span>1EEB8</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x631;</span>=<span>1EEB3</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x632;</span>=<span>1EEA6</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x33;</span>=<span>1D7DB</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x34;</span>=<span>1D7DC</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x35;</span>=<span>1D7DD</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x636;</span>=<span>1EEB9</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x637;</span>=<span>1EEA8</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x638;</span>=<span>1EEBA</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x39;</span>=<span>1D7E1</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x63A;</span>=<span>1EEBB</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x641;</span>=<span>1EEB0</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x642;</span>=<span>1EEB2</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x43;</span>=<span>02102</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x644;</span>=<span>1EEAB</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x645;</span>=<span>1EEAC</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x646;</span>=<span>1EEAD</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x47;</span>=<span>1D53E</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x648;</span>=<span>1EEA5</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x49;</span>=<span>1D540</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x64A;</span>=<span>1EEA9</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x4B;</span>=<span>1D542</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x4C;</span>=<span>1D543</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x4D;</span>=<span>1D544</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x4E;</span>=<span>02115</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x4F;</span>=<span>1D546</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x50;</span>=<span>02119</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x51;</span>=<span>0211A</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x52;</span>=<span>0211D</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x53;</span>=<span>1D54A</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x54;</span>=<span>1D54B</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x55;</span>=<span>1D54C</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x56;</span>=<span>1D54D</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x57;</span>=<span>1D54E</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x58;</span>=<span>1D54F</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x59;</span>=<span>1D550</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x5A;</span>=<span>02124</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x61;</span>=<span>1D552</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x62;</span>=<span>1D553</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x63;</span>=<span>1D554</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x64;</span>=<span>1D555</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x65;</span>=<span>1D556</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x66;</span>=<span>1D557</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x67;</span>=<span>1D558</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x68;</span>=<span>1D559</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x69;</span>=<span>1D55A</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x6A;</span>=<span>1D55B</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x6B;</span>=<span>1D55C</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x6C;</span>=<span>1D55D</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x6D;</span>=<span>1D55E</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x6E;</span>=<span>1D55F</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x6F;</span>=<span>1D560</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x70;</span>=<span>1D561</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x71;</span>=<span>1D562</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x72;</span>=<span>1D563</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x73;</span>=<span>1D564</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x74;</span>=<span>1D565</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x75;</span>=<span>1D566</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x76;</span>=<span>1D567</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x77;</span>=<span>1D568</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x78;</span>=<span>1D569</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x79;</span>=<span>1D56A</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x7A;</span>=<span>1D56B</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x30;</span>=<span>1D7D8</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x31;</span>=<span>1D7D9</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x32;</span>=<span>1D7DA</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x633;</span>=<span>1EEAE</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x634;</span>=<span>1EEB4</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x635;</span>=<span>1EEB1</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x36;</span>=<span>1D7DE</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x37;</span>=<span>1D7DF</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x38;</span>=<span>1D7E0</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x639;</span>=<span>1EEAF</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x41;</span>=<span>1D538</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x42;</span>=<span>1D539</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x44;</span>=<span>1D53B</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x45;</span>=<span>1D53C</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x46;</span>=<span>1D53D</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x48;</span>=<span>0210D</span></span>
-  <span><span class="testfont" style="text-transform: math-double-struck">&#x4A;</span>=<span>1D541</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-double-struck-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-double-struck-001.tentative.html.ini
deleted file mode 100644
index f73391d..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-double-struck-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-double-struck-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-fraktur-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-fraktur-001.tentative-ref.html
deleted file mode 100644
index 09ea70498..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-fraktur-001.tentative-ref.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-fraktur (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-fraktur.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D504;</span>=<span>1D504</span></span>
-  <span><span class="testfont">&#x1D505;</span>=<span>1D505</span></span>
-  <span><span class="testfont">&#x212D;</span>=<span>0212D</span></span>
-  <span><span class="testfont">&#x1D507;</span>=<span>1D507</span></span>
-  <span><span class="testfont">&#x1D508;</span>=<span>1D508</span></span>
-  <span><span class="testfont">&#x1D509;</span>=<span>1D509</span></span>
-  <span><span class="testfont">&#x1D50A;</span>=<span>1D50A</span></span>
-  <span><span class="testfont">&#x210C;</span>=<span>0210C</span></span>
-  <span><span class="testfont">&#x2111;</span>=<span>02111</span></span>
-  <span><span class="testfont">&#x1D50D;</span>=<span>1D50D</span></span><br/>
-  <span><span class="testfont">&#x1D50E;</span>=<span>1D50E</span></span>
-  <span><span class="testfont">&#x1D50F;</span>=<span>1D50F</span></span>
-  <span><span class="testfont">&#x1D510;</span>=<span>1D510</span></span>
-  <span><span class="testfont">&#x1D511;</span>=<span>1D511</span></span>
-  <span><span class="testfont">&#x1D512;</span>=<span>1D512</span></span>
-  <span><span class="testfont">&#x1D513;</span>=<span>1D513</span></span>
-  <span><span class="testfont">&#x1D514;</span>=<span>1D514</span></span>
-  <span><span class="testfont">&#x211C;</span>=<span>0211C</span></span>
-  <span><span class="testfont">&#x1D516;</span>=<span>1D516</span></span>
-  <span><span class="testfont">&#x1D517;</span>=<span>1D517</span></span><br/>
-  <span><span class="testfont">&#x1D518;</span>=<span>1D518</span></span>
-  <span><span class="testfont">&#x1D519;</span>=<span>1D519</span></span>
-  <span><span class="testfont">&#x1D51A;</span>=<span>1D51A</span></span>
-  <span><span class="testfont">&#x1D51B;</span>=<span>1D51B</span></span>
-  <span><span class="testfont">&#x1D51C;</span>=<span>1D51C</span></span>
-  <span><span class="testfont">&#x2128;</span>=<span>02128</span></span>
-  <span><span class="testfont">&#x1D51E;</span>=<span>1D51E</span></span>
-  <span><span class="testfont">&#x1D51F;</span>=<span>1D51F</span></span>
-  <span><span class="testfont">&#x1D520;</span>=<span>1D520</span></span>
-  <span><span class="testfont">&#x1D521;</span>=<span>1D521</span></span><br/>
-  <span><span class="testfont">&#x1D522;</span>=<span>1D522</span></span>
-  <span><span class="testfont">&#x1D523;</span>=<span>1D523</span></span>
-  <span><span class="testfont">&#x1D524;</span>=<span>1D524</span></span>
-  <span><span class="testfont">&#x1D525;</span>=<span>1D525</span></span>
-  <span><span class="testfont">&#x1D526;</span>=<span>1D526</span></span>
-  <span><span class="testfont">&#x1D527;</span>=<span>1D527</span></span>
-  <span><span class="testfont">&#x1D528;</span>=<span>1D528</span></span>
-  <span><span class="testfont">&#x1D529;</span>=<span>1D529</span></span>
-  <span><span class="testfont">&#x1D52A;</span>=<span>1D52A</span></span>
-  <span><span class="testfont">&#x1D52B;</span>=<span>1D52B</span></span><br/>
-  <span><span class="testfont">&#x1D52C;</span>=<span>1D52C</span></span>
-  <span><span class="testfont">&#x1D52D;</span>=<span>1D52D</span></span>
-  <span><span class="testfont">&#x1D52E;</span>=<span>1D52E</span></span>
-  <span><span class="testfont">&#x1D52F;</span>=<span>1D52F</span></span>
-  <span><span class="testfont">&#x1D530;</span>=<span>1D530</span></span>
-  <span><span class="testfont">&#x1D531;</span>=<span>1D531</span></span>
-  <span><span class="testfont">&#x1D532;</span>=<span>1D532</span></span>
-  <span><span class="testfont">&#x1D533;</span>=<span>1D533</span></span>
-  <span><span class="testfont">&#x1D534;</span>=<span>1D534</span></span>
-  <span><span class="testfont">&#x1D535;</span>=<span>1D535</span></span><br/>
-  <span><span class="testfont">&#x1D536;</span>=<span>1D536</span></span>
-  <span><span class="testfont">&#x1D537;</span>=<span>1D537</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-fraktur-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-fraktur-001.tentative.html
deleted file mode 100644
index 99310b8f..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-fraktur-001.tentative.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-fraktur</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#fraktur-mappings">
-<link rel="match" href="text-transform-math-fraktur-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-fraktur' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-fraktur.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x41;</span>=<span>1D504</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x42;</span>=<span>1D505</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x43;</span>=<span>0212D</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x44;</span>=<span>1D507</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x45;</span>=<span>1D508</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x46;</span>=<span>1D509</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x47;</span>=<span>1D50A</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x48;</span>=<span>0210C</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x49;</span>=<span>02111</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x4A;</span>=<span>1D50D</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x4B;</span>=<span>1D50E</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x4C;</span>=<span>1D50F</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x4D;</span>=<span>1D510</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x4E;</span>=<span>1D511</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x4F;</span>=<span>1D512</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x50;</span>=<span>1D513</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x51;</span>=<span>1D514</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x52;</span>=<span>0211C</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x53;</span>=<span>1D516</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x54;</span>=<span>1D517</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x55;</span>=<span>1D518</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x56;</span>=<span>1D519</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x57;</span>=<span>1D51A</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x58;</span>=<span>1D51B</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x59;</span>=<span>1D51C</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x5A;</span>=<span>02128</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x61;</span>=<span>1D51E</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x62;</span>=<span>1D51F</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x63;</span>=<span>1D520</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x64;</span>=<span>1D521</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x65;</span>=<span>1D522</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x66;</span>=<span>1D523</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x67;</span>=<span>1D524</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x68;</span>=<span>1D525</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x69;</span>=<span>1D526</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x6A;</span>=<span>1D527</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x6B;</span>=<span>1D528</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x6C;</span>=<span>1D529</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x6D;</span>=<span>1D52A</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x6E;</span>=<span>1D52B</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x6F;</span>=<span>1D52C</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x70;</span>=<span>1D52D</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x71;</span>=<span>1D52E</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x72;</span>=<span>1D52F</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x73;</span>=<span>1D530</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x74;</span>=<span>1D531</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x75;</span>=<span>1D532</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x76;</span>=<span>1D533</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x77;</span>=<span>1D534</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x78;</span>=<span>1D535</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x79;</span>=<span>1D536</span></span>
-  <span><span class="testfont" style="text-transform: math-fraktur">&#x7A;</span>=<span>1D537</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-fraktur-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-fraktur-001.tentative.html.ini
deleted file mode 100644
index f6b353e..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-fraktur-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-fraktur-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-initial-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-initial-001.tentative-ref.html
deleted file mode 100644
index 0c15bca..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-initial-001.tentative-ref.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-initial (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-initial.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1EE30;</span>=<span>1EE30</span></span>
-  <span><span class="testfont">&#x1EE32;</span>=<span>1EE32</span></span>
-  <span><span class="testfont">&#x1EE2A;</span>=<span>1EE2A</span></span>
-  <span><span class="testfont">&#x1EE2B;</span>=<span>1EE2B</span></span>
-  <span><span class="testfont">&#x1EE2C;</span>=<span>1EE2C</span></span>
-  <span><span class="testfont">&#x1EE2D;</span>=<span>1EE2D</span></span>
-  <span><span class="testfont">&#x1EE24;</span>=<span>1EE24</span></span>
-  <span><span class="testfont">&#x1EE21;</span>=<span>1EE21</span></span>
-  <span><span class="testfont">&#x1EE29;</span>=<span>1EE29</span></span>
-  <span><span class="testfont">&#x1EE36;</span>=<span>1EE36</span></span><br/>
-  <span><span class="testfont">&#x1EE22;</span>=<span>1EE22</span></span>
-  <span><span class="testfont">&#x1EE27;</span>=<span>1EE27</span></span>
-  <span><span class="testfont">&#x1EE37;</span>=<span>1EE37</span></span>
-  <span><span class="testfont">&#x1EE2E;</span>=<span>1EE2E</span></span>
-  <span><span class="testfont">&#x1EE34;</span>=<span>1EE34</span></span>
-  <span><span class="testfont">&#x1EE31;</span>=<span>1EE31</span></span>
-  <span><span class="testfont">&#x1EE39;</span>=<span>1EE39</span></span>
-  <span><span class="testfont">&#x1EE2F;</span>=<span>1EE2F</span></span>
-  <span><span class="testfont">&#x1EE3B;</span>=<span>1EE3B</span></span>
-  <span><span class="testfont">&#x1EE35;</span>=<span>1EE35</span></span><br/>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-initial-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-initial-001.tentative.html
deleted file mode 100644
index 42f3be7..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-initial-001.tentative.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-initial</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#initial-mappings">
-<link rel="match" href="text-transform-math-initial-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-initial' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-initial.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-initial">&#x641;</span>=<span>1EE30</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x642;</span>=<span>1EE32</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x643;</span>=<span>1EE2A</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x644;</span>=<span>1EE2B</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x645;</span>=<span>1EE2C</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x646;</span>=<span>1EE2D</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x647;</span>=<span>1EE24</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x628;</span>=<span>1EE21</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x64A;</span>=<span>1EE29</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x62B;</span>=<span>1EE36</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-initial">&#x62C;</span>=<span>1EE22</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x62D;</span>=<span>1EE27</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x62E;</span>=<span>1EE37</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x633;</span>=<span>1EE2E</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x634;</span>=<span>1EE34</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x635;</span>=<span>1EE31</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x636;</span>=<span>1EE39</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x639;</span>=<span>1EE2F</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x63A;</span>=<span>1EE3B</span></span>
-  <span><span class="testfont" style="text-transform: math-initial">&#x62A;</span>=<span>1EE35</span></span><br/>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-initial-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-initial-001.tentative.html.ini
deleted file mode 100644
index 7e663c0da..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-initial-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-initial-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-italic-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-italic-001.tentative-ref.html
deleted file mode 100644
index e1a90faf..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-italic-001.tentative-ref.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-italic (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-italic.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D715;</span>=<span>1D715</span></span>
-  <span><span class="testfont">&#x1D6FB;</span>=<span>1D6FB</span></span>
-  <span><span class="testfont">&#x1D6A5;</span>=<span>1D6A5</span></span>
-  <span><span class="testfont">&#x1D434;</span>=<span>1D434</span></span>
-  <span><span class="testfont">&#x1D435;</span>=<span>1D435</span></span>
-  <span><span class="testfont">&#x1D436;</span>=<span>1D436</span></span>
-  <span><span class="testfont">&#x1D437;</span>=<span>1D437</span></span>
-  <span><span class="testfont">&#x1D438;</span>=<span>1D438</span></span>
-  <span><span class="testfont">&#x1D439;</span>=<span>1D439</span></span>
-  <span><span class="testfont">&#x1D43A;</span>=<span>1D43A</span></span><br/>
-  <span><span class="testfont">&#x1D43B;</span>=<span>1D43B</span></span>
-  <span><span class="testfont">&#x1D43C;</span>=<span>1D43C</span></span>
-  <span><span class="testfont">&#x1D43D;</span>=<span>1D43D</span></span>
-  <span><span class="testfont">&#x1D43E;</span>=<span>1D43E</span></span>
-  <span><span class="testfont">&#x1D43F;</span>=<span>1D43F</span></span>
-  <span><span class="testfont">&#x1D440;</span>=<span>1D440</span></span>
-  <span><span class="testfont">&#x1D441;</span>=<span>1D441</span></span>
-  <span><span class="testfont">&#x1D442;</span>=<span>1D442</span></span>
-  <span><span class="testfont">&#x1D443;</span>=<span>1D443</span></span>
-  <span><span class="testfont">&#x1D444;</span>=<span>1D444</span></span><br/>
-  <span><span class="testfont">&#x1D445;</span>=<span>1D445</span></span>
-  <span><span class="testfont">&#x1D446;</span>=<span>1D446</span></span>
-  <span><span class="testfont">&#x1D447;</span>=<span>1D447</span></span>
-  <span><span class="testfont">&#x1D448;</span>=<span>1D448</span></span>
-  <span><span class="testfont">&#x1D449;</span>=<span>1D449</span></span>
-  <span><span class="testfont">&#x1D44A;</span>=<span>1D44A</span></span>
-  <span><span class="testfont">&#x1D44B;</span>=<span>1D44B</span></span>
-  <span><span class="testfont">&#x1D44C;</span>=<span>1D44C</span></span>
-  <span><span class="testfont">&#x1D44D;</span>=<span>1D44D</span></span>
-  <span><span class="testfont">&#x1D44E;</span>=<span>1D44E</span></span><br/>
-  <span><span class="testfont">&#x1D44F;</span>=<span>1D44F</span></span>
-  <span><span class="testfont">&#x1D450;</span>=<span>1D450</span></span>
-  <span><span class="testfont">&#x1D451;</span>=<span>1D451</span></span>
-  <span><span class="testfont">&#x1D452;</span>=<span>1D452</span></span>
-  <span><span class="testfont">&#x1D453;</span>=<span>1D453</span></span>
-  <span><span class="testfont">&#x1D454;</span>=<span>1D454</span></span>
-  <span><span class="testfont">&#x210E;</span>=<span>0210E</span></span>
-  <span><span class="testfont">&#x1D456;</span>=<span>1D456</span></span>
-  <span><span class="testfont">&#x1D457;</span>=<span>1D457</span></span>
-  <span><span class="testfont">&#x1D458;</span>=<span>1D458</span></span><br/>
-  <span><span class="testfont">&#x1D459;</span>=<span>1D459</span></span>
-  <span><span class="testfont">&#x1D45A;</span>=<span>1D45A</span></span>
-  <span><span class="testfont">&#x1D45B;</span>=<span>1D45B</span></span>
-  <span><span class="testfont">&#x1D45C;</span>=<span>1D45C</span></span>
-  <span><span class="testfont">&#x1D45D;</span>=<span>1D45D</span></span>
-  <span><span class="testfont">&#x1D45E;</span>=<span>1D45E</span></span>
-  <span><span class="testfont">&#x1D45F;</span>=<span>1D45F</span></span>
-  <span><span class="testfont">&#x1D460;</span>=<span>1D460</span></span>
-  <span><span class="testfont">&#x1D461;</span>=<span>1D461</span></span>
-  <span><span class="testfont">&#x1D462;</span>=<span>1D462</span></span><br/>
-  <span><span class="testfont">&#x1D463;</span>=<span>1D463</span></span>
-  <span><span class="testfont">&#x1D464;</span>=<span>1D464</span></span>
-  <span><span class="testfont">&#x1D465;</span>=<span>1D465</span></span>
-  <span><span class="testfont">&#x1D466;</span>=<span>1D466</span></span>
-  <span><span class="testfont">&#x1D467;</span>=<span>1D467</span></span>
-  <span><span class="testfont">&#x1D6A4;</span>=<span>1D6A4</span></span>
-  <span><span class="testfont">&#x1D6E2;</span>=<span>1D6E2</span></span>
-  <span><span class="testfont">&#x1D6E3;</span>=<span>1D6E3</span></span>
-  <span><span class="testfont">&#x1D6E4;</span>=<span>1D6E4</span></span>
-  <span><span class="testfont">&#x1D6E5;</span>=<span>1D6E5</span></span><br/>
-  <span><span class="testfont">&#x1D6E6;</span>=<span>1D6E6</span></span>
-  <span><span class="testfont">&#x1D6E7;</span>=<span>1D6E7</span></span>
-  <span><span class="testfont">&#x1D6E8;</span>=<span>1D6E8</span></span>
-  <span><span class="testfont">&#x1D6E9;</span>=<span>1D6E9</span></span>
-  <span><span class="testfont">&#x1D6EA;</span>=<span>1D6EA</span></span>
-  <span><span class="testfont">&#x1D6EB;</span>=<span>1D6EB</span></span>
-  <span><span class="testfont">&#x1D6EC;</span>=<span>1D6EC</span></span>
-  <span><span class="testfont">&#x1D6ED;</span>=<span>1D6ED</span></span>
-  <span><span class="testfont">&#x1D6EE;</span>=<span>1D6EE</span></span>
-  <span><span class="testfont">&#x1D6EF;</span>=<span>1D6EF</span></span><br/>
-  <span><span class="testfont">&#x1D6F0;</span>=<span>1D6F0</span></span>
-  <span><span class="testfont">&#x1D6F1;</span>=<span>1D6F1</span></span>
-  <span><span class="testfont">&#x1D6F2;</span>=<span>1D6F2</span></span>
-  <span><span class="testfont">&#x1D6F4;</span>=<span>1D6F4</span></span>
-  <span><span class="testfont">&#x1D6F5;</span>=<span>1D6F5</span></span>
-  <span><span class="testfont">&#x1D6F6;</span>=<span>1D6F6</span></span>
-  <span><span class="testfont">&#x1D6F7;</span>=<span>1D6F7</span></span>
-  <span><span class="testfont">&#x1D6F8;</span>=<span>1D6F8</span></span>
-  <span><span class="testfont">&#x1D6F9;</span>=<span>1D6F9</span></span>
-  <span><span class="testfont">&#x1D6FA;</span>=<span>1D6FA</span></span><br/>
-  <span><span class="testfont">&#x1D6FC;</span>=<span>1D6FC</span></span>
-  <span><span class="testfont">&#x1D6FD;</span>=<span>1D6FD</span></span>
-  <span><span class="testfont">&#x1D6FE;</span>=<span>1D6FE</span></span>
-  <span><span class="testfont">&#x1D6FF;</span>=<span>1D6FF</span></span>
-  <span><span class="testfont">&#x1D700;</span>=<span>1D700</span></span>
-  <span><span class="testfont">&#x1D701;</span>=<span>1D701</span></span>
-  <span><span class="testfont">&#x1D702;</span>=<span>1D702</span></span>
-  <span><span class="testfont">&#x1D703;</span>=<span>1D703</span></span>
-  <span><span class="testfont">&#x1D704;</span>=<span>1D704</span></span>
-  <span><span class="testfont">&#x1D705;</span>=<span>1D705</span></span><br/>
-  <span><span class="testfont">&#x1D706;</span>=<span>1D706</span></span>
-  <span><span class="testfont">&#x1D707;</span>=<span>1D707</span></span>
-  <span><span class="testfont">&#x1D708;</span>=<span>1D708</span></span>
-  <span><span class="testfont">&#x1D709;</span>=<span>1D709</span></span>
-  <span><span class="testfont">&#x1D70A;</span>=<span>1D70A</span></span>
-  <span><span class="testfont">&#x1D70B;</span>=<span>1D70B</span></span>
-  <span><span class="testfont">&#x1D70C;</span>=<span>1D70C</span></span>
-  <span><span class="testfont">&#x1D70D;</span>=<span>1D70D</span></span>
-  <span><span class="testfont">&#x1D70E;</span>=<span>1D70E</span></span>
-  <span><span class="testfont">&#x1D70F;</span>=<span>1D70F</span></span><br/>
-  <span><span class="testfont">&#x1D710;</span>=<span>1D710</span></span>
-  <span><span class="testfont">&#x1D711;</span>=<span>1D711</span></span>
-  <span><span class="testfont">&#x1D712;</span>=<span>1D712</span></span>
-  <span><span class="testfont">&#x1D713;</span>=<span>1D713</span></span>
-  <span><span class="testfont">&#x1D714;</span>=<span>1D714</span></span>
-  <span><span class="testfont">&#x1D717;</span>=<span>1D717</span></span>
-  <span><span class="testfont">&#x1D719;</span>=<span>1D719</span></span>
-  <span><span class="testfont">&#x1D71B;</span>=<span>1D71B</span></span>
-  <span><span class="testfont">&#x1D718;</span>=<span>1D718</span></span>
-  <span><span class="testfont">&#x1D71A;</span>=<span>1D71A</span></span><br/>
-  <span><span class="testfont">&#x1D6F3;</span>=<span>1D6F3</span></span>
-  <span><span class="testfont">&#x1D716;</span>=<span>1D716</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-italic-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-italic-001.tentative.html
deleted file mode 100644
index 86e9a84..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-italic-001.tentative.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-italic</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#italic-mappings">
-<link rel="match" href="text-transform-math-italic-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-italic' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-italic.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-italic">&#x2202;</span>=<span>1D715</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x2207;</span>=<span>1D6FB</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x237;</span>=<span>1D6A5</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x41;</span>=<span>1D434</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x42;</span>=<span>1D435</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x43;</span>=<span>1D436</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x44;</span>=<span>1D437</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x45;</span>=<span>1D438</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x46;</span>=<span>1D439</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x47;</span>=<span>1D43A</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-italic">&#x48;</span>=<span>1D43B</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x49;</span>=<span>1D43C</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x4A;</span>=<span>1D43D</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x4B;</span>=<span>1D43E</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x4C;</span>=<span>1D43F</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x4D;</span>=<span>1D440</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x4E;</span>=<span>1D441</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x4F;</span>=<span>1D442</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x50;</span>=<span>1D443</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x51;</span>=<span>1D444</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-italic">&#x52;</span>=<span>1D445</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x53;</span>=<span>1D446</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x54;</span>=<span>1D447</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x55;</span>=<span>1D448</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x56;</span>=<span>1D449</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x57;</span>=<span>1D44A</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x58;</span>=<span>1D44B</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x59;</span>=<span>1D44C</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x5A;</span>=<span>1D44D</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x61;</span>=<span>1D44E</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-italic">&#x62;</span>=<span>1D44F</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x63;</span>=<span>1D450</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x64;</span>=<span>1D451</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x65;</span>=<span>1D452</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x66;</span>=<span>1D453</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x67;</span>=<span>1D454</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x68;</span>=<span>0210E</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x69;</span>=<span>1D456</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x6A;</span>=<span>1D457</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x6B;</span>=<span>1D458</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-italic">&#x6C;</span>=<span>1D459</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x6D;</span>=<span>1D45A</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x6E;</span>=<span>1D45B</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x6F;</span>=<span>1D45C</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x70;</span>=<span>1D45D</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x71;</span>=<span>1D45E</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x72;</span>=<span>1D45F</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x73;</span>=<span>1D460</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x74;</span>=<span>1D461</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x75;</span>=<span>1D462</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-italic">&#x76;</span>=<span>1D463</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x77;</span>=<span>1D464</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x78;</span>=<span>1D465</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x79;</span>=<span>1D466</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x7A;</span>=<span>1D467</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x131;</span>=<span>1D6A4</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x391;</span>=<span>1D6E2</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x392;</span>=<span>1D6E3</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x393;</span>=<span>1D6E4</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x394;</span>=<span>1D6E5</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-italic">&#x395;</span>=<span>1D6E6</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x396;</span>=<span>1D6E7</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x397;</span>=<span>1D6E8</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x398;</span>=<span>1D6E9</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x399;</span>=<span>1D6EA</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x39A;</span>=<span>1D6EB</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x39B;</span>=<span>1D6EC</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x39C;</span>=<span>1D6ED</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x39D;</span>=<span>1D6EE</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x39E;</span>=<span>1D6EF</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-italic">&#x39F;</span>=<span>1D6F0</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3A0;</span>=<span>1D6F1</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3A1;</span>=<span>1D6F2</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3A3;</span>=<span>1D6F4</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3A4;</span>=<span>1D6F5</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3A5;</span>=<span>1D6F6</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3A6;</span>=<span>1D6F7</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3A7;</span>=<span>1D6F8</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3A8;</span>=<span>1D6F9</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3A9;</span>=<span>1D6FA</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3B1;</span>=<span>1D6FC</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3B2;</span>=<span>1D6FD</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3B3;</span>=<span>1D6FE</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3B4;</span>=<span>1D6FF</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3B5;</span>=<span>1D700</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3B6;</span>=<span>1D701</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3B7;</span>=<span>1D702</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3B8;</span>=<span>1D703</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3B9;</span>=<span>1D704</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3BA;</span>=<span>1D705</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3BB;</span>=<span>1D706</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3BC;</span>=<span>1D707</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3BD;</span>=<span>1D708</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3BE;</span>=<span>1D709</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3BF;</span>=<span>1D70A</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3C0;</span>=<span>1D70B</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3C1;</span>=<span>1D70C</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3C2;</span>=<span>1D70D</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3C3;</span>=<span>1D70E</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3C4;</span>=<span>1D70F</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3C5;</span>=<span>1D710</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3C6;</span>=<span>1D711</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3C7;</span>=<span>1D712</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3C8;</span>=<span>1D713</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3C9;</span>=<span>1D714</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3D1;</span>=<span>1D717</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3D5;</span>=<span>1D719</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3D6;</span>=<span>1D71B</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3F0;</span>=<span>1D718</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3F1;</span>=<span>1D71A</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3F4;</span>=<span>1D6F3</span></span>
-  <span><span class="testfont" style="text-transform: math-italic">&#x3F5;</span>=<span>1D716</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-italic-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-italic-001.tentative.html.ini
deleted file mode 100644
index d8389c2..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-italic-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-italic-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-looped-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-looped-001.tentative-ref.html
deleted file mode 100644
index 89b52e2..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-looped-001.tentative-ref.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-looped (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-looped.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1EE80;</span>=<span>1EE80</span></span>
-  <span><span class="testfont">&#x1EE81;</span>=<span>1EE81</span></span>
-  <span><span class="testfont">&#x1EE95;</span>=<span>1EE95</span></span>
-  <span><span class="testfont">&#x1EE96;</span>=<span>1EE96</span></span>
-  <span><span class="testfont">&#x1EE82;</span>=<span>1EE82</span></span>
-  <span><span class="testfont">&#x1EE87;</span>=<span>1EE87</span></span>
-  <span><span class="testfont">&#x1EE97;</span>=<span>1EE97</span></span>
-  <span><span class="testfont">&#x1EE83;</span>=<span>1EE83</span></span>
-  <span><span class="testfont">&#x1EE98;</span>=<span>1EE98</span></span>
-  <span><span class="testfont">&#x1EE93;</span>=<span>1EE93</span></span><br/>
-  <span><span class="testfont">&#x1EE86;</span>=<span>1EE86</span></span>
-  <span><span class="testfont">&#x1EE8E;</span>=<span>1EE8E</span></span>
-  <span><span class="testfont">&#x1EE94;</span>=<span>1EE94</span></span>
-  <span><span class="testfont">&#x1EE91;</span>=<span>1EE91</span></span>
-  <span><span class="testfont">&#x1EE99;</span>=<span>1EE99</span></span>
-  <span><span class="testfont">&#x1EE88;</span>=<span>1EE88</span></span>
-  <span><span class="testfont">&#x1EE9A;</span>=<span>1EE9A</span></span>
-  <span><span class="testfont">&#x1EE8F;</span>=<span>1EE8F</span></span>
-  <span><span class="testfont">&#x1EE9B;</span>=<span>1EE9B</span></span>
-  <span><span class="testfont">&#x1EE90;</span>=<span>1EE90</span></span><br/>
-  <span><span class="testfont">&#x1EE92;</span>=<span>1EE92</span></span>
-  <span><span class="testfont">&#x1EE8B;</span>=<span>1EE8B</span></span>
-  <span><span class="testfont">&#x1EE8C;</span>=<span>1EE8C</span></span>
-  <span><span class="testfont">&#x1EE8D;</span>=<span>1EE8D</span></span>
-  <span><span class="testfont">&#x1EE84;</span>=<span>1EE84</span></span>
-  <span><span class="testfont">&#x1EE85;</span>=<span>1EE85</span></span>
-  <span><span class="testfont">&#x1EE89;</span>=<span>1EE89</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-looped-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-looped-001.tentative.html
deleted file mode 100644
index d46cbc1..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-looped-001.tentative.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-looped</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#looped-mappings">
-<link rel="match" href="text-transform-math-looped-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-looped' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-looped.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-looped">&#x627;</span>=<span>1EE80</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x628;</span>=<span>1EE81</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x62A;</span>=<span>1EE95</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x62B;</span>=<span>1EE96</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x62C;</span>=<span>1EE82</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x62D;</span>=<span>1EE87</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x62E;</span>=<span>1EE97</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x62F;</span>=<span>1EE83</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x630;</span>=<span>1EE98</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x631;</span>=<span>1EE93</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-looped">&#x632;</span>=<span>1EE86</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x633;</span>=<span>1EE8E</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x634;</span>=<span>1EE94</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x635;</span>=<span>1EE91</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x636;</span>=<span>1EE99</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x637;</span>=<span>1EE88</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x638;</span>=<span>1EE9A</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x639;</span>=<span>1EE8F</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x63A;</span>=<span>1EE9B</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x641;</span>=<span>1EE90</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-looped">&#x642;</span>=<span>1EE92</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x644;</span>=<span>1EE8B</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x645;</span>=<span>1EE8C</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x646;</span>=<span>1EE8D</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x647;</span>=<span>1EE84</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x648;</span>=<span>1EE85</span></span>
-  <span><span class="testfont" style="text-transform: math-looped">&#x64A;</span>=<span>1EE89</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-looped-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-looped-001.tentative.html.ini
deleted file mode 100644
index 5a8165d4..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-looped-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-looped-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-monospace-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-monospace-001.tentative-ref.html
deleted file mode 100644
index e254e1c0..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-monospace-001.tentative-ref.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-monospace (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-monospace.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D7F6;</span>=<span>1D7F6</span></span>
-  <span><span class="testfont">&#x1D7F7;</span>=<span>1D7F7</span></span>
-  <span><span class="testfont">&#x1D7F8;</span>=<span>1D7F8</span></span>
-  <span><span class="testfont">&#x1D7F9;</span>=<span>1D7F9</span></span>
-  <span><span class="testfont">&#x1D7FA;</span>=<span>1D7FA</span></span>
-  <span><span class="testfont">&#x1D7FB;</span>=<span>1D7FB</span></span>
-  <span><span class="testfont">&#x1D7FC;</span>=<span>1D7FC</span></span>
-  <span><span class="testfont">&#x1D7FD;</span>=<span>1D7FD</span></span>
-  <span><span class="testfont">&#x1D7FE;</span>=<span>1D7FE</span></span>
-  <span><span class="testfont">&#x1D7FF;</span>=<span>1D7FF</span></span><br/>
-  <span><span class="testfont">&#x1D670;</span>=<span>1D670</span></span>
-  <span><span class="testfont">&#x1D671;</span>=<span>1D671</span></span>
-  <span><span class="testfont">&#x1D672;</span>=<span>1D672</span></span>
-  <span><span class="testfont">&#x1D673;</span>=<span>1D673</span></span>
-  <span><span class="testfont">&#x1D674;</span>=<span>1D674</span></span>
-  <span><span class="testfont">&#x1D675;</span>=<span>1D675</span></span>
-  <span><span class="testfont">&#x1D676;</span>=<span>1D676</span></span>
-  <span><span class="testfont">&#x1D677;</span>=<span>1D677</span></span>
-  <span><span class="testfont">&#x1D678;</span>=<span>1D678</span></span>
-  <span><span class="testfont">&#x1D679;</span>=<span>1D679</span></span><br/>
-  <span><span class="testfont">&#x1D67A;</span>=<span>1D67A</span></span>
-  <span><span class="testfont">&#x1D67B;</span>=<span>1D67B</span></span>
-  <span><span class="testfont">&#x1D67C;</span>=<span>1D67C</span></span>
-  <span><span class="testfont">&#x1D67D;</span>=<span>1D67D</span></span>
-  <span><span class="testfont">&#x1D67E;</span>=<span>1D67E</span></span>
-  <span><span class="testfont">&#x1D67F;</span>=<span>1D67F</span></span>
-  <span><span class="testfont">&#x1D680;</span>=<span>1D680</span></span>
-  <span><span class="testfont">&#x1D681;</span>=<span>1D681</span></span>
-  <span><span class="testfont">&#x1D682;</span>=<span>1D682</span></span>
-  <span><span class="testfont">&#x1D683;</span>=<span>1D683</span></span><br/>
-  <span><span class="testfont">&#x1D684;</span>=<span>1D684</span></span>
-  <span><span class="testfont">&#x1D685;</span>=<span>1D685</span></span>
-  <span><span class="testfont">&#x1D686;</span>=<span>1D686</span></span>
-  <span><span class="testfont">&#x1D687;</span>=<span>1D687</span></span>
-  <span><span class="testfont">&#x1D688;</span>=<span>1D688</span></span>
-  <span><span class="testfont">&#x1D689;</span>=<span>1D689</span></span>
-  <span><span class="testfont">&#x1D68A;</span>=<span>1D68A</span></span>
-  <span><span class="testfont">&#x1D68B;</span>=<span>1D68B</span></span>
-  <span><span class="testfont">&#x1D68C;</span>=<span>1D68C</span></span>
-  <span><span class="testfont">&#x1D68D;</span>=<span>1D68D</span></span><br/>
-  <span><span class="testfont">&#x1D68E;</span>=<span>1D68E</span></span>
-  <span><span class="testfont">&#x1D68F;</span>=<span>1D68F</span></span>
-  <span><span class="testfont">&#x1D690;</span>=<span>1D690</span></span>
-  <span><span class="testfont">&#x1D691;</span>=<span>1D691</span></span>
-  <span><span class="testfont">&#x1D692;</span>=<span>1D692</span></span>
-  <span><span class="testfont">&#x1D693;</span>=<span>1D693</span></span>
-  <span><span class="testfont">&#x1D694;</span>=<span>1D694</span></span>
-  <span><span class="testfont">&#x1D695;</span>=<span>1D695</span></span>
-  <span><span class="testfont">&#x1D696;</span>=<span>1D696</span></span>
-  <span><span class="testfont">&#x1D697;</span>=<span>1D697</span></span><br/>
-  <span><span class="testfont">&#x1D698;</span>=<span>1D698</span></span>
-  <span><span class="testfont">&#x1D699;</span>=<span>1D699</span></span>
-  <span><span class="testfont">&#x1D69A;</span>=<span>1D69A</span></span>
-  <span><span class="testfont">&#x1D69B;</span>=<span>1D69B</span></span>
-  <span><span class="testfont">&#x1D69C;</span>=<span>1D69C</span></span>
-  <span><span class="testfont">&#x1D69D;</span>=<span>1D69D</span></span>
-  <span><span class="testfont">&#x1D69E;</span>=<span>1D69E</span></span>
-  <span><span class="testfont">&#x1D69F;</span>=<span>1D69F</span></span>
-  <span><span class="testfont">&#x1D6A0;</span>=<span>1D6A0</span></span>
-  <span><span class="testfont">&#x1D6A1;</span>=<span>1D6A1</span></span><br/>
-  <span><span class="testfont">&#x1D6A2;</span>=<span>1D6A2</span></span>
-  <span><span class="testfont">&#x1D6A3;</span>=<span>1D6A3</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-monospace-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-monospace-001.tentative.html
deleted file mode 100644
index 86a4d113..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-monospace-001.tentative.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-monospace</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#monospace-mappings">
-<link rel="match" href="text-transform-math-monospace-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-monospace' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-monospace.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x30;</span>=<span>1D7F6</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x31;</span>=<span>1D7F7</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x32;</span>=<span>1D7F8</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x33;</span>=<span>1D7F9</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x34;</span>=<span>1D7FA</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x35;</span>=<span>1D7FB</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x36;</span>=<span>1D7FC</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x37;</span>=<span>1D7FD</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x38;</span>=<span>1D7FE</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x39;</span>=<span>1D7FF</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x41;</span>=<span>1D670</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x42;</span>=<span>1D671</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x43;</span>=<span>1D672</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x44;</span>=<span>1D673</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x45;</span>=<span>1D674</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x46;</span>=<span>1D675</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x47;</span>=<span>1D676</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x48;</span>=<span>1D677</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x49;</span>=<span>1D678</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x4A;</span>=<span>1D679</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x4B;</span>=<span>1D67A</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x4C;</span>=<span>1D67B</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x4D;</span>=<span>1D67C</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x4E;</span>=<span>1D67D</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x4F;</span>=<span>1D67E</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x50;</span>=<span>1D67F</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x51;</span>=<span>1D680</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x52;</span>=<span>1D681</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x53;</span>=<span>1D682</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x54;</span>=<span>1D683</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x55;</span>=<span>1D684</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x56;</span>=<span>1D685</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x57;</span>=<span>1D686</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x58;</span>=<span>1D687</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x59;</span>=<span>1D688</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x5A;</span>=<span>1D689</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x61;</span>=<span>1D68A</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x62;</span>=<span>1D68B</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x63;</span>=<span>1D68C</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x64;</span>=<span>1D68D</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x65;</span>=<span>1D68E</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x66;</span>=<span>1D68F</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x67;</span>=<span>1D690</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x68;</span>=<span>1D691</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x69;</span>=<span>1D692</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x6A;</span>=<span>1D693</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x6B;</span>=<span>1D694</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x6C;</span>=<span>1D695</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x6D;</span>=<span>1D696</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x6E;</span>=<span>1D697</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x6F;</span>=<span>1D698</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x70;</span>=<span>1D699</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x71;</span>=<span>1D69A</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x72;</span>=<span>1D69B</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x73;</span>=<span>1D69C</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x74;</span>=<span>1D69D</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x75;</span>=<span>1D69E</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x76;</span>=<span>1D69F</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x77;</span>=<span>1D6A0</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x78;</span>=<span>1D6A1</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x79;</span>=<span>1D6A2</span></span>
-  <span><span class="testfont" style="text-transform: math-monospace">&#x7A;</span>=<span>1D6A3</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-monospace-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-monospace-001.tentative.html.ini
deleted file mode 100644
index 18f0027..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-monospace-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-monospace-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-001.tentative-ref.html
deleted file mode 100644
index 8b75a6f..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-001.tentative-ref.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-sans-serif (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-sans-serif.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D7E2;</span>=<span>1D7E2</span></span>
-  <span><span class="testfont">&#x1D7E3;</span>=<span>1D7E3</span></span>
-  <span><span class="testfont">&#x1D7E4;</span>=<span>1D7E4</span></span>
-  <span><span class="testfont">&#x1D7E5;</span>=<span>1D7E5</span></span>
-  <span><span class="testfont">&#x1D7E6;</span>=<span>1D7E6</span></span>
-  <span><span class="testfont">&#x1D7E7;</span>=<span>1D7E7</span></span>
-  <span><span class="testfont">&#x1D7E8;</span>=<span>1D7E8</span></span>
-  <span><span class="testfont">&#x1D7E9;</span>=<span>1D7E9</span></span>
-  <span><span class="testfont">&#x1D7EA;</span>=<span>1D7EA</span></span>
-  <span><span class="testfont">&#x1D7EB;</span>=<span>1D7EB</span></span><br/>
-  <span><span class="testfont">&#x1D5A0;</span>=<span>1D5A0</span></span>
-  <span><span class="testfont">&#x1D5A1;</span>=<span>1D5A1</span></span>
-  <span><span class="testfont">&#x1D5A2;</span>=<span>1D5A2</span></span>
-  <span><span class="testfont">&#x1D5A3;</span>=<span>1D5A3</span></span>
-  <span><span class="testfont">&#x1D5A4;</span>=<span>1D5A4</span></span>
-  <span><span class="testfont">&#x1D5A5;</span>=<span>1D5A5</span></span>
-  <span><span class="testfont">&#x1D5A6;</span>=<span>1D5A6</span></span>
-  <span><span class="testfont">&#x1D5A7;</span>=<span>1D5A7</span></span>
-  <span><span class="testfont">&#x1D5A8;</span>=<span>1D5A8</span></span>
-  <span><span class="testfont">&#x1D5A9;</span>=<span>1D5A9</span></span><br/>
-  <span><span class="testfont">&#x1D5AA;</span>=<span>1D5AA</span></span>
-  <span><span class="testfont">&#x1D5AB;</span>=<span>1D5AB</span></span>
-  <span><span class="testfont">&#x1D5AC;</span>=<span>1D5AC</span></span>
-  <span><span class="testfont">&#x1D5AD;</span>=<span>1D5AD</span></span>
-  <span><span class="testfont">&#x1D5AE;</span>=<span>1D5AE</span></span>
-  <span><span class="testfont">&#x1D5AF;</span>=<span>1D5AF</span></span>
-  <span><span class="testfont">&#x1D5B0;</span>=<span>1D5B0</span></span>
-  <span><span class="testfont">&#x1D5B1;</span>=<span>1D5B1</span></span>
-  <span><span class="testfont">&#x1D5B2;</span>=<span>1D5B2</span></span>
-  <span><span class="testfont">&#x1D5B3;</span>=<span>1D5B3</span></span><br/>
-  <span><span class="testfont">&#x1D5B4;</span>=<span>1D5B4</span></span>
-  <span><span class="testfont">&#x1D5B5;</span>=<span>1D5B5</span></span>
-  <span><span class="testfont">&#x1D5B6;</span>=<span>1D5B6</span></span>
-  <span><span class="testfont">&#x1D5B7;</span>=<span>1D5B7</span></span>
-  <span><span class="testfont">&#x1D5B8;</span>=<span>1D5B8</span></span>
-  <span><span class="testfont">&#x1D5B9;</span>=<span>1D5B9</span></span>
-  <span><span class="testfont">&#x1D5BA;</span>=<span>1D5BA</span></span>
-  <span><span class="testfont">&#x1D5BB;</span>=<span>1D5BB</span></span>
-  <span><span class="testfont">&#x1D5BC;</span>=<span>1D5BC</span></span>
-  <span><span class="testfont">&#x1D5BD;</span>=<span>1D5BD</span></span><br/>
-  <span><span class="testfont">&#x1D5BE;</span>=<span>1D5BE</span></span>
-  <span><span class="testfont">&#x1D5BF;</span>=<span>1D5BF</span></span>
-  <span><span class="testfont">&#x1D5C0;</span>=<span>1D5C0</span></span>
-  <span><span class="testfont">&#x1D5C1;</span>=<span>1D5C1</span></span>
-  <span><span class="testfont">&#x1D5C2;</span>=<span>1D5C2</span></span>
-  <span><span class="testfont">&#x1D5C3;</span>=<span>1D5C3</span></span>
-  <span><span class="testfont">&#x1D5C4;</span>=<span>1D5C4</span></span>
-  <span><span class="testfont">&#x1D5C5;</span>=<span>1D5C5</span></span>
-  <span><span class="testfont">&#x1D5C6;</span>=<span>1D5C6</span></span>
-  <span><span class="testfont">&#x1D5C7;</span>=<span>1D5C7</span></span><br/>
-  <span><span class="testfont">&#x1D5C8;</span>=<span>1D5C8</span></span>
-  <span><span class="testfont">&#x1D5C9;</span>=<span>1D5C9</span></span>
-  <span><span class="testfont">&#x1D5CA;</span>=<span>1D5CA</span></span>
-  <span><span class="testfont">&#x1D5CB;</span>=<span>1D5CB</span></span>
-  <span><span class="testfont">&#x1D5CC;</span>=<span>1D5CC</span></span>
-  <span><span class="testfont">&#x1D5CD;</span>=<span>1D5CD</span></span>
-  <span><span class="testfont">&#x1D5CE;</span>=<span>1D5CE</span></span>
-  <span><span class="testfont">&#x1D5CF;</span>=<span>1D5CF</span></span>
-  <span><span class="testfont">&#x1D5D0;</span>=<span>1D5D0</span></span>
-  <span><span class="testfont">&#x1D5D1;</span>=<span>1D5D1</span></span><br/>
-  <span><span class="testfont">&#x1D5D2;</span>=<span>1D5D2</span></span>
-  <span><span class="testfont">&#x1D5D3;</span>=<span>1D5D3</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-001.tentative.html
deleted file mode 100644
index 41a5cc94..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-001.tentative.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-sans-serif</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#sans-serif-mappings">
-<link rel="match" href="text-transform-math-sans-serif-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-sans-serif' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-sans-serif.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x30;</span>=<span>1D7E2</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x31;</span>=<span>1D7E3</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x32;</span>=<span>1D7E4</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x33;</span>=<span>1D7E5</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x34;</span>=<span>1D7E6</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x35;</span>=<span>1D7E7</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x36;</span>=<span>1D7E8</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x37;</span>=<span>1D7E9</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x38;</span>=<span>1D7EA</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x39;</span>=<span>1D7EB</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x41;</span>=<span>1D5A0</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x42;</span>=<span>1D5A1</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x43;</span>=<span>1D5A2</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x44;</span>=<span>1D5A3</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x45;</span>=<span>1D5A4</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x46;</span>=<span>1D5A5</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x47;</span>=<span>1D5A6</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x48;</span>=<span>1D5A7</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x49;</span>=<span>1D5A8</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x4A;</span>=<span>1D5A9</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x4B;</span>=<span>1D5AA</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x4C;</span>=<span>1D5AB</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x4D;</span>=<span>1D5AC</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x4E;</span>=<span>1D5AD</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x4F;</span>=<span>1D5AE</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x50;</span>=<span>1D5AF</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x51;</span>=<span>1D5B0</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x52;</span>=<span>1D5B1</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x53;</span>=<span>1D5B2</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x54;</span>=<span>1D5B3</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x55;</span>=<span>1D5B4</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x56;</span>=<span>1D5B5</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x57;</span>=<span>1D5B6</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x58;</span>=<span>1D5B7</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x59;</span>=<span>1D5B8</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x5A;</span>=<span>1D5B9</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x61;</span>=<span>1D5BA</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x62;</span>=<span>1D5BB</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x63;</span>=<span>1D5BC</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x64;</span>=<span>1D5BD</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x65;</span>=<span>1D5BE</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x66;</span>=<span>1D5BF</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x67;</span>=<span>1D5C0</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x68;</span>=<span>1D5C1</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x69;</span>=<span>1D5C2</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x6A;</span>=<span>1D5C3</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x6B;</span>=<span>1D5C4</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x6C;</span>=<span>1D5C5</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x6D;</span>=<span>1D5C6</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x6E;</span>=<span>1D5C7</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x6F;</span>=<span>1D5C8</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x70;</span>=<span>1D5C9</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x71;</span>=<span>1D5CA</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x72;</span>=<span>1D5CB</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x73;</span>=<span>1D5CC</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x74;</span>=<span>1D5CD</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x75;</span>=<span>1D5CE</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x76;</span>=<span>1D5CF</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x77;</span>=<span>1D5D0</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x78;</span>=<span>1D5D1</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x79;</span>=<span>1D5D2</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif">&#x7A;</span>=<span>1D5D3</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-001.tentative.html.ini
deleted file mode 100644
index b1f8403..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-sans-serif-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-bold-italic-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-bold-italic-001.tentative-ref.html
deleted file mode 100644
index 7f71dc4..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-bold-italic-001.tentative-ref.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-sans-serif-bold-italic (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-sans-serif-bold-italic.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D7C3;</span>=<span>1D7C3</span></span>
-  <span><span class="testfont">&#x1D7A9;</span>=<span>1D7A9</span></span>
-  <span><span class="testfont">&#x1D63C;</span>=<span>1D63C</span></span>
-  <span><span class="testfont">&#x1D63D;</span>=<span>1D63D</span></span>
-  <span><span class="testfont">&#x1D63E;</span>=<span>1D63E</span></span>
-  <span><span class="testfont">&#x1D63F;</span>=<span>1D63F</span></span>
-  <span><span class="testfont">&#x1D640;</span>=<span>1D640</span></span>
-  <span><span class="testfont">&#x1D641;</span>=<span>1D641</span></span>
-  <span><span class="testfont">&#x1D642;</span>=<span>1D642</span></span>
-  <span><span class="testfont">&#x1D643;</span>=<span>1D643</span></span><br/>
-  <span><span class="testfont">&#x1D644;</span>=<span>1D644</span></span>
-  <span><span class="testfont">&#x1D645;</span>=<span>1D645</span></span>
-  <span><span class="testfont">&#x1D646;</span>=<span>1D646</span></span>
-  <span><span class="testfont">&#x1D647;</span>=<span>1D647</span></span>
-  <span><span class="testfont">&#x1D648;</span>=<span>1D648</span></span>
-  <span><span class="testfont">&#x1D649;</span>=<span>1D649</span></span>
-  <span><span class="testfont">&#x1D64A;</span>=<span>1D64A</span></span>
-  <span><span class="testfont">&#x1D64B;</span>=<span>1D64B</span></span>
-  <span><span class="testfont">&#x1D64C;</span>=<span>1D64C</span></span>
-  <span><span class="testfont">&#x1D64D;</span>=<span>1D64D</span></span><br/>
-  <span><span class="testfont">&#x1D64E;</span>=<span>1D64E</span></span>
-  <span><span class="testfont">&#x1D64F;</span>=<span>1D64F</span></span>
-  <span><span class="testfont">&#x1D650;</span>=<span>1D650</span></span>
-  <span><span class="testfont">&#x1D651;</span>=<span>1D651</span></span>
-  <span><span class="testfont">&#x1D652;</span>=<span>1D652</span></span>
-  <span><span class="testfont">&#x1D653;</span>=<span>1D653</span></span>
-  <span><span class="testfont">&#x1D654;</span>=<span>1D654</span></span>
-  <span><span class="testfont">&#x1D655;</span>=<span>1D655</span></span>
-  <span><span class="testfont">&#x1D656;</span>=<span>1D656</span></span>
-  <span><span class="testfont">&#x1D657;</span>=<span>1D657</span></span><br/>
-  <span><span class="testfont">&#x1D658;</span>=<span>1D658</span></span>
-  <span><span class="testfont">&#x1D659;</span>=<span>1D659</span></span>
-  <span><span class="testfont">&#x1D65A;</span>=<span>1D65A</span></span>
-  <span><span class="testfont">&#x1D65B;</span>=<span>1D65B</span></span>
-  <span><span class="testfont">&#x1D65C;</span>=<span>1D65C</span></span>
-  <span><span class="testfont">&#x1D65D;</span>=<span>1D65D</span></span>
-  <span><span class="testfont">&#x1D65E;</span>=<span>1D65E</span></span>
-  <span><span class="testfont">&#x1D65F;</span>=<span>1D65F</span></span>
-  <span><span class="testfont">&#x1D660;</span>=<span>1D660</span></span>
-  <span><span class="testfont">&#x1D661;</span>=<span>1D661</span></span><br/>
-  <span><span class="testfont">&#x1D662;</span>=<span>1D662</span></span>
-  <span><span class="testfont">&#x1D663;</span>=<span>1D663</span></span>
-  <span><span class="testfont">&#x1D664;</span>=<span>1D664</span></span>
-  <span><span class="testfont">&#x1D665;</span>=<span>1D665</span></span>
-  <span><span class="testfont">&#x1D666;</span>=<span>1D666</span></span>
-  <span><span class="testfont">&#x1D667;</span>=<span>1D667</span></span>
-  <span><span class="testfont">&#x1D668;</span>=<span>1D668</span></span>
-  <span><span class="testfont">&#x1D669;</span>=<span>1D669</span></span>
-  <span><span class="testfont">&#x1D66A;</span>=<span>1D66A</span></span>
-  <span><span class="testfont">&#x1D66B;</span>=<span>1D66B</span></span><br/>
-  <span><span class="testfont">&#x1D66C;</span>=<span>1D66C</span></span>
-  <span><span class="testfont">&#x1D66D;</span>=<span>1D66D</span></span>
-  <span><span class="testfont">&#x1D66E;</span>=<span>1D66E</span></span>
-  <span><span class="testfont">&#x1D66F;</span>=<span>1D66F</span></span>
-  <span><span class="testfont">&#x1D790;</span>=<span>1D790</span></span>
-  <span><span class="testfont">&#x1D791;</span>=<span>1D791</span></span>
-  <span><span class="testfont">&#x1D792;</span>=<span>1D792</span></span>
-  <span><span class="testfont">&#x1D793;</span>=<span>1D793</span></span>
-  <span><span class="testfont">&#x1D794;</span>=<span>1D794</span></span>
-  <span><span class="testfont">&#x1D795;</span>=<span>1D795</span></span><br/>
-  <span><span class="testfont">&#x1D796;</span>=<span>1D796</span></span>
-  <span><span class="testfont">&#x1D797;</span>=<span>1D797</span></span>
-  <span><span class="testfont">&#x1D798;</span>=<span>1D798</span></span>
-  <span><span class="testfont">&#x1D799;</span>=<span>1D799</span></span>
-  <span><span class="testfont">&#x1D79A;</span>=<span>1D79A</span></span>
-  <span><span class="testfont">&#x1D79B;</span>=<span>1D79B</span></span>
-  <span><span class="testfont">&#x1D79C;</span>=<span>1D79C</span></span>
-  <span><span class="testfont">&#x1D79D;</span>=<span>1D79D</span></span>
-  <span><span class="testfont">&#x1D79E;</span>=<span>1D79E</span></span>
-  <span><span class="testfont">&#x1D79F;</span>=<span>1D79F</span></span><br/>
-  <span><span class="testfont">&#x1D7A0;</span>=<span>1D7A0</span></span>
-  <span><span class="testfont">&#x1D7A2;</span>=<span>1D7A2</span></span>
-  <span><span class="testfont">&#x1D7A3;</span>=<span>1D7A3</span></span>
-  <span><span class="testfont">&#x1D7A4;</span>=<span>1D7A4</span></span>
-  <span><span class="testfont">&#x1D7A5;</span>=<span>1D7A5</span></span>
-  <span><span class="testfont">&#x1D7A6;</span>=<span>1D7A6</span></span>
-  <span><span class="testfont">&#x1D7A7;</span>=<span>1D7A7</span></span>
-  <span><span class="testfont">&#x1D7A8;</span>=<span>1D7A8</span></span>
-  <span><span class="testfont">&#x1D7AA;</span>=<span>1D7AA</span></span>
-  <span><span class="testfont">&#x1D7AB;</span>=<span>1D7AB</span></span><br/>
-  <span><span class="testfont">&#x1D7AC;</span>=<span>1D7AC</span></span>
-  <span><span class="testfont">&#x1D7AD;</span>=<span>1D7AD</span></span>
-  <span><span class="testfont">&#x1D7AE;</span>=<span>1D7AE</span></span>
-  <span><span class="testfont">&#x1D7AF;</span>=<span>1D7AF</span></span>
-  <span><span class="testfont">&#x1D7B0;</span>=<span>1D7B0</span></span>
-  <span><span class="testfont">&#x1D7B1;</span>=<span>1D7B1</span></span>
-  <span><span class="testfont">&#x1D7B2;</span>=<span>1D7B2</span></span>
-  <span><span class="testfont">&#x1D7B3;</span>=<span>1D7B3</span></span>
-  <span><span class="testfont">&#x1D7B4;</span>=<span>1D7B4</span></span>
-  <span><span class="testfont">&#x1D7B5;</span>=<span>1D7B5</span></span><br/>
-  <span><span class="testfont">&#x1D7B6;</span>=<span>1D7B6</span></span>
-  <span><span class="testfont">&#x1D7B7;</span>=<span>1D7B7</span></span>
-  <span><span class="testfont">&#x1D7B8;</span>=<span>1D7B8</span></span>
-  <span><span class="testfont">&#x1D7B9;</span>=<span>1D7B9</span></span>
-  <span><span class="testfont">&#x1D7BA;</span>=<span>1D7BA</span></span>
-  <span><span class="testfont">&#x1D7BB;</span>=<span>1D7BB</span></span>
-  <span><span class="testfont">&#x1D7BC;</span>=<span>1D7BC</span></span>
-  <span><span class="testfont">&#x1D7BD;</span>=<span>1D7BD</span></span>
-  <span><span class="testfont">&#x1D7BE;</span>=<span>1D7BE</span></span>
-  <span><span class="testfont">&#x1D7BF;</span>=<span>1D7BF</span></span><br/>
-  <span><span class="testfont">&#x1D7C0;</span>=<span>1D7C0</span></span>
-  <span><span class="testfont">&#x1D7C1;</span>=<span>1D7C1</span></span>
-  <span><span class="testfont">&#x1D7C2;</span>=<span>1D7C2</span></span>
-  <span><span class="testfont">&#x1D7C5;</span>=<span>1D7C5</span></span>
-  <span><span class="testfont">&#x1D7C7;</span>=<span>1D7C7</span></span>
-  <span><span class="testfont">&#x1D7C9;</span>=<span>1D7C9</span></span>
-  <span><span class="testfont">&#x1D7C6;</span>=<span>1D7C6</span></span>
-  <span><span class="testfont">&#x1D7C8;</span>=<span>1D7C8</span></span>
-  <span><span class="testfont">&#x1D7A1;</span>=<span>1D7A1</span></span>
-  <span><span class="testfont">&#x1D7C4;</span>=<span>1D7C4</span></span><br/>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-bold-italic-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-bold-italic-001.tentative.html
deleted file mode 100644
index 955c54a..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-bold-italic-001.tentative.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-sans-serif-bold-italic</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#sans-serif-bold-italic-mappings">
-<link rel="match" href="text-transform-math-sans-serif-bold-italic-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-sans-serif-bold-italic' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-sans-serif-bold-italic.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x2202;</span>=<span>1D7C3</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x2207;</span>=<span>1D7A9</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x41;</span>=<span>1D63C</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x42;</span>=<span>1D63D</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x43;</span>=<span>1D63E</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x44;</span>=<span>1D63F</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x45;</span>=<span>1D640</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x46;</span>=<span>1D641</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x47;</span>=<span>1D642</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x48;</span>=<span>1D643</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x49;</span>=<span>1D644</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x4A;</span>=<span>1D645</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x4B;</span>=<span>1D646</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x4C;</span>=<span>1D647</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x4D;</span>=<span>1D648</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x4E;</span>=<span>1D649</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x4F;</span>=<span>1D64A</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x50;</span>=<span>1D64B</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x51;</span>=<span>1D64C</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x52;</span>=<span>1D64D</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x53;</span>=<span>1D64E</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x54;</span>=<span>1D64F</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x55;</span>=<span>1D650</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x56;</span>=<span>1D651</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x57;</span>=<span>1D652</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x58;</span>=<span>1D653</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x59;</span>=<span>1D654</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x5A;</span>=<span>1D655</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x61;</span>=<span>1D656</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x62;</span>=<span>1D657</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x63;</span>=<span>1D658</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x64;</span>=<span>1D659</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x65;</span>=<span>1D65A</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x66;</span>=<span>1D65B</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x67;</span>=<span>1D65C</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x68;</span>=<span>1D65D</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x69;</span>=<span>1D65E</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x6A;</span>=<span>1D65F</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x6B;</span>=<span>1D660</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x6C;</span>=<span>1D661</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x6D;</span>=<span>1D662</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x6E;</span>=<span>1D663</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x6F;</span>=<span>1D664</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x70;</span>=<span>1D665</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x71;</span>=<span>1D666</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x72;</span>=<span>1D667</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x73;</span>=<span>1D668</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x74;</span>=<span>1D669</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x75;</span>=<span>1D66A</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x76;</span>=<span>1D66B</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x77;</span>=<span>1D66C</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x78;</span>=<span>1D66D</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x79;</span>=<span>1D66E</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x7A;</span>=<span>1D66F</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x391;</span>=<span>1D790</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x392;</span>=<span>1D791</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x393;</span>=<span>1D792</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x394;</span>=<span>1D793</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x395;</span>=<span>1D794</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x396;</span>=<span>1D795</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x397;</span>=<span>1D796</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x398;</span>=<span>1D797</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x399;</span>=<span>1D798</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x39A;</span>=<span>1D799</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x39B;</span>=<span>1D79A</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x39C;</span>=<span>1D79B</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x39D;</span>=<span>1D79C</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x39E;</span>=<span>1D79D</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x39F;</span>=<span>1D79E</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3A0;</span>=<span>1D79F</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3A1;</span>=<span>1D7A0</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3A3;</span>=<span>1D7A2</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3A4;</span>=<span>1D7A3</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3A5;</span>=<span>1D7A4</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3A6;</span>=<span>1D7A5</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3A7;</span>=<span>1D7A6</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3A8;</span>=<span>1D7A7</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3A9;</span>=<span>1D7A8</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3B1;</span>=<span>1D7AA</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3B2;</span>=<span>1D7AB</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3B3;</span>=<span>1D7AC</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3B4;</span>=<span>1D7AD</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3B5;</span>=<span>1D7AE</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3B6;</span>=<span>1D7AF</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3B7;</span>=<span>1D7B0</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3B8;</span>=<span>1D7B1</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3B9;</span>=<span>1D7B2</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3BA;</span>=<span>1D7B3</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3BB;</span>=<span>1D7B4</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3BC;</span>=<span>1D7B5</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3BD;</span>=<span>1D7B6</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3BE;</span>=<span>1D7B7</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3BF;</span>=<span>1D7B8</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3C0;</span>=<span>1D7B9</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3C1;</span>=<span>1D7BA</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3C2;</span>=<span>1D7BB</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3C3;</span>=<span>1D7BC</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3C4;</span>=<span>1D7BD</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3C5;</span>=<span>1D7BE</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3C6;</span>=<span>1D7BF</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3C7;</span>=<span>1D7C0</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3C8;</span>=<span>1D7C1</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3C9;</span>=<span>1D7C2</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3D1;</span>=<span>1D7C5</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3D5;</span>=<span>1D7C7</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3D6;</span>=<span>1D7C9</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3F0;</span>=<span>1D7C6</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3F1;</span>=<span>1D7C8</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3F4;</span>=<span>1D7A1</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-bold-italic">&#x3F5;</span>=<span>1D7C4</span></span><br/>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-bold-italic-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-bold-italic-001.tentative.html.ini
deleted file mode 100644
index 18147ddb..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-bold-italic-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-sans-serif-bold-italic-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-italic-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-italic-001.tentative-ref.html
deleted file mode 100644
index f352596..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-italic-001.tentative-ref.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-sans-serif-italic (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-sans-serif-italic.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D608;</span>=<span>1D608</span></span>
-  <span><span class="testfont">&#x1D609;</span>=<span>1D609</span></span>
-  <span><span class="testfont">&#x1D60A;</span>=<span>1D60A</span></span>
-  <span><span class="testfont">&#x1D60B;</span>=<span>1D60B</span></span>
-  <span><span class="testfont">&#x1D60C;</span>=<span>1D60C</span></span>
-  <span><span class="testfont">&#x1D60D;</span>=<span>1D60D</span></span>
-  <span><span class="testfont">&#x1D60E;</span>=<span>1D60E</span></span>
-  <span><span class="testfont">&#x1D60F;</span>=<span>1D60F</span></span>
-  <span><span class="testfont">&#x1D610;</span>=<span>1D610</span></span>
-  <span><span class="testfont">&#x1D611;</span>=<span>1D611</span></span><br/>
-  <span><span class="testfont">&#x1D612;</span>=<span>1D612</span></span>
-  <span><span class="testfont">&#x1D613;</span>=<span>1D613</span></span>
-  <span><span class="testfont">&#x1D614;</span>=<span>1D614</span></span>
-  <span><span class="testfont">&#x1D615;</span>=<span>1D615</span></span>
-  <span><span class="testfont">&#x1D616;</span>=<span>1D616</span></span>
-  <span><span class="testfont">&#x1D617;</span>=<span>1D617</span></span>
-  <span><span class="testfont">&#x1D618;</span>=<span>1D618</span></span>
-  <span><span class="testfont">&#x1D619;</span>=<span>1D619</span></span>
-  <span><span class="testfont">&#x1D61A;</span>=<span>1D61A</span></span>
-  <span><span class="testfont">&#x1D61B;</span>=<span>1D61B</span></span><br/>
-  <span><span class="testfont">&#x1D61C;</span>=<span>1D61C</span></span>
-  <span><span class="testfont">&#x1D61D;</span>=<span>1D61D</span></span>
-  <span><span class="testfont">&#x1D61E;</span>=<span>1D61E</span></span>
-  <span><span class="testfont">&#x1D61F;</span>=<span>1D61F</span></span>
-  <span><span class="testfont">&#x1D620;</span>=<span>1D620</span></span>
-  <span><span class="testfont">&#x1D621;</span>=<span>1D621</span></span>
-  <span><span class="testfont">&#x1D622;</span>=<span>1D622</span></span>
-  <span><span class="testfont">&#x1D623;</span>=<span>1D623</span></span>
-  <span><span class="testfont">&#x1D624;</span>=<span>1D624</span></span>
-  <span><span class="testfont">&#x1D625;</span>=<span>1D625</span></span><br/>
-  <span><span class="testfont">&#x1D626;</span>=<span>1D626</span></span>
-  <span><span class="testfont">&#x1D627;</span>=<span>1D627</span></span>
-  <span><span class="testfont">&#x1D628;</span>=<span>1D628</span></span>
-  <span><span class="testfont">&#x1D629;</span>=<span>1D629</span></span>
-  <span><span class="testfont">&#x1D62A;</span>=<span>1D62A</span></span>
-  <span><span class="testfont">&#x1D62B;</span>=<span>1D62B</span></span>
-  <span><span class="testfont">&#x1D62C;</span>=<span>1D62C</span></span>
-  <span><span class="testfont">&#x1D62D;</span>=<span>1D62D</span></span>
-  <span><span class="testfont">&#x1D62E;</span>=<span>1D62E</span></span>
-  <span><span class="testfont">&#x1D62F;</span>=<span>1D62F</span></span><br/>
-  <span><span class="testfont">&#x1D630;</span>=<span>1D630</span></span>
-  <span><span class="testfont">&#x1D631;</span>=<span>1D631</span></span>
-  <span><span class="testfont">&#x1D632;</span>=<span>1D632</span></span>
-  <span><span class="testfont">&#x1D633;</span>=<span>1D633</span></span>
-  <span><span class="testfont">&#x1D634;</span>=<span>1D634</span></span>
-  <span><span class="testfont">&#x1D635;</span>=<span>1D635</span></span>
-  <span><span class="testfont">&#x1D636;</span>=<span>1D636</span></span>
-  <span><span class="testfont">&#x1D637;</span>=<span>1D637</span></span>
-  <span><span class="testfont">&#x1D638;</span>=<span>1D638</span></span>
-  <span><span class="testfont">&#x1D639;</span>=<span>1D639</span></span><br/>
-  <span><span class="testfont">&#x1D63A;</span>=<span>1D63A</span></span>
-  <span><span class="testfont">&#x1D63B;</span>=<span>1D63B</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-italic-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-italic-001.tentative.html
deleted file mode 100644
index 03afa9a..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-italic-001.tentative.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-sans-serif-italic</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#sans-serif-italic-mappings">
-<link rel="match" href="text-transform-math-sans-serif-italic-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-sans-serif-italic' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-sans-serif-italic.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x41;</span>=<span>1D608</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x42;</span>=<span>1D609</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x43;</span>=<span>1D60A</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x44;</span>=<span>1D60B</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x45;</span>=<span>1D60C</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x46;</span>=<span>1D60D</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x47;</span>=<span>1D60E</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x48;</span>=<span>1D60F</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x49;</span>=<span>1D610</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x4A;</span>=<span>1D611</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x4B;</span>=<span>1D612</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x4C;</span>=<span>1D613</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x4D;</span>=<span>1D614</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x4E;</span>=<span>1D615</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x4F;</span>=<span>1D616</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x50;</span>=<span>1D617</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x51;</span>=<span>1D618</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x52;</span>=<span>1D619</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x53;</span>=<span>1D61A</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x54;</span>=<span>1D61B</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x55;</span>=<span>1D61C</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x56;</span>=<span>1D61D</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x57;</span>=<span>1D61E</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x58;</span>=<span>1D61F</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x59;</span>=<span>1D620</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x5A;</span>=<span>1D621</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x61;</span>=<span>1D622</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x62;</span>=<span>1D623</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x63;</span>=<span>1D624</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x64;</span>=<span>1D625</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x65;</span>=<span>1D626</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x66;</span>=<span>1D627</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x67;</span>=<span>1D628</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x68;</span>=<span>1D629</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x69;</span>=<span>1D62A</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x6A;</span>=<span>1D62B</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x6B;</span>=<span>1D62C</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x6C;</span>=<span>1D62D</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x6D;</span>=<span>1D62E</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x6E;</span>=<span>1D62F</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x6F;</span>=<span>1D630</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x70;</span>=<span>1D631</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x71;</span>=<span>1D632</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x72;</span>=<span>1D633</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x73;</span>=<span>1D634</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x74;</span>=<span>1D635</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x75;</span>=<span>1D636</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x76;</span>=<span>1D637</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x77;</span>=<span>1D638</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x78;</span>=<span>1D639</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x79;</span>=<span>1D63A</span></span>
-  <span><span class="testfont" style="text-transform: math-sans-serif-italic">&#x7A;</span>=<span>1D63B</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-italic-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-italic-001.tentative.html.ini
deleted file mode 100644
index 8abd0c6f..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-sans-serif-italic-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-sans-serif-italic-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-script-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-script-001.tentative-ref.html
deleted file mode 100644
index 6cbe296..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-script-001.tentative-ref.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-script (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-script.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1D49C;</span>=<span>1D49C</span></span>
-  <span><span class="testfont">&#x212C;</span>=<span>0212C</span></span>
-  <span><span class="testfont">&#x1D49E;</span>=<span>1D49E</span></span>
-  <span><span class="testfont">&#x1D49F;</span>=<span>1D49F</span></span>
-  <span><span class="testfont">&#x2130;</span>=<span>02130</span></span>
-  <span><span class="testfont">&#x2131;</span>=<span>02131</span></span>
-  <span><span class="testfont">&#x1D4A2;</span>=<span>1D4A2</span></span>
-  <span><span class="testfont">&#x210B;</span>=<span>0210B</span></span>
-  <span><span class="testfont">&#x2110;</span>=<span>02110</span></span>
-  <span><span class="testfont">&#x1D4A5;</span>=<span>1D4A5</span></span><br/>
-  <span><span class="testfont">&#x1D4A6;</span>=<span>1D4A6</span></span>
-  <span><span class="testfont">&#x2112;</span>=<span>02112</span></span>
-  <span><span class="testfont">&#x2133;</span>=<span>02133</span></span>
-  <span><span class="testfont">&#x1D4A9;</span>=<span>1D4A9</span></span>
-  <span><span class="testfont">&#x1D4AA;</span>=<span>1D4AA</span></span>
-  <span><span class="testfont">&#x1D4AB;</span>=<span>1D4AB</span></span>
-  <span><span class="testfont">&#x1D4AC;</span>=<span>1D4AC</span></span>
-  <span><span class="testfont">&#x211B;</span>=<span>0211B</span></span>
-  <span><span class="testfont">&#x1D4AE;</span>=<span>1D4AE</span></span>
-  <span><span class="testfont">&#x1D4AF;</span>=<span>1D4AF</span></span><br/>
-  <span><span class="testfont">&#x1D4B0;</span>=<span>1D4B0</span></span>
-  <span><span class="testfont">&#x1D4B1;</span>=<span>1D4B1</span></span>
-  <span><span class="testfont">&#x1D4B2;</span>=<span>1D4B2</span></span>
-  <span><span class="testfont">&#x1D4B3;</span>=<span>1D4B3</span></span>
-  <span><span class="testfont">&#x1D4B4;</span>=<span>1D4B4</span></span>
-  <span><span class="testfont">&#x1D4B5;</span>=<span>1D4B5</span></span>
-  <span><span class="testfont">&#x1D4B6;</span>=<span>1D4B6</span></span>
-  <span><span class="testfont">&#x1D4B7;</span>=<span>1D4B7</span></span>
-  <span><span class="testfont">&#x1D4B8;</span>=<span>1D4B8</span></span>
-  <span><span class="testfont">&#x1D4B9;</span>=<span>1D4B9</span></span><br/>
-  <span><span class="testfont">&#x212F;</span>=<span>0212F</span></span>
-  <span><span class="testfont">&#x1D4BB;</span>=<span>1D4BB</span></span>
-  <span><span class="testfont">&#x210A;</span>=<span>0210A</span></span>
-  <span><span class="testfont">&#x1D4BD;</span>=<span>1D4BD</span></span>
-  <span><span class="testfont">&#x1D4BE;</span>=<span>1D4BE</span></span>
-  <span><span class="testfont">&#x1D4BF;</span>=<span>1D4BF</span></span>
-  <span><span class="testfont">&#x1D4C0;</span>=<span>1D4C0</span></span>
-  <span><span class="testfont">&#x1D4C1;</span>=<span>1D4C1</span></span>
-  <span><span class="testfont">&#x1D4C2;</span>=<span>1D4C2</span></span>
-  <span><span class="testfont">&#x1D4C3;</span>=<span>1D4C3</span></span><br/>
-  <span><span class="testfont">&#x2134;</span>=<span>02134</span></span>
-  <span><span class="testfont">&#x1D4C5;</span>=<span>1D4C5</span></span>
-  <span><span class="testfont">&#x1D4C6;</span>=<span>1D4C6</span></span>
-  <span><span class="testfont">&#x1D4C7;</span>=<span>1D4C7</span></span>
-  <span><span class="testfont">&#x1D4C8;</span>=<span>1D4C8</span></span>
-  <span><span class="testfont">&#x1D4C9;</span>=<span>1D4C9</span></span>
-  <span><span class="testfont">&#x1D4CA;</span>=<span>1D4CA</span></span>
-  <span><span class="testfont">&#x1D4CB;</span>=<span>1D4CB</span></span>
-  <span><span class="testfont">&#x1D4CC;</span>=<span>1D4CC</span></span>
-  <span><span class="testfont">&#x1D4CD;</span>=<span>1D4CD</span></span><br/>
-  <span><span class="testfont">&#x1D4CE;</span>=<span>1D4CE</span></span>
-  <span><span class="testfont">&#x1D4CF;</span>=<span>1D4CF</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-script-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-script-001.tentative.html
deleted file mode 100644
index bd17ecc..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-script-001.tentative.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-script</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#script-mappings">
-<link rel="match" href="text-transform-math-script-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-script' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-script.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-script">&#x41;</span>=<span>1D49C</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x42;</span>=<span>0212C</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x43;</span>=<span>1D49E</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x44;</span>=<span>1D49F</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x45;</span>=<span>02130</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x46;</span>=<span>02131</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x47;</span>=<span>1D4A2</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x48;</span>=<span>0210B</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x49;</span>=<span>02110</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x4A;</span>=<span>1D4A5</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-script">&#x4B;</span>=<span>1D4A6</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x4C;</span>=<span>02112</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x4D;</span>=<span>02133</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x4E;</span>=<span>1D4A9</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x4F;</span>=<span>1D4AA</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x50;</span>=<span>1D4AB</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x51;</span>=<span>1D4AC</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x52;</span>=<span>0211B</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x53;</span>=<span>1D4AE</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x54;</span>=<span>1D4AF</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-script">&#x55;</span>=<span>1D4B0</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x56;</span>=<span>1D4B1</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x57;</span>=<span>1D4B2</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x58;</span>=<span>1D4B3</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x59;</span>=<span>1D4B4</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x5A;</span>=<span>1D4B5</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x61;</span>=<span>1D4B6</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x62;</span>=<span>1D4B7</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x63;</span>=<span>1D4B8</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x64;</span>=<span>1D4B9</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-script">&#x65;</span>=<span>0212F</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x66;</span>=<span>1D4BB</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x67;</span>=<span>0210A</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x68;</span>=<span>1D4BD</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x69;</span>=<span>1D4BE</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x6A;</span>=<span>1D4BF</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x6B;</span>=<span>1D4C0</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x6C;</span>=<span>1D4C1</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x6D;</span>=<span>1D4C2</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x6E;</span>=<span>1D4C3</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-script">&#x6F;</span>=<span>02134</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x70;</span>=<span>1D4C5</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x71;</span>=<span>1D4C6</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x72;</span>=<span>1D4C7</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x73;</span>=<span>1D4C8</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x74;</span>=<span>1D4C9</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x75;</span>=<span>1D4CA</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x76;</span>=<span>1D4CB</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x77;</span>=<span>1D4CC</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x78;</span>=<span>1D4CD</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-script">&#x79;</span>=<span>1D4CE</span></span>
-  <span><span class="testfont" style="text-transform: math-script">&#x7A;</span>=<span>1D4CF</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-script-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-script-001.tentative.html.ini
deleted file mode 100644
index ca266818..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-script-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-script-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-stretched-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-stretched-001.tentative-ref.html
deleted file mode 100644
index e4fa35e..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-stretched-001.tentative-ref.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-stretched (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-stretched.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1EE7E;</span>=<span>1EE7E</span></span>
-  <span><span class="testfont">&#x1EE61;</span>=<span>1EE61</span></span>
-  <span><span class="testfont">&#x1EE75;</span>=<span>1EE75</span></span>
-  <span><span class="testfont">&#x1EE76;</span>=<span>1EE76</span></span>
-  <span><span class="testfont">&#x1EE62;</span>=<span>1EE62</span></span>
-  <span><span class="testfont">&#x1EE67;</span>=<span>1EE67</span></span>
-  <span><span class="testfont">&#x1EE77;</span>=<span>1EE77</span></span>
-  <span><span class="testfont">&#x1EE6E;</span>=<span>1EE6E</span></span>
-  <span><span class="testfont">&#x1EE74;</span>=<span>1EE74</span></span>
-  <span><span class="testfont">&#x1EE71;</span>=<span>1EE71</span></span><br/>
-  <span><span class="testfont">&#x1EE79;</span>=<span>1EE79</span></span>
-  <span><span class="testfont">&#x1EE68;</span>=<span>1EE68</span></span>
-  <span><span class="testfont">&#x1EE7A;</span>=<span>1EE7A</span></span>
-  <span><span class="testfont">&#x1EE6F;</span>=<span>1EE6F</span></span>
-  <span><span class="testfont">&#x1EE7B;</span>=<span>1EE7B</span></span>
-  <span><span class="testfont">&#x1EE70;</span>=<span>1EE70</span></span>
-  <span><span class="testfont">&#x1EE72;</span>=<span>1EE72</span></span>
-  <span><span class="testfont">&#x1EE6A;</span>=<span>1EE6A</span></span>
-  <span><span class="testfont">&#x1EE6C;</span>=<span>1EE6C</span></span>
-  <span><span class="testfont">&#x1EE6D;</span>=<span>1EE6D</span></span><br/>
-  <span><span class="testfont">&#x1EE64;</span>=<span>1EE64</span></span>
-  <span><span class="testfont">&#x1EE69;</span>=<span>1EE69</span></span>
-  <span><span class="testfont">&#x1EE7C;</span>=<span>1EE7C</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-stretched-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-stretched-001.tentative.html
deleted file mode 100644
index 87dd88e9..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-stretched-001.tentative.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-stretched</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#stretched-mappings">
-<link rel="match" href="text-transform-math-stretched-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-stretched' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-stretched.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x6A1;</span>=<span>1EE7E</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x628;</span>=<span>1EE61</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x62A;</span>=<span>1EE75</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x62B;</span>=<span>1EE76</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x62C;</span>=<span>1EE62</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x62D;</span>=<span>1EE67</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x62E;</span>=<span>1EE77</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x633;</span>=<span>1EE6E</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x634;</span>=<span>1EE74</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x635;</span>=<span>1EE71</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x636;</span>=<span>1EE79</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x637;</span>=<span>1EE68</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x638;</span>=<span>1EE7A</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x639;</span>=<span>1EE6F</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x63A;</span>=<span>1EE7B</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x641;</span>=<span>1EE70</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x642;</span>=<span>1EE72</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x643;</span>=<span>1EE6A</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x645;</span>=<span>1EE6C</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x646;</span>=<span>1EE6D</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x647;</span>=<span>1EE64</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x64A;</span>=<span>1EE69</span></span>
-  <span><span class="testfont" style="text-transform: math-stretched">&#x66E;</span>=<span>1EE7C</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-stretched-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-stretched-001.tentative.html.ini
deleted file mode 100644
index 1fa080b..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-stretched-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-stretched-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-tailed-001.tentative-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-tailed-001.tentative-ref.html
deleted file mode 100644
index 7a1c9b00..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-tailed-001.tentative-ref.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-tailed (reference)</title>
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-tailed.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont">&#x1EE52;</span>=<span>1EE52</span></span>
-  <span><span class="testfont">&#x1EE4B;</span>=<span>1EE4B</span></span>
-  <span><span class="testfont">&#x1EE4D;</span>=<span>1EE4D</span></span>
-  <span><span class="testfont">&#x1EE49;</span>=<span>1EE49</span></span>
-  <span><span class="testfont">&#x1EE42;</span>=<span>1EE42</span></span>
-  <span><span class="testfont">&#x1EE47;</span>=<span>1EE47</span></span>
-  <span><span class="testfont">&#x1EE57;</span>=<span>1EE57</span></span>
-  <span><span class="testfont">&#x1EE5F;</span>=<span>1EE5F</span></span>
-  <span><span class="testfont">&#x1EE4E;</span>=<span>1EE4E</span></span>
-  <span><span class="testfont">&#x1EE54;</span>=<span>1EE54</span></span><br/>
-  <span><span class="testfont">&#x1EE51;</span>=<span>1EE51</span></span>
-  <span><span class="testfont">&#x1EE59;</span>=<span>1EE59</span></span>
-  <span><span class="testfont">&#x1EE4F;</span>=<span>1EE4F</span></span>
-  <span><span class="testfont">&#x1EE5B;</span>=<span>1EE5B</span></span>
-  <span><span class="testfont">&#x1EE5D;</span>=<span>1EE5D</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-tailed-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-tailed-001.tentative.html
deleted file mode 100644
index f08c4657..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-tailed-001.tentative.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8"/>
-<title>text-transform math-tailed</title>
-<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#new-text-transform-values">
-<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#tailed-mappings">
-<link rel="match" href="text-transform-math-tailed-001.tentative-ref.html"/>
-<meta name="assert" content="Verify that a character with 'text-transform: math-tailed' renders the same as the transformed unicode character.">
-<style>
-  @font-face {
-    font-family: TestFont;
-    src: url("/fonts/math/mathvariant-tailed.woff");
-  }
-  body > span {
-    padding: 10px;
-  }
-  span > span {
-    font-family: monospace;
-    font-size: 10px;
-  }
-  .testfont {
-    font-family: TestFont;
-    font-size: 10px;
-  }
-</style>
-<body>
-  <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
-  <p>Test passes if all the equalities below are true.</p>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x642;</span>=<span>1EE52</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x644;</span>=<span>1EE4B</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x646;</span>=<span>1EE4D</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x64A;</span>=<span>1EE49</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x62C;</span>=<span>1EE42</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x62D;</span>=<span>1EE47</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x62E;</span>=<span>1EE57</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x66F;</span>=<span>1EE5F</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x633;</span>=<span>1EE4E</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x634;</span>=<span>1EE54</span></span><br/>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x635;</span>=<span>1EE51</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x636;</span>=<span>1EE59</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x639;</span>=<span>1EE4F</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x63A;</span>=<span>1EE5B</span></span>
-  <span><span class="testfont" style="text-transform: math-tailed">&#x6BA;</span>=<span>1EE5D</span></span>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-tailed-001.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-tailed-001.tentative.html.ini
deleted file mode 100644
index 76cfaa95..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-text/text-transform/math/text-transform-math-tailed-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-math-tailed-001.tentative.html]
-  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-left-color-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-left-color-001.html.ini
new file mode 100644
index 0000000..5e986e01
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-left-color-001.html.ini
@@ -0,0 +1,2 @@
+[kind-of-widget-fallback-input-reset-border-left-color-001.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-block-start-width-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-block-start-width-001.html.ini
new file mode 100644
index 0000000..8a96e9f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-block-start-width-001.html.ini
@@ -0,0 +1,2 @@
+[kind-of-widget-fallback-input-submit-border-block-start-width-001.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-image-slice-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-image-slice-001.html.ini
new file mode 100644
index 0000000..e98ff63
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-image-slice-001.html.ini
@@ -0,0 +1,2 @@
+[kind-of-widget-fallback-input-text-border-image-slice-001.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-inline-start-width-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-inline-start-width-001.html.ini
new file mode 100644
index 0000000..c15fb2013
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-inline-start-width-001.html.ini
@@ -0,0 +1,2 @@
+[kind-of-widget-fallback-input-text-border-inline-start-width-001.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-right-style-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-right-style-001.html.ini
new file mode 100644
index 0000000..91ce904
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-right-style-001.html.ini
@@ -0,0 +1,2 @@
+[kind-of-widget-fallback-input-text-border-right-style-001.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-start-start-radius-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-start-start-radius-001.html.ini
new file mode 100644
index 0000000..7507d0d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-start-start-radius-001.html.ini
@@ -0,0 +1,2 @@
+[kind-of-widget-fallback-textarea-border-start-start-radius-001.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/backdrop-filter-edge-pixels.html.ini b/third_party/blink/web_tests/external/wpt/css/filter-effects/backdrop-filter-edge-pixels.html.ini
new file mode 100644
index 0000000..eae5460c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/backdrop-filter-edge-pixels.html.ini
@@ -0,0 +1,2 @@
+[backdrop-filter-edge-pixels.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/backdrop-filter-plus-will-change-opacity.html.ini b/third_party/blink/web_tests/external/wpt/css/filter-effects/backdrop-filter-plus-will-change-opacity.html.ini
new file mode 100644
index 0000000..8a96055
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/backdrop-filter-plus-will-change-opacity.html.ini
@@ -0,0 +1,2 @@
+[backdrop-filter-plus-will-change-opacity.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/css-backdrop-filters-animation-combined.html.ini b/third_party/blink/web_tests/external/wpt/css/filter-effects/css-backdrop-filters-animation-combined.html.ini
new file mode 100644
index 0000000..ca94199
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/css-backdrop-filters-animation-combined.html.ini
@@ -0,0 +1,2 @@
+[css-backdrop-filters-animation-combined.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/css-backdrop-filters-animation-contrast.html.ini b/third_party/blink/web_tests/external/wpt/css/filter-effects/css-backdrop-filters-animation-contrast.html.ini
new file mode 100644
index 0000000..de16b0ac
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/css-backdrop-filters-animation-contrast.html.ini
@@ -0,0 +1,2 @@
+[css-backdrop-filters-animation-contrast.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/open-close/open-features-non-integer-innerheight.html.ini b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/open-close/open-features-non-integer-innerheight.html.ini
new file mode 100644
index 0000000..aadc15b7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/open-close/open-features-non-integer-innerheight.html.ini
@@ -0,0 +1,2 @@
+[open-features-non-integer-innerheight.html]
+  expected: [ERROR, OK]
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/open-close/open-features-tokenization-innerheight-innerwidth.html.ini b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/open-close/open-features-tokenization-innerheight-innerwidth.html.ini
new file mode 100644
index 0000000..0689c51
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/open-close/open-features-tokenization-innerheight-innerwidth.html.ini
@@ -0,0 +1,2 @@
+[open-features-tokenization-innerheight-innerwidth.html]
+  expected: [ERROR, OK]
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-open-noopener.html.ini b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-open-noopener.html.ini
new file mode 100644
index 0000000..4143b18
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-open-noopener.html.ini
@@ -0,0 +1,2 @@
+[window-open-noopener.html?indexed]
+  expected: ERROR
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window-expected.txt
index 7ecbf9ce..5fb1dc3 100644
--- a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window-expected.txt
@@ -1,8 +1,10 @@
 This is a testharness.js-based test.
 PASS dedicated-worker
 PASS fetch same-origin + credentialless worker
+PASS fetch same-origin + require_corp worker
 PASS fetch same-origin
 PASS fetch cross-origin
 FAIL fetch cross-origin + credentialless worker assert_equals: coep:none =>  expected (undefined) undefined but got (string) "cross_origin"
+FAIL fetch cross-origin + require_corp worker assert_equals: coep:credentialless =>  expected (string) "cross_origin" but got (undefined) undefined
 Harness: the test ran to completion.
 
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.js b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.js
index 7807805..b06ec56 100644
--- a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.js
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.js
@@ -41,8 +41,7 @@
   const dedicatedWorkerTest = function(
     description, origin, coep_for_worker,
     expected_cookies_control,
-    expected_cookies_credentialless)
-  {
+    expected_cookies_credentialless) {
     promise_test_parallel(async t => {
       // Create workers for both window.
       const worker_token_1 = token();
@@ -50,7 +49,7 @@
 
       // Used to check for errors creating the DedicatedWorker.
       const worker_error_1 = token();
-      const worker_error_2  = token();
+      const worker_error_2 = token();
 
       const w_worker_src_1 = same_origin + executor_worker_path +
         coep_for_worker + `&uuid=${worker_token_1}`;
@@ -106,6 +105,11 @@
     cookie_same_origin,
     cookie_same_origin);
 
+  dedicatedWorkerTest("same-origin + require_corp worker",
+    same_origin, coep_require_corp,
+    cookie_same_origin,
+    cookie_same_origin);
+
   dedicatedWorkerTest("same-origin",
     same_origin, coep_none,
     cookie_same_origin,
@@ -114,10 +118,20 @@
   dedicatedWorkerTest("cross-origin",
     cross_origin, coep_none,
     cookie_cross_origin,
-    "Worker blocked");
+    "Worker blocked" // Owner's policy is credentialles, so we can't
+                     // create a worker with coep_none.
+  );
 
   dedicatedWorkerTest("cross-origin + credentialless worker",
     cross_origin, coep_credentialless,
-    undefined,
-    undefined);
+    undefined, // Worker created successfully with credentialless, and fetch doesn't get credentials
+    undefined // Worker created successfully with credentialless, and fetch doesn't get credentials
+  );
+
+  dedicatedWorkerTest("cross-origin + require_corp worker",
+    cross_origin, coep_require_corp,
+    cookie_cross_origin,
+    cookie_cross_origin // The worker's policy is require_corp and doing a
+                        // fetch within it has nothing to do with the Owner's policy.
+  );
 })
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.js.ini b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.js.ini
index b6774be..41e7c4c 100644
--- a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.js.ini
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.js.ini
@@ -1,5 +1,6 @@
 [dedicated-worker.https.window.html]
-  expected:
-    if product == "chrome": [OK, ERROR]
   [fetch cross-origin + credentialless worker]
     expected: FAIL
+
+  [fetch cross-origin + require_corp worker]
+    expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https.html.ini b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https.html.ini
index 5fc35bf..681a0371 100644
--- a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https.html.ini
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https.html.ini
@@ -1,11 +1,14 @@
-[iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https.html?5-6]
+[iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https.html?1-2]
   expected: ERROR
 
 [iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https.html?3-4]
   expected: ERROR
 
+[iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https.html?5-6]
+  expected: ERROR
+
 [iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https.html?7-8]
   expected: ERROR
 
-[iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https.html?1-2]
-  expected: ERROR
+[iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https.html?9-last]
+  expected: [ERROR, OK]
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-load.html.ini b/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-load.html.ini
new file mode 100644
index 0000000..365b6cf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-load.html.ini
@@ -0,0 +1,3 @@
+[resource-selection-invoke-load.html]
+  [invoking resource selection with load()]
+    expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause-networkState.html.ini b/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause-networkState.html.ini
new file mode 100644
index 0000000..e2ed607
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause-networkState.html.ini
@@ -0,0 +1,4 @@
+[resource-selection-invoke-pause-networkState.html]
+  expected: [OK, TIMEOUT]
+  [NOT invoking resource selection with pause() when networkState is not NETWORK_EMPTY]
+    expected: [FAIL, PASS]
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-not-in-document.html.ini b/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-not-in-document.html.ini
new file mode 100644
index 0000000..b5b4f9d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-not-in-document.html.ini
@@ -0,0 +1,5 @@
+[resource-selection-invoke-set-src-not-in-document.html]
+  [invoking load by setting src on video not in a document]
+    expected:
+      if product == "content_shell": [FAIL, PASS]
+      FAIL
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/textfieldselection/select-event.html.ini b/third_party/blink/web_tests/external/wpt/html/semantics/forms/textfieldselection/select-event.html.ini
index a58f1cea..b076c60 100644
--- a/third_party/blink/web_tests/external/wpt/html/semantics/forms/textfieldselection/select-event.html.ini
+++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/textfieldselection/select-event.html.ini
@@ -4,39 +4,58 @@
 
   [input type password: select() event queue]
     expected:
-      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): PASS
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       FAIL
 
   [input type password: select() twice in disconnected node (must fire select only once)]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       if product == "chrome": FAIL
 
   [input type password: selectionDirection a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      FAIL
 
   [input type password: selectionDirection disconnected node]
     expected: FAIL
 
   [input type password: selectionDirection event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
       if product == "chrome": FAIL
 
   [input type password: selectionDirection twice in disconnected node (must fire select only once)]
     expected: FAIL
 
   [input type password: selectionEnd a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      FAIL
 
   [input type password: selectionEnd disconnected node]
     expected: FAIL
 
   [input type password: selectionEnd event queue]
     expected:
+      if (product == "content_shell") and (os == "win") and (port == "win11"): PASS
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): PASS
       if product == "chrome": FAIL
+      [PASS, FAIL]
 
   [input type password: selectionEnd out of range a second time (must not fire select)]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
       FAIL
 
   [input type password: selectionEnd out of range disconnected node]
@@ -44,32 +63,48 @@
 
   [input type password: selectionEnd out of range event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type password: selectionEnd out of range twice in disconnected node (must fire select only once)]
     expected: FAIL
 
   [input type password: selectionEnd twice in disconnected node (must fire select only once)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      FAIL
 
   [input type password: selectionStart a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      FAIL
 
   [input type password: selectionStart disconnected node]
     expected: FAIL
 
   [input type password: selectionStart event queue]
     expected:
+      if (product == "content_shell") and (os == "win") and (port == "win11"): PASS
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): PASS
       if product == "chrome": FAIL
+      [PASS, FAIL]
 
   [input type password: selectionStart out of range a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      FAIL
 
   [input type password: selectionStart out of range disconnected node]
     expected: FAIL
 
   [input type password: selectionStart out of range event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type password: selectionStart out of range twice in disconnected node (must fire select only once)]
@@ -79,13 +114,18 @@
     expected: FAIL
 
   [input type password: setRangeText() a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      FAIL
 
   [input type password: setRangeText() disconnected node]
     expected: FAIL
 
   [input type password: setRangeText() event queue]
     expected:
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type password: setRangeText() twice in disconnected node (must fire select only once)]
@@ -93,7 +133,8 @@
 
   [input type password: setSelectionRange out of range a second time (must not fire select)]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
       FAIL
 
   [input type password: setSelectionRange out of range disconnected node]
@@ -101,6 +142,7 @@
 
   [input type password: setSelectionRange out of range event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type password: setSelectionRange out of range twice in disconnected node (must fire select only once)]
@@ -108,7 +150,8 @@
 
   [input type password: setSelectionRange() a second time (must not fire select)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
       FAIL
 
   [input type password: setSelectionRange() disconnected node]
@@ -116,13 +159,12 @@
 
   [input type password: setSelectionRange() event queue]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type password: setSelectionRange() twice in disconnected node (must fire select only once)]
-    expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
-      FAIL
+    expected: FAIL
 
   [input type search: select() disconnected node]
     expected: FAIL
@@ -134,19 +176,26 @@
 
   [input type search: select() twice in disconnected node (must fire select only once)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): FAIL
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       if product == "chrome": FAIL
 
   [input type search: selectionDirection a second time (must not fire select)]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       FAIL
 
   [input type search: selectionDirection disconnected node]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      FAIL
 
   [input type search: selectionDirection event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type search: selectionDirection twice in disconnected node (must fire select only once)]
@@ -154,7 +203,9 @@
 
   [input type search: selectionEnd a second time (must not fire select)]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       FAIL
 
   [input type search: selectionEnd disconnected node]
@@ -162,11 +213,13 @@
 
   [input type search: selectionEnd event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type search: selectionEnd out of range a second time (must not fire select)]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       FAIL
 
   [input type search: selectionEnd out of range disconnected node]
@@ -174,29 +227,36 @@
 
   [input type search: selectionEnd out of range event queue]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if product == "chrome": FAIL
 
   [input type search: selectionEnd out of range twice in disconnected node (must fire select only once)]
     expected: FAIL
 
   [input type search: selectionEnd twice in disconnected node (must fire select only once)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      FAIL
 
   [input type search: selectionStart a second time (must not fire select)]
     expected:
-      if product == "chrome": [FAIL, PASS]
-      FAIL
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): FAIL
+      if (product == "content_shell") and (os == "win") and (port == "win11"): FAIL
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
 
   [input type search: selectionStart disconnected node]
     expected: FAIL
 
   [input type search: selectionStart event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): FAIL
+      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type search: selectionStart out of range a second time (must not fire select)]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       FAIL
 
   [input type search: selectionStart out of range disconnected node]
@@ -204,17 +264,20 @@
 
   [input type search: selectionStart out of range event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type search: selectionStart out of range twice in disconnected node (must fire select only once)]
     expected: FAIL
 
   [input type search: selectionStart twice in disconnected node (must fire select only once)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      FAIL
 
   [input type search: setRangeText() a second time (must not fire select)]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       FAIL
 
   [input type search: setRangeText() disconnected node]
@@ -222,32 +285,41 @@
 
   [input type search: setRangeText() event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type search: setRangeText() twice in disconnected node (must fire select only once)]
     expected: FAIL
 
   [input type search: setSelectionRange out of range a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      FAIL
 
   [input type search: setSelectionRange out of range disconnected node]
     expected: FAIL
 
   [input type search: setSelectionRange out of range event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type search: setSelectionRange out of range twice in disconnected node (must fire select only once)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      FAIL
 
   [input type search: setSelectionRange() a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      FAIL
 
   [input type search: setSelectionRange() disconnected node]
     expected: FAIL
 
   [input type search: setSelectionRange() event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type search: setSelectionRange() twice in disconnected node (must fire select only once)]
@@ -258,16 +330,21 @@
 
   [input type tel: select() event queue]
     expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
       FAIL
 
   [input type tel: select() twice in disconnected node (must fire select only once)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): FAIL
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       if product == "chrome": FAIL
 
   [input type tel: selectionDirection a second time (must not fire select)]
     expected:
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
       if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       FAIL
 
@@ -278,6 +355,8 @@
 
   [input type tel: selectionDirection event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
       if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       if product == "chrome": FAIL
 
@@ -286,8 +365,8 @@
 
   [input type tel: selectionEnd a second time (must not fire select)]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
-      if product == "chrome": [FAIL, PASS]
       FAIL
 
   [input type tel: selectionEnd disconnected node]
@@ -295,29 +374,36 @@
 
   [input type tel: selectionEnd event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
       if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type tel: selectionEnd out of range a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      FAIL
 
   [input type tel: selectionEnd out of range disconnected node]
     expected: FAIL
 
   [input type tel: selectionEnd out of range event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type tel: selectionEnd out of range twice in disconnected node (must fire select only once)]
     expected: FAIL
 
   [input type tel: selectionEnd twice in disconnected node (must fire select only once)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      FAIL
 
   [input type tel: selectionStart a second time (must not fire select)]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): PASS
       if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
-      if product == "chrome": [FAIL, PASS]
       FAIL
 
   [input type tel: selectionStart disconnected node]
@@ -325,46 +411,65 @@
 
   [input type tel: selectionStart event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): FAIL
       if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type tel: selectionStart out of range a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      FAIL
 
   [input type tel: selectionStart out of range disconnected node]
     expected: FAIL
 
   [input type tel: selectionStart out of range event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type tel: selectionStart out of range twice in disconnected node (must fire select only once)]
     expected: FAIL
 
   [input type tel: selectionStart twice in disconnected node (must fire select only once)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      FAIL
 
   [input type tel: setRangeText() a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      FAIL
 
   [input type tel: setRangeText() disconnected node]
     expected: FAIL
 
   [input type tel: setRangeText() event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type tel: setRangeText() twice in disconnected node (must fire select only once)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      FAIL
 
   [input type tel: setSelectionRange out of range a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      FAIL
 
   [input type tel: setSelectionRange out of range disconnected node]
     expected: FAIL
 
   [input type tel: setSelectionRange out of range event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type tel: setSelectionRange out of range twice in disconnected node (must fire select only once)]
@@ -372,7 +477,9 @@
 
   [input type tel: setSelectionRange() a second time (must not fire select)]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       FAIL
 
   [input type tel: setSelectionRange() disconnected node]
@@ -380,24 +487,35 @@
 
   [input type tel: setSelectionRange() event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type tel: setSelectionRange() twice in disconnected node (must fire select only once)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      FAIL
 
   [input type text: select() disconnected node]
     expected: FAIL
 
   [input type text: select() event queue]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      FAIL
 
   [input type text: select() twice in disconnected node (must fire select only once)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): FAIL
+      if (product == "content_shell") and (os == "mac"): FAIL
       if product == "chrome": FAIL
 
   [input type text: selectionDirection a second time (must not fire select)]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
       if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       FAIL
 
@@ -408,6 +526,8 @@
 
   [input type text: selectionDirection event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
       if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       if product == "chrome": FAIL
 
@@ -416,7 +536,9 @@
 
   [input type text: selectionEnd a second time (must not fire select)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       FAIL
 
   [input type text: selectionEnd disconnected node]
@@ -424,13 +546,14 @@
 
   [input type text: selectionEnd event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
       if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type text: selectionEnd out of range a second time (must not fire select)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
       FAIL
 
   [input type text: selectionEnd out of range disconnected node]
@@ -438,7 +561,7 @@
 
   [input type text: selectionEnd out of range event queue]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type text: selectionEnd out of range twice in disconnected node (must fire select only once)]
@@ -446,30 +569,29 @@
 
   [input type text: selectionEnd twice in disconnected node (must fire select only once)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
       FAIL
 
   [input type text: selectionStart a second time (must not fire select)]
     expected:
-      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): PASS
       if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
-      if product == "chrome": [FAIL, PASS]
       FAIL
 
   [input type text: selectionStart disconnected node]
-    expected:
-      if product == "chrome": [FAIL, PASS]
-      FAIL
+    expected: FAIL
 
   [input type text: selectionStart event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): FAIL
       if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type text: selectionStart out of range a second time (must not fire select)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
       FAIL
 
   [input type text: selectionStart out of range disconnected node]
@@ -477,7 +599,7 @@
 
   [input type text: selectionStart out of range event queue]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type text: selectionStart out of range twice in disconnected node (must fire select only once)]
@@ -485,12 +607,12 @@
 
   [input type text: selectionStart twice in disconnected node (must fire select only once)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
       FAIL
 
   [input type text: setRangeText() a second time (must not fire select)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
       FAIL
 
   [input type text: setRangeText() disconnected node]
@@ -498,16 +620,15 @@
 
   [input type text: setRangeText() event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
-      [PASS, FAIL]
 
   [input type text: setRangeText() twice in disconnected node (must fire select only once)]
     expected: FAIL
 
   [input type text: setSelectionRange out of range a second time (must not fire select)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
       FAIL
 
   [input type text: setSelectionRange out of range disconnected node]
@@ -515,17 +636,16 @@
 
   [input type text: setSelectionRange out of range event queue]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type text: setSelectionRange out of range twice in disconnected node (must fire select only once)]
-    expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
-      FAIL
+    expected: FAIL
 
   [input type text: setSelectionRange() a second time (must not fire select)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       FAIL
 
   [input type text: setSelectionRange() disconnected node]
@@ -533,12 +653,14 @@
 
   [input type text: setSelectionRange() event queue]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type text: setSelectionRange() twice in disconnected node (must fire select only once)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
       FAIL
 
   [input type url: select() disconnected node]
@@ -546,27 +668,33 @@
 
   [input type url: select() event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
       if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       FAIL
 
   [input type url: select() twice in disconnected node (must fire select only once)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
-      if product == "chrome": FAIL
+      if (product == "content_shell") and (os == "win") and (port == "win11"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      FAIL
 
   [input type url: selectionDirection a second time (must not fire select)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       FAIL
 
   [input type url: selectionDirection disconnected node]
-    expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
-      FAIL
+    expected: FAIL
 
   [input type url: selectionDirection event queue]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type url: selectionDirection twice in disconnected node (must fire select only once)]
@@ -574,6 +702,9 @@
 
   [input type url: selectionEnd a second time (must not fire select)]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
       if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       FAIL
 
@@ -582,12 +713,15 @@
 
   [input type url: selectionEnd event queue]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
+      if (product == "content_shell") and (os == "win") and (port == "win11"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): PASS
       if product == "chrome": FAIL
+      [PASS, FAIL]
 
   [input type url: selectionEnd out of range a second time (must not fire select)]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
       FAIL
 
   [input type url: selectionEnd out of range disconnected node]
@@ -595,7 +729,8 @@
 
   [input type url: selectionEnd out of range event queue]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if product == "chrome": FAIL
 
   [input type url: selectionEnd out of range twice in disconnected node (must fire select only once)]
     expected: FAIL
@@ -605,6 +740,9 @@
 
   [input type url: selectionStart a second time (must not fire select)]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
       if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       FAIL
 
@@ -613,12 +751,16 @@
 
   [input type url: selectionStart event queue]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
+      if (product == "content_shell") and (os == "win") and (port == "win11"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): PASS
       if product == "chrome": FAIL
+      [PASS, FAIL]
 
   [input type url: selectionStart out of range a second time (must not fire select)]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
       FAIL
 
   [input type url: selectionStart out of range disconnected node]
@@ -626,37 +768,50 @@
 
   [input type url: selectionStart out of range event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type url: selectionStart out of range twice in disconnected node (must fire select only once)]
-    expected: FAIL
-
-  [input type url: selectionStart twice in disconnected node (must fire select only once)]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
       FAIL
 
-  [input type url: setRangeText() a second time (must not fire select)]
+  [input type url: selectionStart twice in disconnected node (must fire select only once)]
     expected: FAIL
 
+  [input type url: setRangeText() a second time (must not fire select)]
+    expected:
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      FAIL
+
   [input type url: setRangeText() disconnected node]
     expected: FAIL
 
   [input type url: setRangeText() event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type url: setRangeText() twice in disconnected node (must fire select only once)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      FAIL
 
   [input type url: setSelectionRange out of range a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      FAIL
 
   [input type url: setSelectionRange out of range disconnected node]
     expected: FAIL
 
   [input type url: setSelectionRange out of range event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type url: setSelectionRange out of range twice in disconnected node (must fire select only once)]
@@ -664,7 +819,9 @@
 
   [input type url: setSelectionRange() a second time (must not fire select)]
     expected:
-      if product == "chrome": [FAIL, PASS]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       FAIL
 
   [input type url: setSelectionRange() disconnected node]
@@ -672,6 +829,8 @@
 
   [input type url: setSelectionRange() event queue]
     expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [input type url: setSelectionRange() twice in disconnected node (must fire select only once)]
@@ -679,41 +838,37 @@
 
   [textarea: select() disconnected node]
     expected:
-      if product == "chrome": [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      if product == "chrome": FAIL
 
   [textarea: select() event queue]
     expected:
-      if product == "chrome": [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if product == "chrome": PASS
       FAIL
 
   [textarea: select() twice in disconnected node (must fire select only once)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [FAIL, PASS]
       FAIL
 
   [textarea: selectionDirection a second time (must not fire select)]
-    expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
-      if product == "chrome": [FAIL, PASS]
-      FAIL
+    expected: FAIL
 
   [textarea: selectionDirection disconnected node]
-    expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
-      FAIL
+    expected: FAIL
 
   [textarea: selectionDirection event queue]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [textarea: selectionDirection twice in disconnected node (must fire select only once)]
     expected: FAIL
 
   [textarea: selectionEnd a second time (must not fire select)]
-    expected:
-      if product == "chrome": PASS
-      FAIL
+    expected: FAIL
 
   [textarea: selectionEnd disconnected node]
     expected: FAIL
@@ -739,32 +894,42 @@
     expected: FAIL
 
   [textarea: selectionStart a second time (must not fire select)]
-    expected: [PASS, FAIL]
+    expected:
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      if product == "chrome": FAIL
 
   [textarea: selectionStart disconnected node]
     expected: FAIL
 
   [textarea: selectionStart event queue]
     expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       FAIL
 
   [textarea: selectionStart out of range a second time (must not fire select)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      FAIL
 
   [textarea: selectionStart out of range disconnected node]
     expected: FAIL
 
   [textarea: selectionStart out of range event queue]
     expected:
+      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [textarea: selectionStart out of range twice in disconnected node (must fire select only once)]
-    expected: FAIL
+    expected:
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
+      FAIL
 
   [textarea: selectionStart twice in disconnected node (must fire select only once)]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "linux") and (flag_specific == "disable-site-isolation-trials"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
       if product == "chrome": FAIL
 
   [textarea: setRangeText() a second time (must not fire select)]
@@ -794,19 +959,14 @@
     expected: FAIL
 
   [textarea: setSelectionRange() a second time (must not fire select)]
-    expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
-      FAIL
+    expected: FAIL
 
   [textarea: setSelectionRange() disconnected node]
     expected: FAIL
 
   [textarea: setSelectionRange() event queue]
     expected:
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
       if product == "chrome": FAIL
 
   [textarea: setSelectionRange() twice in disconnected node (must fire select only once)]
-    expected:
-      if (product == "content_shell") and (os == "mac"): [FAIL, PASS]
-      FAIL
+    expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.js.ini b/third_party/blink/web_tests/external/wpt/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.js.ini
new file mode 100644
index 0000000..659aea9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.js.ini
@@ -0,0 +1,2 @@
+[queue-microtask-exceptions.any.worker.html]
+  expected: ERROR
diff --git a/third_party/blink/web_tests/external/wpt/inert/inert-inlines-around-selection-range-in-contenteditable-expected.txt b/third_party/blink/web_tests/external/wpt/inert/inert-inlines-around-selection-range-in-contenteditable-expected.txt
new file mode 100644
index 0000000..b9ad0e89
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/inert/inert-inlines-around-selection-range-in-contenteditable-expected.txt
@@ -0,0 +1,16 @@
+This is a testharness.js-based test.
+PASS <span inert>a[bc</span><span>de]f</span>
+PASS <span>a[bc</span><span inert>de]f</span>
+PASS <span inert>d[ef</span><span>ab]c</span>
+PASS <span>d[ef</span><span inert>ab]c</span>
+PASS a[bc<span inert>XYZ</span>de]f
+PASS <span inert style="display:contents">a[bc</span><span>de]f</span>
+PASS <span inert style="display:contents">{abc</span><span>de]f</span>
+PASS <span inert><span style="display:contents">a[bc</span></span><span>de]f</span>
+PASS <span inert><span style="display:contents">{abc</span></span><span>de]f</span>
+FAIL <span inert style="display:none">a[bc</span><span>de]f</span> assert_equals: execCommand("delete") at <span inert style="display:none">a[bc</span><span>de]f</span>: <span> content should not be deleted because anchor node of Selection is in the <span inert> expected "<span inert=\"\" style=\"display:none\">abc</span><span>def</span>" but got "<span>f</span>"
+FAIL <span inert style="display:none">{abc</span><span>de]f</span> assert_equals: execCommand("delete") at <span inert style="display:none">{abc</span><span>de]f</span>: <span> content should not be deleted because anchor node of Selection is in the <span inert> expected "<span inert=\"\" style=\"display:none\">abc</span><span>def</span>" but got "<span>f</span>"
+PASS <span inert><span style="display:none">a[bc</span></span><span>de]f</span>
+PASS <span inert><span style="display:none">{abc</span></span><span>de]f</span>
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/inert/inert-inlines-around-selection-range-in-contenteditable.html b/third_party/blink/web_tests/external/wpt/inert/inert-inlines-around-selection-range-in-contenteditable.html
index ff00e16a..c22c798 100644
--- a/third_party/blink/web_tests/external/wpt/inert/inert-inlines-around-selection-range-in-contenteditable.html
+++ b/third_party/blink/web_tests/external/wpt/inert/inert-inlines-around-selection-range-in-contenteditable.html
@@ -85,6 +85,102 @@
     const desc = `execCommand("delete") at ${t.name}`
     assert_equals(editingHost.innerHTML, "af", `${desc}: <span inert> should be deleted`);
   }, "a[bc<span inert>XYZ</span>de]f");
+
+  test(t => {
+    utils.setupEditingHost(t.name, { selection: "setBaseAndExtent" });
+    const initialInnerHTML = editingHost.innerHTML;
+    document.execCommand("delete");
+    const desc = `execCommand("delete") at ${t.name}`
+    assert_equals(
+      editingHost.innerHTML,
+      initialInnerHTML,
+      `${desc}: <span> content should not be deleted because anchor node of Selection is in the <span inert>`
+    );
+  }, `<span inert style="display:contents">a[bc</span><span>de]f</span>`);
+
+  test(t => {
+    utils.setupEditingHost(t.name, { selection: "setBaseAndExtent" });
+    const initialInnerHTML = editingHost.innerHTML;
+    document.execCommand("delete");
+    const desc = `execCommand("delete") at ${t.name}`
+    assert_equals(
+      editingHost.innerHTML,
+      initialInnerHTML,
+      `${desc}: <span> content should not be deleted because anchor node of Selection is in the <span inert>`
+    );
+  }, `<span inert style="display:contents">{abc</span><span>de]f</span>`);
+
+  test(t => {
+    utils.setupEditingHost(t.name, { selection: "setBaseAndExtent" });
+    const initialInnerHTML = editingHost.innerHTML;
+    document.execCommand("delete");
+    const desc = `execCommand("delete") at ${t.name}`
+    assert_equals(
+      editingHost.innerHTML,
+      initialInnerHTML,
+      `${desc}: <span> content should not be deleted because anchor node of Selection is in the <span inert>`
+    );
+  }, `<span inert><span style="display:contents">a[bc</span></span><span>de]f</span>`);
+
+  test(t => {
+    utils.setupEditingHost(t.name, { selection: "setBaseAndExtent" });
+    const initialInnerHTML = editingHost.innerHTML;
+    document.execCommand("delete");
+    const desc = `execCommand("delete") at ${t.name}`
+    assert_equals(
+      editingHost.innerHTML,
+      initialInnerHTML,
+      `${desc}: <span> content should not be deleted because anchor node of Selection is in the <span inert>`
+    );
+  }, `<span inert><span style="display:contents">{abc</span></span><span>de]f</span>`);
+
+  test(t => {
+    utils.setupEditingHost(t.name, { selection: "setBaseAndExtent" });
+    const initialInnerHTML = editingHost.innerHTML;
+    document.execCommand("delete");
+    const desc = `execCommand("delete") at ${t.name}`
+    assert_equals(
+      editingHost.innerHTML,
+      initialInnerHTML,
+      `${desc}: <span> content should not be deleted because anchor node of Selection is in the <span inert>`
+    );
+  }, `<span inert style="display:none">a[bc</span><span>de]f</span>`);
+
+  test(t => {
+    utils.setupEditingHost(t.name, { selection: "setBaseAndExtent" });
+    const initialInnerHTML = editingHost.innerHTML;
+    document.execCommand("delete");
+    const desc = `execCommand("delete") at ${t.name}`
+    assert_equals(
+      editingHost.innerHTML,
+      initialInnerHTML,
+      `${desc}: <span> content should not be deleted because anchor node of Selection is in the <span inert>`
+    );
+  }, `<span inert style="display:none">{abc</span><span>de]f</span>`);
+
+  test(t => {
+    utils.setupEditingHost(t.name, { selection: "setBaseAndExtent" });
+    const initialInnerHTML = editingHost.innerHTML;
+    document.execCommand("delete");
+    const desc = `execCommand("delete") at ${t.name}`
+    assert_equals(
+      editingHost.innerHTML,
+      initialInnerHTML,
+      `${desc}: <span> content should not be deleted because anchor node of Selection is in the <span inert>`
+    );
+  }, `<span inert><span style="display:none">a[bc</span></span><span>de]f</span>`);
+
+  test(t => {
+    utils.setupEditingHost(t.name, { selection: "setBaseAndExtent" });
+    const initialInnerHTML = editingHost.innerHTML;
+    document.execCommand("delete");
+    const desc = `execCommand("delete") at ${t.name}`
+    assert_equals(
+      editingHost.innerHTML,
+      initialInnerHTML,
+      `${desc}: <span> content should not be deleted because anchor node of Selection is in the <span inert>`
+    );
+  }, `<span inert><span style="display:none">{abc</span></span><span>de]f</span>`);
 });
 </script>
 </head>
diff --git a/third_party/blink/web_tests/external/wpt/inert/inert-inlines-around-selection-range-in-contenteditable.html.ini b/third_party/blink/web_tests/external/wpt/inert/inert-inlines-around-selection-range-in-contenteditable.html.ini
new file mode 100644
index 0000000..2d0927a2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/inert/inert-inlines-around-selection-range-in-contenteditable.html.ini
@@ -0,0 +1,8 @@
+[inert-inlines-around-selection-range-in-contenteditable.html]
+  expected:
+    if (product == "content_shell") and (os == "win") and (port == "win11"): [OK, TIMEOUT]
+  [<span inert style="display:none">a[bc</span><span>de\]f</span>]
+    expected: FAIL
+
+  [<span inert style="display:none">{abc</span><span>de\]f</span>]
+    expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/intersection-observer/cross-origin-iframe.sub.html.ini b/third_party/blink/web_tests/external/wpt/intersection-observer/cross-origin-iframe.sub.html.ini
index 00fabef..73c2850b 100644
--- a/third_party/blink/web_tests/external/wpt/intersection-observer/cross-origin-iframe.sub.html.ini
+++ b/third_party/blink/web_tests/external/wpt/intersection-observer/cross-origin-iframe.sub.html.ini
@@ -5,15 +5,16 @@
   [iframeDocument.scrollingElement.scrollTop = 250]
     expected:
       if (product == "content_shell") and (os == "linux") and (flag_specific == ""): FAIL
-      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): [PASS, FAIL]
 
   [topDocument.scrollingElement.scrollTop = 100]
     expected:
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): [FAIL, PASS]
       if (product == "content_shell") and (os == "mac"): FAIL
 
   [topDocument.scrollingElement.scrollTop = 200]
     expected:
+      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): [PASS, FAIL]
       if (product == "content_shell") and (os == "win") and (port == "win11"): PASS
-      if (product == "content_shell") and (os == "mac"): [PASS, FAIL]
+      if (product == "content_shell") and (os == "mac"): PASS
       FAIL
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/attribute-mapping-002-expected.txt b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/attribute-mapping-002-expected.txt
index 43328421..fa1126812 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/attribute-mapping-002-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/attribute-mapping-002-expected.txt
@@ -1,130 +1,130 @@
 This is a testharness.js-based test.
-Found 128 tests; 96 PASS, 32 FAIL, 0 TIMEOUT, 0 NOTRUN.
-FAIL mathvariant on the math element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+Found 128 tests; 97 PASS, 31 FAIL, 0 TIMEOUT, 0 NOTRUN.
+FAIL mathvariant on the math element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the math element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the math element are not mapped to math-depth(...)
 PASS displaystyle on the math element is mapped to CSS math-style
-FAIL mathvariant on the annotation element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the annotation element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the annotation element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the annotation element are not mapped to math-depth(...)
 PASS displaystyle on the annotation element is mapped to CSS math-style
-FAIL mathvariant on the annotation-xml element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the annotation-xml element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the annotation-xml element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the annotation-xml element are not mapped to math-depth(...)
 PASS displaystyle on the annotation-xml element is mapped to CSS math-style
-FAIL mathvariant on the maction element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the maction element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the maction element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the maction element are not mapped to math-depth(...)
 PASS displaystyle on the maction element is mapped to CSS math-style
-FAIL mathvariant on the menclose element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the menclose element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the menclose element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the menclose element are not mapped to math-depth(...)
 PASS displaystyle on the menclose element is mapped to CSS math-style
-FAIL mathvariant on the merror element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the merror element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the merror element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the merror element are not mapped to math-depth(...)
 PASS displaystyle on the merror element is mapped to CSS math-style
-FAIL mathvariant on the mfrac element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mfrac element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mfrac element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mfrac element are not mapped to math-depth(...)
 PASS displaystyle on the mfrac element is mapped to CSS math-style
-FAIL mathvariant on the mi element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "math-auto"
+PASS mathvariant on the mi element is  mapped to CSS text-transform
 PASS scriptlevel on the mi element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mi element are not mapped to math-depth(...)
 PASS displaystyle on the mi element is mapped to CSS math-style
-FAIL mathvariant on the mmultiscripts element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mmultiscripts element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mmultiscripts element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mmultiscripts element are not mapped to math-depth(...)
 PASS displaystyle on the mmultiscripts element is mapped to CSS math-style
-FAIL mathvariant on the mn element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mn element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mn element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mn element are not mapped to math-depth(...)
 PASS displaystyle on the mn element is mapped to CSS math-style
-FAIL mathvariant on the mo element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mo element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mo element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mo element are not mapped to math-depth(...)
 PASS displaystyle on the mo element is mapped to CSS math-style
-FAIL mathvariant on the mover element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mover element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mover element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mover element are not mapped to math-depth(...)
 PASS displaystyle on the mover element is mapped to CSS math-style
-FAIL mathvariant on the mpadded element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mpadded element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mpadded element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mpadded element are not mapped to math-depth(...)
 PASS displaystyle on the mpadded element is mapped to CSS math-style
-FAIL mathvariant on the mphantom element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mphantom element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mphantom element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mphantom element are not mapped to math-depth(...)
 PASS displaystyle on the mphantom element is mapped to CSS math-style
-FAIL mathvariant on the mprescripts element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mprescripts element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mprescripts element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mprescripts element are not mapped to math-depth(...)
 PASS displaystyle on the mprescripts element is mapped to CSS math-style
-FAIL mathvariant on the mroot element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mroot element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mroot element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mroot element are not mapped to math-depth(...)
 PASS displaystyle on the mroot element is mapped to CSS math-style
-FAIL mathvariant on the mrow element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mrow element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mrow element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mrow element are not mapped to math-depth(...)
 PASS displaystyle on the mrow element is mapped to CSS math-style
-FAIL mathvariant on the ms element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the ms element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the ms element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the ms element are not mapped to math-depth(...)
 PASS displaystyle on the ms element is mapped to CSS math-style
-FAIL mathvariant on the mspace element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mspace element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mspace element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mspace element are not mapped to math-depth(...)
 PASS displaystyle on the mspace element is mapped to CSS math-style
-FAIL mathvariant on the msqrt element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the msqrt element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the msqrt element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the msqrt element are not mapped to math-depth(...)
 PASS displaystyle on the msqrt element is mapped to CSS math-style
-FAIL mathvariant on the mstyle element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mstyle element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mstyle element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mstyle element are not mapped to math-depth(...)
 PASS displaystyle on the mstyle element is mapped to CSS math-style
-FAIL mathvariant on the msub element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the msub element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the msub element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the msub element are not mapped to math-depth(...)
 PASS displaystyle on the msub element is mapped to CSS math-style
-FAIL mathvariant on the msubsup element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the msubsup element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the msubsup element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the msubsup element are not mapped to math-depth(...)
 PASS displaystyle on the msubsup element is mapped to CSS math-style
-FAIL mathvariant on the msup element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the msup element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the msup element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the msup element are not mapped to math-depth(...)
 PASS displaystyle on the msup element is mapped to CSS math-style
-FAIL mathvariant on the mtable element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mtable element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mtable element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mtable element are not mapped to math-depth(...)
 PASS displaystyle on the mtable element is mapped to CSS math-style
-FAIL mathvariant on the mtd element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mtd element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mtd element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mtd element are not mapped to math-depth(...)
 PASS displaystyle on the mtd element is mapped to CSS math-style
-FAIL mathvariant on the mtext element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mtext element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mtext element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mtext element are not mapped to math-depth(...)
 PASS displaystyle on the mtext element is mapped to CSS math-style
-FAIL mathvariant on the mtr element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the mtr element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the mtr element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the mtr element are not mapped to math-depth(...)
 PASS displaystyle on the mtr element is mapped to CSS math-style
-FAIL mathvariant on the munder element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the munder element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the munder element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the munder element are not mapped to math-depth(...)
 PASS displaystyle on the munder element is mapped to CSS math-style
-FAIL mathvariant on the munderover element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the munderover element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the munderover element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the munderover element are not mapped to math-depth(...)
 PASS displaystyle on the munderover element is mapped to CSS math-style
-FAIL mathvariant on the none element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the none element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the none element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the none element are not mapped to math-depth(...)
 PASS displaystyle on the none element is mapped to CSS math-style
-FAIL mathvariant on the semantics element is mapped to CSS text-transform assert_equals: attribute specified expected "math-fraktur" but got "none"
+FAIL mathvariant on the semantics element is not mapped to CSS text-transform assert_equals: attribute specified expected "uppercase" but got "none"
 PASS scriptlevel on the semantics element is mapped to math-depth(...)
 PASS invalid scriptlevel values on the semantics element are not mapped to math-depth(...)
 PASS displaystyle on the semantics element is mapped to CSS math-style
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/attribute-mapping-002.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/attribute-mapping-002.html
index 388b141..cad2677 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/attribute-mapping-002.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/attribute-mapping-002.html
@@ -26,7 +26,7 @@
   function runTests() {
       var container = document.getElementById("container");
       for (tag in MathMLFragments) {
-          container.insertAdjacentHTML("beforeend", `<math>${MathMLFragments[tag]}</math>`);
+          container.insertAdjacentHTML("beforeend", `<math><mrow>${MathMLFragments[tag]}</mrow></math>`);
       }
       Array.from(document.getElementsByClassName("element")).forEach(element => {
           var tag = element.tagName;
@@ -36,11 +36,17 @@
               assert_equals(style.getPropertyValue("text-transform"),
                             tag === "mi" ? "math-auto" : "none",
                             "no attribute");
-              element.setAttribute("mathvariant", "fraktur");
-              assert_equals(style.getPropertyValue("text-transform"), "math-fraktur", "attribute specified");
-              element.setAttribute("mathvariant", "DoUbLe-StRuCk");
-              assert_equals(style.getPropertyValue("text-transform"), "math-double-struck", "case insensitive");
-          }, `mathvariant on the ${tag} element is mapped to CSS text-transform`)
+              element.parentNode.setAttribute("style", "text-transform: uppercase");
+              assert_equals(style.getPropertyValue("text-transform"),
+                            tag === "mi" ? "math-auto" : "uppercase",
+                            "text-transform on parent");
+              element.setAttribute("mathvariant", "normal");
+              assert_equals(style.getPropertyValue("text-transform"),
+                            tag === "mi" ? "none" : "uppercase", "attribute specified");
+              element.setAttribute("mathvariant", "NoRmAl");
+              assert_equals(style.getPropertyValue("text-transform"),
+                            tag === "mi" ? "none" : "uppercase", "case insensitive");
+          }, `mathvariant on the ${tag} element is ${tag === "mi" ? "" : "not"} mapped to CSS text-transform`)
 
           test(function() {
               // none and mprescripts appear as scripts
@@ -94,7 +100,7 @@
 <body>
   <div id="log"></div>
   <div id="container">
-    <math class="element"></math>
+    <div><math class="element"></math></div>
   </div>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/attribute-mapping-002.html.ini b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/attribute-mapping-002.html.ini
index b41ad0e..143e7e30 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/attribute-mapping-002.html.ini
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/attribute-mapping-002.html.ini
@@ -1,96 +1,189 @@
 [attribute-mapping-002.html]
-  [mathvariant on the math element is mapped to CSS text-transform]
+  [mathvariant on the annotation element is mapped to CSS text-transform]
     expected: FAIL
 
-  [mathvariant on the annotation element is mapped to CSS text-transform]
+  [mathvariant on the annotation element is not mapped to CSS text-transform]
     expected: FAIL
 
   [mathvariant on the annotation-xml element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the annotation-xml element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the maction element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the maction element is not mapped to CSS text-transform]
+    expected: FAIL
+
+  [mathvariant on the math element is mapped to CSS text-transform]
+    expected: FAIL
+
+  [mathvariant on the math element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the menclose element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the menclose element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the merror element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the merror element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mfrac element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mfrac element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mi element is mapped to CSS text-transform]
     expected: FAIL
 
   [mathvariant on the mmultiscripts element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mmultiscripts element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mn element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mn element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mo element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mo element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mover element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mover element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mpadded element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mpadded element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mphantom element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mphantom element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mprescripts element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mprescripts element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mroot element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mroot element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mrow element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mrow element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the ms element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the ms element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mspace element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mspace element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the msqrt element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the msqrt element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mstyle element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mstyle element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the msub element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the msub element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the msubsup element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the msubsup element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the msup element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the msup element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mtable element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mtable element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mtd element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mtd element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mtext element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mtext element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the mtr element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the mtr element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the munder element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the munder element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the munderover element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the munderover element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the none element is mapped to CSS text-transform]
     expected: FAIL
 
+  [mathvariant on the none element is not mapped to CSS text-transform]
+    expected: FAIL
+
   [mathvariant on the semantics element is mapped to CSS text-transform]
     expected: FAIL
+
+  [mathvariant on the semantics element is not mapped to CSS text-transform]
+    expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-auto-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-auto-ref.html
index f8eaf7a7..105ba41 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-auto-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-auto-ref.html
@@ -23,68 +23,66 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mi>&#x1D715;</mi></math>=<span>1D715</span></span>
-  <span><math class="testfont"><mi>&#x1D6FB;</mi></math>=<span>1D6FB</span></span>
-  <span><math class="testfont"><mi>&#x1D6A5;</mi></math>=<span>1D6A5</span></span>
   <span><math class="testfont"><mi>&#x1D434;</mi></math>=<span>1D434</span></span>
   <span><math class="testfont"><mi>&#x1D435;</mi></math>=<span>1D435</span></span>
   <span><math class="testfont"><mi>&#x1D436;</mi></math>=<span>1D436</span></span>
   <span><math class="testfont"><mi>&#x1D437;</mi></math>=<span>1D437</span></span>
   <span><math class="testfont"><mi>&#x1D438;</mi></math>=<span>1D438</span></span>
   <span><math class="testfont"><mi>&#x1D439;</mi></math>=<span>1D439</span></span>
-  <span><math class="testfont"><mi>&#x1D43A;</mi></math>=<span>1D43A</span></span><br/>
+  <span><math class="testfont"><mi>&#x1D43A;</mi></math>=<span>1D43A</span></span>
   <span><math class="testfont"><mi>&#x1D43B;</mi></math>=<span>1D43B</span></span>
   <span><math class="testfont"><mi>&#x1D43C;</mi></math>=<span>1D43C</span></span>
-  <span><math class="testfont"><mi>&#x1D43D;</mi></math>=<span>1D43D</span></span>
+  <span><math class="testfont"><mi>&#x1D43D;</mi></math>=<span>1D43D</span></span><br/>
   <span><math class="testfont"><mi>&#x1D43E;</mi></math>=<span>1D43E</span></span>
   <span><math class="testfont"><mi>&#x1D43F;</mi></math>=<span>1D43F</span></span>
   <span><math class="testfont"><mi>&#x1D440;</mi></math>=<span>1D440</span></span>
   <span><math class="testfont"><mi>&#x1D441;</mi></math>=<span>1D441</span></span>
   <span><math class="testfont"><mi>&#x1D442;</mi></math>=<span>1D442</span></span>
   <span><math class="testfont"><mi>&#x1D443;</mi></math>=<span>1D443</span></span>
-  <span><math class="testfont"><mi>&#x1D444;</mi></math>=<span>1D444</span></span><br/>
+  <span><math class="testfont"><mi>&#x1D444;</mi></math>=<span>1D444</span></span>
   <span><math class="testfont"><mi>&#x1D445;</mi></math>=<span>1D445</span></span>
   <span><math class="testfont"><mi>&#x1D446;</mi></math>=<span>1D446</span></span>
-  <span><math class="testfont"><mi>&#x1D447;</mi></math>=<span>1D447</span></span>
+  <span><math class="testfont"><mi>&#x1D447;</mi></math>=<span>1D447</span></span><br/>
   <span><math class="testfont"><mi>&#x1D448;</mi></math>=<span>1D448</span></span>
   <span><math class="testfont"><mi>&#x1D449;</mi></math>=<span>1D449</span></span>
   <span><math class="testfont"><mi>&#x1D44A;</mi></math>=<span>1D44A</span></span>
   <span><math class="testfont"><mi>&#x1D44B;</mi></math>=<span>1D44B</span></span>
   <span><math class="testfont"><mi>&#x1D44C;</mi></math>=<span>1D44C</span></span>
   <span><math class="testfont"><mi>&#x1D44D;</mi></math>=<span>1D44D</span></span>
-  <span><math class="testfont"><mi>&#x1D44E;</mi></math>=<span>1D44E</span></span><br/>
+  <span><math class="testfont"><mi>&#x1D44E;</mi></math>=<span>1D44E</span></span>
   <span><math class="testfont"><mi>&#x1D44F;</mi></math>=<span>1D44F</span></span>
   <span><math class="testfont"><mi>&#x1D450;</mi></math>=<span>1D450</span></span>
-  <span><math class="testfont"><mi>&#x1D451;</mi></math>=<span>1D451</span></span>
+  <span><math class="testfont"><mi>&#x1D451;</mi></math>=<span>1D451</span></span><br/>
   <span><math class="testfont"><mi>&#x1D452;</mi></math>=<span>1D452</span></span>
   <span><math class="testfont"><mi>&#x1D453;</mi></math>=<span>1D453</span></span>
   <span><math class="testfont"><mi>&#x1D454;</mi></math>=<span>1D454</span></span>
   <span><math class="testfont"><mi>&#x210E;</mi></math>=<span>0210E</span></span>
   <span><math class="testfont"><mi>&#x1D456;</mi></math>=<span>1D456</span></span>
   <span><math class="testfont"><mi>&#x1D457;</mi></math>=<span>1D457</span></span>
-  <span><math class="testfont"><mi>&#x1D458;</mi></math>=<span>1D458</span></span><br/>
+  <span><math class="testfont"><mi>&#x1D458;</mi></math>=<span>1D458</span></span>
   <span><math class="testfont"><mi>&#x1D459;</mi></math>=<span>1D459</span></span>
   <span><math class="testfont"><mi>&#x1D45A;</mi></math>=<span>1D45A</span></span>
-  <span><math class="testfont"><mi>&#x1D45B;</mi></math>=<span>1D45B</span></span>
+  <span><math class="testfont"><mi>&#x1D45B;</mi></math>=<span>1D45B</span></span><br/>
   <span><math class="testfont"><mi>&#x1D45C;</mi></math>=<span>1D45C</span></span>
   <span><math class="testfont"><mi>&#x1D45D;</mi></math>=<span>1D45D</span></span>
   <span><math class="testfont"><mi>&#x1D45E;</mi></math>=<span>1D45E</span></span>
   <span><math class="testfont"><mi>&#x1D45F;</mi></math>=<span>1D45F</span></span>
   <span><math class="testfont"><mi>&#x1D460;</mi></math>=<span>1D460</span></span>
   <span><math class="testfont"><mi>&#x1D461;</mi></math>=<span>1D461</span></span>
-  <span><math class="testfont"><mi>&#x1D462;</mi></math>=<span>1D462</span></span><br/>
+  <span><math class="testfont"><mi>&#x1D462;</mi></math>=<span>1D462</span></span>
   <span><math class="testfont"><mi>&#x1D463;</mi></math>=<span>1D463</span></span>
   <span><math class="testfont"><mi>&#x1D464;</mi></math>=<span>1D464</span></span>
-  <span><math class="testfont"><mi>&#x1D465;</mi></math>=<span>1D465</span></span>
+  <span><math class="testfont"><mi>&#x1D465;</mi></math>=<span>1D465</span></span><br/>
   <span><math class="testfont"><mi>&#x1D466;</mi></math>=<span>1D466</span></span>
   <span><math class="testfont"><mi>&#x1D467;</mi></math>=<span>1D467</span></span>
   <span><math class="testfont"><mi>&#x1D6A4;</mi></math>=<span>1D6A4</span></span>
+  <span><math class="testfont"><mi>&#x1D6A5;</mi></math>=<span>1D6A5</span></span>
   <span><math class="testfont"><mi>&#x1D6E2;</mi></math>=<span>1D6E2</span></span>
   <span><math class="testfont"><mi>&#x1D6E3;</mi></math>=<span>1D6E3</span></span>
   <span><math class="testfont"><mi>&#x1D6E4;</mi></math>=<span>1D6E4</span></span>
-  <span><math class="testfont"><mi>&#x1D6E5;</mi></math>=<span>1D6E5</span></span><br/>
+  <span><math class="testfont"><mi>&#x1D6E5;</mi></math>=<span>1D6E5</span></span>
   <span><math class="testfont"><mi>&#x1D6E6;</mi></math>=<span>1D6E6</span></span>
-  <span><math class="testfont"><mi>&#x1D6E7;</mi></math>=<span>1D6E7</span></span>
+  <span><math class="testfont"><mi>&#x1D6E7;</mi></math>=<span>1D6E7</span></span><br/>
   <span><math class="testfont"><mi>&#x1D6E8;</mi></math>=<span>1D6E8</span></span>
   <span><math class="testfont"><mi>&#x1D6E9;</mi></math>=<span>1D6E9</span></span>
   <span><math class="testfont"><mi>&#x1D6EA;</mi></math>=<span>1D6EA</span></span>
@@ -92,17 +90,19 @@
   <span><math class="testfont"><mi>&#x1D6EC;</mi></math>=<span>1D6EC</span></span>
   <span><math class="testfont"><mi>&#x1D6ED;</mi></math>=<span>1D6ED</span></span>
   <span><math class="testfont"><mi>&#x1D6EE;</mi></math>=<span>1D6EE</span></span>
-  <span><math class="testfont"><mi>&#x1D6EF;</mi></math>=<span>1D6EF</span></span><br/>
+  <span><math class="testfont"><mi>&#x1D6EF;</mi></math>=<span>1D6EF</span></span>
   <span><math class="testfont"><mi>&#x1D6F0;</mi></math>=<span>1D6F0</span></span>
-  <span><math class="testfont"><mi>&#x1D6F1;</mi></math>=<span>1D6F1</span></span>
+  <span><math class="testfont"><mi>&#x1D6F1;</mi></math>=<span>1D6F1</span></span><br/>
   <span><math class="testfont"><mi>&#x1D6F2;</mi></math>=<span>1D6F2</span></span>
+  <span><math class="testfont"><mi>&#x1D6F3;</mi></math>=<span>1D6F3</span></span>
   <span><math class="testfont"><mi>&#x1D6F4;</mi></math>=<span>1D6F4</span></span>
   <span><math class="testfont"><mi>&#x1D6F5;</mi></math>=<span>1D6F5</span></span>
   <span><math class="testfont"><mi>&#x1D6F6;</mi></math>=<span>1D6F6</span></span>
   <span><math class="testfont"><mi>&#x1D6F7;</mi></math>=<span>1D6F7</span></span>
   <span><math class="testfont"><mi>&#x1D6F8;</mi></math>=<span>1D6F8</span></span>
   <span><math class="testfont"><mi>&#x1D6F9;</mi></math>=<span>1D6F9</span></span>
-  <span><math class="testfont"><mi>&#x1D6FA;</mi></math>=<span>1D6FA</span></span><br/>
+  <span><math class="testfont"><mi>&#x1D6FA;</mi></math>=<span>1D6FA</span></span>
+  <span><math class="testfont"><mi>&#x1D6FB;</mi></math>=<span>1D6FB</span></span><br/>
   <span><math class="testfont"><mi>&#x1D6FC;</mi></math>=<span>1D6FC</span></span>
   <span><math class="testfont"><mi>&#x1D6FD;</mi></math>=<span>1D6FD</span></span>
   <span><math class="testfont"><mi>&#x1D6FE;</mi></math>=<span>1D6FE</span></span>
@@ -128,12 +128,12 @@
   <span><math class="testfont"><mi>&#x1D712;</mi></math>=<span>1D712</span></span>
   <span><math class="testfont"><mi>&#x1D713;</mi></math>=<span>1D713</span></span>
   <span><math class="testfont"><mi>&#x1D714;</mi></math>=<span>1D714</span></span>
-  <span><math class="testfont"><mi>&#x1D717;</mi></math>=<span>1D717</span></span>
-  <span><math class="testfont"><mi>&#x1D719;</mi></math>=<span>1D719</span></span>
-  <span><math class="testfont"><mi>&#x1D71B;</mi></math>=<span>1D71B</span></span>
-  <span><math class="testfont"><mi>&#x1D718;</mi></math>=<span>1D718</span></span>
-  <span><math class="testfont"><mi>&#x1D71A;</mi></math>=<span>1D71A</span></span><br/>
-  <span><math class="testfont"><mi>&#x1D6F3;</mi></math>=<span>1D6F3</span></span>
+  <span><math class="testfont"><mi>&#x1D715;</mi></math>=<span>1D715</span></span>
   <span><math class="testfont"><mi>&#x1D716;</mi></math>=<span>1D716</span></span>
+  <span><math class="testfont"><mi>&#x1D717;</mi></math>=<span>1D717</span></span>
+  <span><math class="testfont"><mi>&#x1D718;</mi></math>=<span>1D718</span></span>
+  <span><math class="testfont"><mi>&#x1D719;</mi></math>=<span>1D719</span></span><br/>
+  <span><math class="testfont"><mi>&#x1D71A;</mi></math>=<span>1D71A</span></span>
+  <span><math class="testfont"><mi>&#x1D71B;</mi></math>=<span>1D71B</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-auto.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-auto.html
index 98f99ad..affb02f 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-auto.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-auto.html
@@ -29,68 +29,66 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mi>&#x2202;</mi></math>=<span>1D715</span></span>
-  <span><math class="testfont"><mi>&#x2207;</mi></math>=<span>1D6FB</span></span>
-  <span><math class="testfont"><mi>&#x237;</mi></math>=<span>1D6A5</span></span>
   <span><math class="testfont"><mi>&#x41;</mi></math>=<span>1D434</span></span>
   <span><math class="testfont"><mi>&#x42;</mi></math>=<span>1D435</span></span>
   <span><math class="testfont"><mi>&#x43;</mi></math>=<span>1D436</span></span>
   <span><math class="testfont"><mi>&#x44;</mi></math>=<span>1D437</span></span>
   <span><math class="testfont"><mi>&#x45;</mi></math>=<span>1D438</span></span>
   <span><math class="testfont"><mi>&#x46;</mi></math>=<span>1D439</span></span>
-  <span><math class="testfont"><mi>&#x47;</mi></math>=<span>1D43A</span></span><br/>
+  <span><math class="testfont"><mi>&#x47;</mi></math>=<span>1D43A</span></span>
   <span><math class="testfont"><mi>&#x48;</mi></math>=<span>1D43B</span></span>
   <span><math class="testfont"><mi>&#x49;</mi></math>=<span>1D43C</span></span>
-  <span><math class="testfont"><mi>&#x4A;</mi></math>=<span>1D43D</span></span>
+  <span><math class="testfont"><mi>&#x4A;</mi></math>=<span>1D43D</span></span><br/>
   <span><math class="testfont"><mi>&#x4B;</mi></math>=<span>1D43E</span></span>
   <span><math class="testfont"><mi>&#x4C;</mi></math>=<span>1D43F</span></span>
   <span><math class="testfont"><mi>&#x4D;</mi></math>=<span>1D440</span></span>
   <span><math class="testfont"><mi>&#x4E;</mi></math>=<span>1D441</span></span>
   <span><math class="testfont"><mi>&#x4F;</mi></math>=<span>1D442</span></span>
   <span><math class="testfont"><mi>&#x50;</mi></math>=<span>1D443</span></span>
-  <span><math class="testfont"><mi>&#x51;</mi></math>=<span>1D444</span></span><br/>
+  <span><math class="testfont"><mi>&#x51;</mi></math>=<span>1D444</span></span>
   <span><math class="testfont"><mi>&#x52;</mi></math>=<span>1D445</span></span>
   <span><math class="testfont"><mi>&#x53;</mi></math>=<span>1D446</span></span>
-  <span><math class="testfont"><mi>&#x54;</mi></math>=<span>1D447</span></span>
+  <span><math class="testfont"><mi>&#x54;</mi></math>=<span>1D447</span></span><br/>
   <span><math class="testfont"><mi>&#x55;</mi></math>=<span>1D448</span></span>
   <span><math class="testfont"><mi>&#x56;</mi></math>=<span>1D449</span></span>
   <span><math class="testfont"><mi>&#x57;</mi></math>=<span>1D44A</span></span>
   <span><math class="testfont"><mi>&#x58;</mi></math>=<span>1D44B</span></span>
   <span><math class="testfont"><mi>&#x59;</mi></math>=<span>1D44C</span></span>
   <span><math class="testfont"><mi>&#x5A;</mi></math>=<span>1D44D</span></span>
-  <span><math class="testfont"><mi>&#x61;</mi></math>=<span>1D44E</span></span><br/>
+  <span><math class="testfont"><mi>&#x61;</mi></math>=<span>1D44E</span></span>
   <span><math class="testfont"><mi>&#x62;</mi></math>=<span>1D44F</span></span>
   <span><math class="testfont"><mi>&#x63;</mi></math>=<span>1D450</span></span>
-  <span><math class="testfont"><mi>&#x64;</mi></math>=<span>1D451</span></span>
+  <span><math class="testfont"><mi>&#x64;</mi></math>=<span>1D451</span></span><br/>
   <span><math class="testfont"><mi>&#x65;</mi></math>=<span>1D452</span></span>
   <span><math class="testfont"><mi>&#x66;</mi></math>=<span>1D453</span></span>
   <span><math class="testfont"><mi>&#x67;</mi></math>=<span>1D454</span></span>
   <span><math class="testfont"><mi>&#x68;</mi></math>=<span>0210E</span></span>
   <span><math class="testfont"><mi>&#x69;</mi></math>=<span>1D456</span></span>
   <span><math class="testfont"><mi>&#x6A;</mi></math>=<span>1D457</span></span>
-  <span><math class="testfont"><mi>&#x6B;</mi></math>=<span>1D458</span></span><br/>
+  <span><math class="testfont"><mi>&#x6B;</mi></math>=<span>1D458</span></span>
   <span><math class="testfont"><mi>&#x6C;</mi></math>=<span>1D459</span></span>
   <span><math class="testfont"><mi>&#x6D;</mi></math>=<span>1D45A</span></span>
-  <span><math class="testfont"><mi>&#x6E;</mi></math>=<span>1D45B</span></span>
+  <span><math class="testfont"><mi>&#x6E;</mi></math>=<span>1D45B</span></span><br/>
   <span><math class="testfont"><mi>&#x6F;</mi></math>=<span>1D45C</span></span>
   <span><math class="testfont"><mi>&#x70;</mi></math>=<span>1D45D</span></span>
   <span><math class="testfont"><mi>&#x71;</mi></math>=<span>1D45E</span></span>
   <span><math class="testfont"><mi>&#x72;</mi></math>=<span>1D45F</span></span>
   <span><math class="testfont"><mi>&#x73;</mi></math>=<span>1D460</span></span>
   <span><math class="testfont"><mi>&#x74;</mi></math>=<span>1D461</span></span>
-  <span><math class="testfont"><mi>&#x75;</mi></math>=<span>1D462</span></span><br/>
+  <span><math class="testfont"><mi>&#x75;</mi></math>=<span>1D462</span></span>
   <span><math class="testfont"><mi>&#x76;</mi></math>=<span>1D463</span></span>
   <span><math class="testfont"><mi>&#x77;</mi></math>=<span>1D464</span></span>
-  <span><math class="testfont"><mi>&#x78;</mi></math>=<span>1D465</span></span>
+  <span><math class="testfont"><mi>&#x78;</mi></math>=<span>1D465</span></span><br/>
   <span><math class="testfont"><mi>&#x79;</mi></math>=<span>1D466</span></span>
   <span><math class="testfont"><mi>&#x7A;</mi></math>=<span>1D467</span></span>
   <span><math class="testfont"><mi>&#x131;</mi></math>=<span>1D6A4</span></span>
+  <span><math class="testfont"><mi>&#x237;</mi></math>=<span>1D6A5</span></span>
   <span><math class="testfont"><mi>&#x391;</mi></math>=<span>1D6E2</span></span>
   <span><math class="testfont"><mi>&#x392;</mi></math>=<span>1D6E3</span></span>
   <span><math class="testfont"><mi>&#x393;</mi></math>=<span>1D6E4</span></span>
-  <span><math class="testfont"><mi>&#x394;</mi></math>=<span>1D6E5</span></span><br/>
+  <span><math class="testfont"><mi>&#x394;</mi></math>=<span>1D6E5</span></span>
   <span><math class="testfont"><mi>&#x395;</mi></math>=<span>1D6E6</span></span>
-  <span><math class="testfont"><mi>&#x396;</mi></math>=<span>1D6E7</span></span>
+  <span><math class="testfont"><mi>&#x396;</mi></math>=<span>1D6E7</span></span><br/>
   <span><math class="testfont"><mi>&#x397;</mi></math>=<span>1D6E8</span></span>
   <span><math class="testfont"><mi>&#x398;</mi></math>=<span>1D6E9</span></span>
   <span><math class="testfont"><mi>&#x399;</mi></math>=<span>1D6EA</span></span>
@@ -98,17 +96,19 @@
   <span><math class="testfont"><mi>&#x39B;</mi></math>=<span>1D6EC</span></span>
   <span><math class="testfont"><mi>&#x39C;</mi></math>=<span>1D6ED</span></span>
   <span><math class="testfont"><mi>&#x39D;</mi></math>=<span>1D6EE</span></span>
-  <span><math class="testfont"><mi>&#x39E;</mi></math>=<span>1D6EF</span></span><br/>
+  <span><math class="testfont"><mi>&#x39E;</mi></math>=<span>1D6EF</span></span>
   <span><math class="testfont"><mi>&#x39F;</mi></math>=<span>1D6F0</span></span>
-  <span><math class="testfont"><mi>&#x3A0;</mi></math>=<span>1D6F1</span></span>
+  <span><math class="testfont"><mi>&#x3A0;</mi></math>=<span>1D6F1</span></span><br/>
   <span><math class="testfont"><mi>&#x3A1;</mi></math>=<span>1D6F2</span></span>
+  <span><math class="testfont"><mi>&#x3F4;</mi></math>=<span>1D6F3</span></span>
   <span><math class="testfont"><mi>&#x3A3;</mi></math>=<span>1D6F4</span></span>
   <span><math class="testfont"><mi>&#x3A4;</mi></math>=<span>1D6F5</span></span>
   <span><math class="testfont"><mi>&#x3A5;</mi></math>=<span>1D6F6</span></span>
   <span><math class="testfont"><mi>&#x3A6;</mi></math>=<span>1D6F7</span></span>
   <span><math class="testfont"><mi>&#x3A7;</mi></math>=<span>1D6F8</span></span>
   <span><math class="testfont"><mi>&#x3A8;</mi></math>=<span>1D6F9</span></span>
-  <span><math class="testfont"><mi>&#x3A9;</mi></math>=<span>1D6FA</span></span><br/>
+  <span><math class="testfont"><mi>&#x3A9;</mi></math>=<span>1D6FA</span></span>
+  <span><math class="testfont"><mi>&#x2207;</mi></math>=<span>1D6FB</span></span><br/>
   <span><math class="testfont"><mi>&#x3B1;</mi></math>=<span>1D6FC</span></span>
   <span><math class="testfont"><mi>&#x3B2;</mi></math>=<span>1D6FD</span></span>
   <span><math class="testfont"><mi>&#x3B3;</mi></math>=<span>1D6FE</span></span>
@@ -134,12 +134,12 @@
   <span><math class="testfont"><mi>&#x3C7;</mi></math>=<span>1D712</span></span>
   <span><math class="testfont"><mi>&#x3C8;</mi></math>=<span>1D713</span></span>
   <span><math class="testfont"><mi>&#x3C9;</mi></math>=<span>1D714</span></span>
-  <span><math class="testfont"><mi>&#x3D1;</mi></math>=<span>1D717</span></span>
-  <span><math class="testfont"><mi>&#x3D5;</mi></math>=<span>1D719</span></span>
-  <span><math class="testfont"><mi>&#x3D6;</mi></math>=<span>1D71B</span></span>
-  <span><math class="testfont"><mi>&#x3F0;</mi></math>=<span>1D718</span></span>
-  <span><math class="testfont"><mi>&#x3F1;</mi></math>=<span>1D71A</span></span><br/>
-  <span><math class="testfont"><mi>&#x3F4;</mi></math>=<span>1D6F3</span></span>
+  <span><math class="testfont"><mi>&#x2202;</mi></math>=<span>1D715</span></span>
   <span><math class="testfont"><mi>&#x3F5;</mi></math>=<span>1D716</span></span>
+  <span><math class="testfont"><mi>&#x3D1;</mi></math>=<span>1D717</span></span>
+  <span><math class="testfont"><mi>&#x3F0;</mi></math>=<span>1D718</span></span>
+  <span><math class="testfont"><mi>&#x3D5;</mi></math>=<span>1D719</span></span><br/>
+  <span><math class="testfont"><mi>&#x3F1;</mi></math>=<span>1D71A</span></span>
+  <span><math class="testfont"><mi>&#x3D6;</mi></math>=<span>1D71B</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-italic-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-italic-ref.html
index c5eaa22e..9a93a37 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-italic-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-italic-ref.html
@@ -23,8 +23,6 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext>&#x1D74F;</mtext></math>=<span>1D74F</span></span>
-  <span><math class="testfont"><mtext>&#x1D735;</mtext></math>=<span>1D735</span></span>
   <span><math class="testfont"><mtext>&#x1D468;</mtext></math>=<span>1D468</span></span>
   <span><math class="testfont"><mtext>&#x1D469;</mtext></math>=<span>1D469</span></span>
   <span><math class="testfont"><mtext>&#x1D46A;</mtext></math>=<span>1D46A</span></span>
@@ -32,9 +30,9 @@
   <span><math class="testfont"><mtext>&#x1D46C;</mtext></math>=<span>1D46C</span></span>
   <span><math class="testfont"><mtext>&#x1D46D;</mtext></math>=<span>1D46D</span></span>
   <span><math class="testfont"><mtext>&#x1D46E;</mtext></math>=<span>1D46E</span></span>
-  <span><math class="testfont"><mtext>&#x1D46F;</mtext></math>=<span>1D46F</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D46F;</mtext></math>=<span>1D46F</span></span>
   <span><math class="testfont"><mtext>&#x1D470;</mtext></math>=<span>1D470</span></span>
-  <span><math class="testfont"><mtext>&#x1D471;</mtext></math>=<span>1D471</span></span>
+  <span><math class="testfont"><mtext>&#x1D471;</mtext></math>=<span>1D471</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D472;</mtext></math>=<span>1D472</span></span>
   <span><math class="testfont"><mtext>&#x1D473;</mtext></math>=<span>1D473</span></span>
   <span><math class="testfont"><mtext>&#x1D474;</mtext></math>=<span>1D474</span></span>
@@ -42,9 +40,9 @@
   <span><math class="testfont"><mtext>&#x1D476;</mtext></math>=<span>1D476</span></span>
   <span><math class="testfont"><mtext>&#x1D477;</mtext></math>=<span>1D477</span></span>
   <span><math class="testfont"><mtext>&#x1D478;</mtext></math>=<span>1D478</span></span>
-  <span><math class="testfont"><mtext>&#x1D479;</mtext></math>=<span>1D479</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D479;</mtext></math>=<span>1D479</span></span>
   <span><math class="testfont"><mtext>&#x1D47A;</mtext></math>=<span>1D47A</span></span>
-  <span><math class="testfont"><mtext>&#x1D47B;</mtext></math>=<span>1D47B</span></span>
+  <span><math class="testfont"><mtext>&#x1D47B;</mtext></math>=<span>1D47B</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D47C;</mtext></math>=<span>1D47C</span></span>
   <span><math class="testfont"><mtext>&#x1D47D;</mtext></math>=<span>1D47D</span></span>
   <span><math class="testfont"><mtext>&#x1D47E;</mtext></math>=<span>1D47E</span></span>
@@ -52,9 +50,9 @@
   <span><math class="testfont"><mtext>&#x1D480;</mtext></math>=<span>1D480</span></span>
   <span><math class="testfont"><mtext>&#x1D481;</mtext></math>=<span>1D481</span></span>
   <span><math class="testfont"><mtext>&#x1D482;</mtext></math>=<span>1D482</span></span>
-  <span><math class="testfont"><mtext>&#x1D483;</mtext></math>=<span>1D483</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D483;</mtext></math>=<span>1D483</span></span>
   <span><math class="testfont"><mtext>&#x1D484;</mtext></math>=<span>1D484</span></span>
-  <span><math class="testfont"><mtext>&#x1D485;</mtext></math>=<span>1D485</span></span>
+  <span><math class="testfont"><mtext>&#x1D485;</mtext></math>=<span>1D485</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D486;</mtext></math>=<span>1D486</span></span>
   <span><math class="testfont"><mtext>&#x1D487;</mtext></math>=<span>1D487</span></span>
   <span><math class="testfont"><mtext>&#x1D488;</mtext></math>=<span>1D488</span></span>
@@ -62,9 +60,9 @@
   <span><math class="testfont"><mtext>&#x1D48A;</mtext></math>=<span>1D48A</span></span>
   <span><math class="testfont"><mtext>&#x1D48B;</mtext></math>=<span>1D48B</span></span>
   <span><math class="testfont"><mtext>&#x1D48C;</mtext></math>=<span>1D48C</span></span>
-  <span><math class="testfont"><mtext>&#x1D48D;</mtext></math>=<span>1D48D</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D48D;</mtext></math>=<span>1D48D</span></span>
   <span><math class="testfont"><mtext>&#x1D48E;</mtext></math>=<span>1D48E</span></span>
-  <span><math class="testfont"><mtext>&#x1D48F;</mtext></math>=<span>1D48F</span></span>
+  <span><math class="testfont"><mtext>&#x1D48F;</mtext></math>=<span>1D48F</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D490;</mtext></math>=<span>1D490</span></span>
   <span><math class="testfont"><mtext>&#x1D491;</mtext></math>=<span>1D491</span></span>
   <span><math class="testfont"><mtext>&#x1D492;</mtext></math>=<span>1D492</span></span>
@@ -72,9 +70,9 @@
   <span><math class="testfont"><mtext>&#x1D494;</mtext></math>=<span>1D494</span></span>
   <span><math class="testfont"><mtext>&#x1D495;</mtext></math>=<span>1D495</span></span>
   <span><math class="testfont"><mtext>&#x1D496;</mtext></math>=<span>1D496</span></span>
-  <span><math class="testfont"><mtext>&#x1D497;</mtext></math>=<span>1D497</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D497;</mtext></math>=<span>1D497</span></span>
   <span><math class="testfont"><mtext>&#x1D498;</mtext></math>=<span>1D498</span></span>
-  <span><math class="testfont"><mtext>&#x1D499;</mtext></math>=<span>1D499</span></span>
+  <span><math class="testfont"><mtext>&#x1D499;</mtext></math>=<span>1D499</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D49A;</mtext></math>=<span>1D49A</span></span>
   <span><math class="testfont"><mtext>&#x1D49B;</mtext></math>=<span>1D49B</span></span>
   <span><math class="testfont"><mtext>&#x1D71C;</mtext></math>=<span>1D71C</span></span>
@@ -82,9 +80,9 @@
   <span><math class="testfont"><mtext>&#x1D71E;</mtext></math>=<span>1D71E</span></span>
   <span><math class="testfont"><mtext>&#x1D71F;</mtext></math>=<span>1D71F</span></span>
   <span><math class="testfont"><mtext>&#x1D720;</mtext></math>=<span>1D720</span></span>
-  <span><math class="testfont"><mtext>&#x1D721;</mtext></math>=<span>1D721</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D721;</mtext></math>=<span>1D721</span></span>
   <span><math class="testfont"><mtext>&#x1D722;</mtext></math>=<span>1D722</span></span>
-  <span><math class="testfont"><mtext>&#x1D723;</mtext></math>=<span>1D723</span></span>
+  <span><math class="testfont"><mtext>&#x1D723;</mtext></math>=<span>1D723</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D724;</mtext></math>=<span>1D724</span></span>
   <span><math class="testfont"><mtext>&#x1D725;</mtext></math>=<span>1D725</span></span>
   <span><math class="testfont"><mtext>&#x1D726;</mtext></math>=<span>1D726</span></span>
@@ -92,8 +90,9 @@
   <span><math class="testfont"><mtext>&#x1D728;</mtext></math>=<span>1D728</span></span>
   <span><math class="testfont"><mtext>&#x1D729;</mtext></math>=<span>1D729</span></span>
   <span><math class="testfont"><mtext>&#x1D72A;</mtext></math>=<span>1D72A</span></span>
-  <span><math class="testfont"><mtext>&#x1D72B;</mtext></math>=<span>1D72B</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D72B;</mtext></math>=<span>1D72B</span></span>
   <span><math class="testfont"><mtext>&#x1D72C;</mtext></math>=<span>1D72C</span></span>
+  <span><math class="testfont"><mtext>&#x1D72D;</mtext></math>=<span>1D72D</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D72E;</mtext></math>=<span>1D72E</span></span>
   <span><math class="testfont"><mtext>&#x1D72F;</mtext></math>=<span>1D72F</span></span>
   <span><math class="testfont"><mtext>&#x1D730;</mtext></math>=<span>1D730</span></span>
@@ -101,6 +100,7 @@
   <span><math class="testfont"><mtext>&#x1D732;</mtext></math>=<span>1D732</span></span>
   <span><math class="testfont"><mtext>&#x1D733;</mtext></math>=<span>1D733</span></span>
   <span><math class="testfont"><mtext>&#x1D734;</mtext></math>=<span>1D734</span></span>
+  <span><math class="testfont"><mtext>&#x1D735;</mtext></math>=<span>1D735</span></span>
   <span><math class="testfont"><mtext>&#x1D736;</mtext></math>=<span>1D736</span></span>
   <span><math class="testfont"><mtext>&#x1D737;</mtext></math>=<span>1D737</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D738;</mtext></math>=<span>1D738</span></span>
@@ -126,12 +126,12 @@
   <span><math class="testfont"><mtext>&#x1D74C;</mtext></math>=<span>1D74C</span></span>
   <span><math class="testfont"><mtext>&#x1D74D;</mtext></math>=<span>1D74D</span></span>
   <span><math class="testfont"><mtext>&#x1D74E;</mtext></math>=<span>1D74E</span></span>
+  <span><math class="testfont"><mtext>&#x1D74F;</mtext></math>=<span>1D74F</span></span>
+  <span><math class="testfont"><mtext>&#x1D750;</mtext></math>=<span>1D750</span></span>
   <span><math class="testfont"><mtext>&#x1D751;</mtext></math>=<span>1D751</span></span>
-  <span><math class="testfont"><mtext>&#x1D753;</mtext></math>=<span>1D753</span></span>
-  <span><math class="testfont"><mtext>&#x1D755;</mtext></math>=<span>1D755</span></span>
   <span><math class="testfont"><mtext>&#x1D752;</mtext></math>=<span>1D752</span></span>
+  <span><math class="testfont"><mtext>&#x1D753;</mtext></math>=<span>1D753</span></span>
   <span><math class="testfont"><mtext>&#x1D754;</mtext></math>=<span>1D754</span></span>
-  <span><math class="testfont"><mtext>&#x1D72D;</mtext></math>=<span>1D72D</span></span>
-  <span><math class="testfont"><mtext>&#x1D750;</mtext></math>=<span>1D750</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D755;</mtext></math>=<span>1D755</span></span><br/>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-italic.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-italic.html
index 1b8ab885..725559a 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-italic.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-italic.html
@@ -29,8 +29,6 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x2202;</mtext></math>=<span>1D74F</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x2207;</mtext></math>=<span>1D735</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x41;</mtext></math>=<span>1D468</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x42;</mtext></math>=<span>1D469</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x43;</mtext></math>=<span>1D46A</span></span>
@@ -38,9 +36,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x45;</mtext></math>=<span>1D46C</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x46;</mtext></math>=<span>1D46D</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x47;</mtext></math>=<span>1D46E</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x48;</mtext></math>=<span>1D46F</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x48;</mtext></math>=<span>1D46F</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x49;</mtext></math>=<span>1D470</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x4A;</mtext></math>=<span>1D471</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x4A;</mtext></math>=<span>1D471</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x4B;</mtext></math>=<span>1D472</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x4C;</mtext></math>=<span>1D473</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x4D;</mtext></math>=<span>1D474</span></span>
@@ -48,9 +46,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x4F;</mtext></math>=<span>1D476</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x50;</mtext></math>=<span>1D477</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x51;</mtext></math>=<span>1D478</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x52;</mtext></math>=<span>1D479</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x52;</mtext></math>=<span>1D479</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x53;</mtext></math>=<span>1D47A</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x54;</mtext></math>=<span>1D47B</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x54;</mtext></math>=<span>1D47B</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x55;</mtext></math>=<span>1D47C</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x56;</mtext></math>=<span>1D47D</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x57;</mtext></math>=<span>1D47E</span></span>
@@ -58,9 +56,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x59;</mtext></math>=<span>1D480</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x5A;</mtext></math>=<span>1D481</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x61;</mtext></math>=<span>1D482</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x62;</mtext></math>=<span>1D483</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x62;</mtext></math>=<span>1D483</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x63;</mtext></math>=<span>1D484</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x64;</mtext></math>=<span>1D485</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x64;</mtext></math>=<span>1D485</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x65;</mtext></math>=<span>1D486</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x66;</mtext></math>=<span>1D487</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x67;</mtext></math>=<span>1D488</span></span>
@@ -68,9 +66,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x69;</mtext></math>=<span>1D48A</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6A;</mtext></math>=<span>1D48B</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6B;</mtext></math>=<span>1D48C</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6C;</mtext></math>=<span>1D48D</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6C;</mtext></math>=<span>1D48D</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6D;</mtext></math>=<span>1D48E</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6E;</mtext></math>=<span>1D48F</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6E;</mtext></math>=<span>1D48F</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6F;</mtext></math>=<span>1D490</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x70;</mtext></math>=<span>1D491</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x71;</mtext></math>=<span>1D492</span></span>
@@ -78,9 +76,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x73;</mtext></math>=<span>1D494</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x74;</mtext></math>=<span>1D495</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x75;</mtext></math>=<span>1D496</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x76;</mtext></math>=<span>1D497</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x76;</mtext></math>=<span>1D497</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x77;</mtext></math>=<span>1D498</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x78;</mtext></math>=<span>1D499</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x78;</mtext></math>=<span>1D499</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x79;</mtext></math>=<span>1D49A</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x7A;</mtext></math>=<span>1D49B</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x391;</mtext></math>=<span>1D71C</span></span>
@@ -88,9 +86,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x393;</mtext></math>=<span>1D71E</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x394;</mtext></math>=<span>1D71F</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x395;</mtext></math>=<span>1D720</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x396;</mtext></math>=<span>1D721</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x396;</mtext></math>=<span>1D721</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x397;</mtext></math>=<span>1D722</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x398;</mtext></math>=<span>1D723</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x398;</mtext></math>=<span>1D723</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x399;</mtext></math>=<span>1D724</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x39A;</mtext></math>=<span>1D725</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x39B;</mtext></math>=<span>1D726</span></span>
@@ -98,8 +96,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x39D;</mtext></math>=<span>1D728</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x39E;</mtext></math>=<span>1D729</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x39F;</mtext></math>=<span>1D72A</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A0;</mtext></math>=<span>1D72B</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A0;</mtext></math>=<span>1D72B</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A1;</mtext></math>=<span>1D72C</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3F4;</mtext></math>=<span>1D72D</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A3;</mtext></math>=<span>1D72E</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A4;</mtext></math>=<span>1D72F</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A5;</mtext></math>=<span>1D730</span></span>
@@ -107,6 +106,7 @@
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A7;</mtext></math>=<span>1D732</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A8;</mtext></math>=<span>1D733</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A9;</mtext></math>=<span>1D734</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x2207;</mtext></math>=<span>1D735</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3B1;</mtext></math>=<span>1D736</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3B2;</mtext></math>=<span>1D737</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3B3;</mtext></math>=<span>1D738</span></span>
@@ -132,12 +132,12 @@
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C7;</mtext></math>=<span>1D74C</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C8;</mtext></math>=<span>1D74D</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C9;</mtext></math>=<span>1D74E</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x2202;</mtext></math>=<span>1D74F</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3F5;</mtext></math>=<span>1D750</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3D1;</mtext></math>=<span>1D751</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3D5;</mtext></math>=<span>1D753</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3D6;</mtext></math>=<span>1D755</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3F0;</mtext></math>=<span>1D752</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3D5;</mtext></math>=<span>1D753</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3F1;</mtext></math>=<span>1D754</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3F4;</mtext></math>=<span>1D72D</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3F5;</mtext></math>=<span>1D750</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3D6;</mtext></math>=<span>1D755</span></span><br/>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-ref.html
index 3a727872..ac24ab5b 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-ref.html
@@ -23,18 +23,6 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext>&#x1D6DB;</mtext></math>=<span>1D6DB</span></span>
-  <span><math class="testfont"><mtext>&#x1D6C1;</mtext></math>=<span>1D6C1</span></span>
-  <span><math class="testfont"><mtext>&#x1D7CE;</mtext></math>=<span>1D7CE</span></span>
-  <span><math class="testfont"><mtext>&#x1D7CF;</mtext></math>=<span>1D7CF</span></span>
-  <span><math class="testfont"><mtext>&#x1D7D0;</mtext></math>=<span>1D7D0</span></span>
-  <span><math class="testfont"><mtext>&#x1D7D1;</mtext></math>=<span>1D7D1</span></span>
-  <span><math class="testfont"><mtext>&#x1D7D2;</mtext></math>=<span>1D7D2</span></span>
-  <span><math class="testfont"><mtext>&#x1D7D3;</mtext></math>=<span>1D7D3</span></span>
-  <span><math class="testfont"><mtext>&#x1D7D4;</mtext></math>=<span>1D7D4</span></span>
-  <span><math class="testfont"><mtext>&#x1D7D5;</mtext></math>=<span>1D7D5</span></span><br/>
-  <span><math class="testfont"><mtext>&#x1D7D6;</mtext></math>=<span>1D7D6</span></span>
-  <span><math class="testfont"><mtext>&#x1D7D7;</mtext></math>=<span>1D7D7</span></span>
   <span><math class="testfont"><mtext>&#x1D400;</mtext></math>=<span>1D400</span></span>
   <span><math class="testfont"><mtext>&#x1D401;</mtext></math>=<span>1D401</span></span>
   <span><math class="testfont"><mtext>&#x1D402;</mtext></math>=<span>1D402</span></span>
@@ -42,9 +30,9 @@
   <span><math class="testfont"><mtext>&#x1D404;</mtext></math>=<span>1D404</span></span>
   <span><math class="testfont"><mtext>&#x1D405;</mtext></math>=<span>1D405</span></span>
   <span><math class="testfont"><mtext>&#x1D406;</mtext></math>=<span>1D406</span></span>
-  <span><math class="testfont"><mtext>&#x1D407;</mtext></math>=<span>1D407</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D407;</mtext></math>=<span>1D407</span></span>
   <span><math class="testfont"><mtext>&#x1D408;</mtext></math>=<span>1D408</span></span>
-  <span><math class="testfont"><mtext>&#x1D409;</mtext></math>=<span>1D409</span></span>
+  <span><math class="testfont"><mtext>&#x1D409;</mtext></math>=<span>1D409</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D40A;</mtext></math>=<span>1D40A</span></span>
   <span><math class="testfont"><mtext>&#x1D40B;</mtext></math>=<span>1D40B</span></span>
   <span><math class="testfont"><mtext>&#x1D40C;</mtext></math>=<span>1D40C</span></span>
@@ -52,9 +40,9 @@
   <span><math class="testfont"><mtext>&#x1D40E;</mtext></math>=<span>1D40E</span></span>
   <span><math class="testfont"><mtext>&#x1D40F;</mtext></math>=<span>1D40F</span></span>
   <span><math class="testfont"><mtext>&#x1D410;</mtext></math>=<span>1D410</span></span>
-  <span><math class="testfont"><mtext>&#x1D411;</mtext></math>=<span>1D411</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D411;</mtext></math>=<span>1D411</span></span>
   <span><math class="testfont"><mtext>&#x1D412;</mtext></math>=<span>1D412</span></span>
-  <span><math class="testfont"><mtext>&#x1D413;</mtext></math>=<span>1D413</span></span>
+  <span><math class="testfont"><mtext>&#x1D413;</mtext></math>=<span>1D413</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D414;</mtext></math>=<span>1D414</span></span>
   <span><math class="testfont"><mtext>&#x1D415;</mtext></math>=<span>1D415</span></span>
   <span><math class="testfont"><mtext>&#x1D416;</mtext></math>=<span>1D416</span></span>
@@ -62,9 +50,9 @@
   <span><math class="testfont"><mtext>&#x1D418;</mtext></math>=<span>1D418</span></span>
   <span><math class="testfont"><mtext>&#x1D419;</mtext></math>=<span>1D419</span></span>
   <span><math class="testfont"><mtext>&#x1D41A;</mtext></math>=<span>1D41A</span></span>
-  <span><math class="testfont"><mtext>&#x1D41B;</mtext></math>=<span>1D41B</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D41B;</mtext></math>=<span>1D41B</span></span>
   <span><math class="testfont"><mtext>&#x1D41C;</mtext></math>=<span>1D41C</span></span>
-  <span><math class="testfont"><mtext>&#x1D41D;</mtext></math>=<span>1D41D</span></span>
+  <span><math class="testfont"><mtext>&#x1D41D;</mtext></math>=<span>1D41D</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D41E;</mtext></math>=<span>1D41E</span></span>
   <span><math class="testfont"><mtext>&#x1D41F;</mtext></math>=<span>1D41F</span></span>
   <span><math class="testfont"><mtext>&#x1D420;</mtext></math>=<span>1D420</span></span>
@@ -72,9 +60,9 @@
   <span><math class="testfont"><mtext>&#x1D422;</mtext></math>=<span>1D422</span></span>
   <span><math class="testfont"><mtext>&#x1D423;</mtext></math>=<span>1D423</span></span>
   <span><math class="testfont"><mtext>&#x1D424;</mtext></math>=<span>1D424</span></span>
-  <span><math class="testfont"><mtext>&#x1D425;</mtext></math>=<span>1D425</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D425;</mtext></math>=<span>1D425</span></span>
   <span><math class="testfont"><mtext>&#x1D426;</mtext></math>=<span>1D426</span></span>
-  <span><math class="testfont"><mtext>&#x1D427;</mtext></math>=<span>1D427</span></span>
+  <span><math class="testfont"><mtext>&#x1D427;</mtext></math>=<span>1D427</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D428;</mtext></math>=<span>1D428</span></span>
   <span><math class="testfont"><mtext>&#x1D429;</mtext></math>=<span>1D429</span></span>
   <span><math class="testfont"><mtext>&#x1D42A;</mtext></math>=<span>1D42A</span></span>
@@ -82,9 +70,9 @@
   <span><math class="testfont"><mtext>&#x1D42C;</mtext></math>=<span>1D42C</span></span>
   <span><math class="testfont"><mtext>&#x1D42D;</mtext></math>=<span>1D42D</span></span>
   <span><math class="testfont"><mtext>&#x1D42E;</mtext></math>=<span>1D42E</span></span>
-  <span><math class="testfont"><mtext>&#x1D42F;</mtext></math>=<span>1D42F</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D42F;</mtext></math>=<span>1D42F</span></span>
   <span><math class="testfont"><mtext>&#x1D430;</mtext></math>=<span>1D430</span></span>
-  <span><math class="testfont"><mtext>&#x1D431;</mtext></math>=<span>1D431</span></span>
+  <span><math class="testfont"><mtext>&#x1D431;</mtext></math>=<span>1D431</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D432;</mtext></math>=<span>1D432</span></span>
   <span><math class="testfont"><mtext>&#x1D433;</mtext></math>=<span>1D433</span></span>
   <span><math class="testfont"><mtext>&#x1D6A8;</mtext></math>=<span>1D6A8</span></span>
@@ -92,9 +80,9 @@
   <span><math class="testfont"><mtext>&#x1D6AA;</mtext></math>=<span>1D6AA</span></span>
   <span><math class="testfont"><mtext>&#x1D6AB;</mtext></math>=<span>1D6AB</span></span>
   <span><math class="testfont"><mtext>&#x1D6AC;</mtext></math>=<span>1D6AC</span></span>
-  <span><math class="testfont"><mtext>&#x1D6AD;</mtext></math>=<span>1D6AD</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D6AD;</mtext></math>=<span>1D6AD</span></span>
   <span><math class="testfont"><mtext>&#x1D6AE;</mtext></math>=<span>1D6AE</span></span>
-  <span><math class="testfont"><mtext>&#x1D6AF;</mtext></math>=<span>1D6AF</span></span>
+  <span><math class="testfont"><mtext>&#x1D6AF;</mtext></math>=<span>1D6AF</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D6B0;</mtext></math>=<span>1D6B0</span></span>
   <span><math class="testfont"><mtext>&#x1D6B1;</mtext></math>=<span>1D6B1</span></span>
   <span><math class="testfont"><mtext>&#x1D6B2;</mtext></math>=<span>1D6B2</span></span>
@@ -102,8 +90,9 @@
   <span><math class="testfont"><mtext>&#x1D6B4;</mtext></math>=<span>1D6B4</span></span>
   <span><math class="testfont"><mtext>&#x1D6B5;</mtext></math>=<span>1D6B5</span></span>
   <span><math class="testfont"><mtext>&#x1D6B6;</mtext></math>=<span>1D6B6</span></span>
-  <span><math class="testfont"><mtext>&#x1D6B7;</mtext></math>=<span>1D6B7</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D6B7;</mtext></math>=<span>1D6B7</span></span>
   <span><math class="testfont"><mtext>&#x1D6B8;</mtext></math>=<span>1D6B8</span></span>
+  <span><math class="testfont"><mtext>&#x1D6B9;</mtext></math>=<span>1D6B9</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D6BA;</mtext></math>=<span>1D6BA</span></span>
   <span><math class="testfont"><mtext>&#x1D6BB;</mtext></math>=<span>1D6BB</span></span>
   <span><math class="testfont"><mtext>&#x1D6BC;</mtext></math>=<span>1D6BC</span></span>
@@ -111,6 +100,7 @@
   <span><math class="testfont"><mtext>&#x1D6BE;</mtext></math>=<span>1D6BE</span></span>
   <span><math class="testfont"><mtext>&#x1D6BF;</mtext></math>=<span>1D6BF</span></span>
   <span><math class="testfont"><mtext>&#x1D6C0;</mtext></math>=<span>1D6C0</span></span>
+  <span><math class="testfont"><mtext>&#x1D6C1;</mtext></math>=<span>1D6C1</span></span>
   <span><math class="testfont"><mtext>&#x1D6C2;</mtext></math>=<span>1D6C2</span></span>
   <span><math class="testfont"><mtext>&#x1D6C3;</mtext></math>=<span>1D6C3</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D6C4;</mtext></math>=<span>1D6C4</span></span>
@@ -136,14 +126,24 @@
   <span><math class="testfont"><mtext>&#x1D6D8;</mtext></math>=<span>1D6D8</span></span>
   <span><math class="testfont"><mtext>&#x1D6D9;</mtext></math>=<span>1D6D9</span></span>
   <span><math class="testfont"><mtext>&#x1D6DA;</mtext></math>=<span>1D6DA</span></span>
+  <span><math class="testfont"><mtext>&#x1D6DB;</mtext></math>=<span>1D6DB</span></span>
+  <span><math class="testfont"><mtext>&#x1D6DC;</mtext></math>=<span>1D6DC</span></span>
   <span><math class="testfont"><mtext>&#x1D6DD;</mtext></math>=<span>1D6DD</span></span>
+  <span><math class="testfont"><mtext>&#x1D6DE;</mtext></math>=<span>1D6DE</span></span>
   <span><math class="testfont"><mtext>&#x1D6DF;</mtext></math>=<span>1D6DF</span></span>
-  <span><math class="testfont"><mtext>&#x1D6E1;</mtext></math>=<span>1D6E1</span></span>
+  <span><math class="testfont"><mtext>&#x1D6E0;</mtext></math>=<span>1D6E0</span></span>
+  <span><math class="testfont"><mtext>&#x1D6E1;</mtext></math>=<span>1D6E1</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D7CA;</mtext></math>=<span>1D7CA</span></span>
   <span><math class="testfont"><mtext>&#x1D7CB;</mtext></math>=<span>1D7CB</span></span>
-  <span><math class="testfont"><mtext>&#x1D6DE;</mtext></math>=<span>1D6DE</span></span>
-  <span><math class="testfont"><mtext>&#x1D6E0;</mtext></math>=<span>1D6E0</span></span><br/>
-  <span><math class="testfont"><mtext>&#x1D6B9;</mtext></math>=<span>1D6B9</span></span>
-  <span><math class="testfont"><mtext>&#x1D6DC;</mtext></math>=<span>1D6DC</span></span>
+  <span><math class="testfont"><mtext>&#x1D7CE;</mtext></math>=<span>1D7CE</span></span>
+  <span><math class="testfont"><mtext>&#x1D7CF;</mtext></math>=<span>1D7CF</span></span>
+  <span><math class="testfont"><mtext>&#x1D7D0;</mtext></math>=<span>1D7D0</span></span>
+  <span><math class="testfont"><mtext>&#x1D7D1;</mtext></math>=<span>1D7D1</span></span>
+  <span><math class="testfont"><mtext>&#x1D7D2;</mtext></math>=<span>1D7D2</span></span>
+  <span><math class="testfont"><mtext>&#x1D7D3;</mtext></math>=<span>1D7D3</span></span>
+  <span><math class="testfont"><mtext>&#x1D7D4;</mtext></math>=<span>1D7D4</span></span>
+  <span><math class="testfont"><mtext>&#x1D7D5;</mtext></math>=<span>1D7D5</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D7D6;</mtext></math>=<span>1D7D6</span></span>
+  <span><math class="testfont"><mtext>&#x1D7D7;</mtext></math>=<span>1D7D7</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-sans-serif-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-sans-serif-ref.html
index ec292b8e..78c0cc5 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-sans-serif-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-sans-serif-ref.html
@@ -23,18 +23,6 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext>&#x1D789;</mtext></math>=<span>1D789</span></span>
-  <span><math class="testfont"><mtext>&#x1D76F;</mtext></math>=<span>1D76F</span></span>
-  <span><math class="testfont"><mtext>&#x1D7EC;</mtext></math>=<span>1D7EC</span></span>
-  <span><math class="testfont"><mtext>&#x1D7ED;</mtext></math>=<span>1D7ED</span></span>
-  <span><math class="testfont"><mtext>&#x1D7EE;</mtext></math>=<span>1D7EE</span></span>
-  <span><math class="testfont"><mtext>&#x1D7EF;</mtext></math>=<span>1D7EF</span></span>
-  <span><math class="testfont"><mtext>&#x1D7F0;</mtext></math>=<span>1D7F0</span></span>
-  <span><math class="testfont"><mtext>&#x1D7F1;</mtext></math>=<span>1D7F1</span></span>
-  <span><math class="testfont"><mtext>&#x1D7F2;</mtext></math>=<span>1D7F2</span></span>
-  <span><math class="testfont"><mtext>&#x1D7F3;</mtext></math>=<span>1D7F3</span></span><br/>
-  <span><math class="testfont"><mtext>&#x1D7F4;</mtext></math>=<span>1D7F4</span></span>
-  <span><math class="testfont"><mtext>&#x1D7F5;</mtext></math>=<span>1D7F5</span></span>
   <span><math class="testfont"><mtext>&#x1D5D4;</mtext></math>=<span>1D5D4</span></span>
   <span><math class="testfont"><mtext>&#x1D5D5;</mtext></math>=<span>1D5D5</span></span>
   <span><math class="testfont"><mtext>&#x1D5D6;</mtext></math>=<span>1D5D6</span></span>
@@ -42,9 +30,9 @@
   <span><math class="testfont"><mtext>&#x1D5D8;</mtext></math>=<span>1D5D8</span></span>
   <span><math class="testfont"><mtext>&#x1D5D9;</mtext></math>=<span>1D5D9</span></span>
   <span><math class="testfont"><mtext>&#x1D5DA;</mtext></math>=<span>1D5DA</span></span>
-  <span><math class="testfont"><mtext>&#x1D5DB;</mtext></math>=<span>1D5DB</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D5DB;</mtext></math>=<span>1D5DB</span></span>
   <span><math class="testfont"><mtext>&#x1D5DC;</mtext></math>=<span>1D5DC</span></span>
-  <span><math class="testfont"><mtext>&#x1D5DD;</mtext></math>=<span>1D5DD</span></span>
+  <span><math class="testfont"><mtext>&#x1D5DD;</mtext></math>=<span>1D5DD</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D5DE;</mtext></math>=<span>1D5DE</span></span>
   <span><math class="testfont"><mtext>&#x1D5DF;</mtext></math>=<span>1D5DF</span></span>
   <span><math class="testfont"><mtext>&#x1D5E0;</mtext></math>=<span>1D5E0</span></span>
@@ -52,9 +40,9 @@
   <span><math class="testfont"><mtext>&#x1D5E2;</mtext></math>=<span>1D5E2</span></span>
   <span><math class="testfont"><mtext>&#x1D5E3;</mtext></math>=<span>1D5E3</span></span>
   <span><math class="testfont"><mtext>&#x1D5E4;</mtext></math>=<span>1D5E4</span></span>
-  <span><math class="testfont"><mtext>&#x1D5E5;</mtext></math>=<span>1D5E5</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D5E5;</mtext></math>=<span>1D5E5</span></span>
   <span><math class="testfont"><mtext>&#x1D5E6;</mtext></math>=<span>1D5E6</span></span>
-  <span><math class="testfont"><mtext>&#x1D5E7;</mtext></math>=<span>1D5E7</span></span>
+  <span><math class="testfont"><mtext>&#x1D5E7;</mtext></math>=<span>1D5E7</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D5E8;</mtext></math>=<span>1D5E8</span></span>
   <span><math class="testfont"><mtext>&#x1D5E9;</mtext></math>=<span>1D5E9</span></span>
   <span><math class="testfont"><mtext>&#x1D5EA;</mtext></math>=<span>1D5EA</span></span>
@@ -62,9 +50,9 @@
   <span><math class="testfont"><mtext>&#x1D5EC;</mtext></math>=<span>1D5EC</span></span>
   <span><math class="testfont"><mtext>&#x1D5ED;</mtext></math>=<span>1D5ED</span></span>
   <span><math class="testfont"><mtext>&#x1D5EE;</mtext></math>=<span>1D5EE</span></span>
-  <span><math class="testfont"><mtext>&#x1D5EF;</mtext></math>=<span>1D5EF</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D5EF;</mtext></math>=<span>1D5EF</span></span>
   <span><math class="testfont"><mtext>&#x1D5F0;</mtext></math>=<span>1D5F0</span></span>
-  <span><math class="testfont"><mtext>&#x1D5F1;</mtext></math>=<span>1D5F1</span></span>
+  <span><math class="testfont"><mtext>&#x1D5F1;</mtext></math>=<span>1D5F1</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D5F2;</mtext></math>=<span>1D5F2</span></span>
   <span><math class="testfont"><mtext>&#x1D5F3;</mtext></math>=<span>1D5F3</span></span>
   <span><math class="testfont"><mtext>&#x1D5F4;</mtext></math>=<span>1D5F4</span></span>
@@ -72,9 +60,9 @@
   <span><math class="testfont"><mtext>&#x1D5F6;</mtext></math>=<span>1D5F6</span></span>
   <span><math class="testfont"><mtext>&#x1D5F7;</mtext></math>=<span>1D5F7</span></span>
   <span><math class="testfont"><mtext>&#x1D5F8;</mtext></math>=<span>1D5F8</span></span>
-  <span><math class="testfont"><mtext>&#x1D5F9;</mtext></math>=<span>1D5F9</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D5F9;</mtext></math>=<span>1D5F9</span></span>
   <span><math class="testfont"><mtext>&#x1D5FA;</mtext></math>=<span>1D5FA</span></span>
-  <span><math class="testfont"><mtext>&#x1D5FB;</mtext></math>=<span>1D5FB</span></span>
+  <span><math class="testfont"><mtext>&#x1D5FB;</mtext></math>=<span>1D5FB</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D5FC;</mtext></math>=<span>1D5FC</span></span>
   <span><math class="testfont"><mtext>&#x1D5FD;</mtext></math>=<span>1D5FD</span></span>
   <span><math class="testfont"><mtext>&#x1D5FE;</mtext></math>=<span>1D5FE</span></span>
@@ -82,9 +70,9 @@
   <span><math class="testfont"><mtext>&#x1D600;</mtext></math>=<span>1D600</span></span>
   <span><math class="testfont"><mtext>&#x1D601;</mtext></math>=<span>1D601</span></span>
   <span><math class="testfont"><mtext>&#x1D602;</mtext></math>=<span>1D602</span></span>
-  <span><math class="testfont"><mtext>&#x1D603;</mtext></math>=<span>1D603</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D603;</mtext></math>=<span>1D603</span></span>
   <span><math class="testfont"><mtext>&#x1D604;</mtext></math>=<span>1D604</span></span>
-  <span><math class="testfont"><mtext>&#x1D605;</mtext></math>=<span>1D605</span></span>
+  <span><math class="testfont"><mtext>&#x1D605;</mtext></math>=<span>1D605</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D606;</mtext></math>=<span>1D606</span></span>
   <span><math class="testfont"><mtext>&#x1D607;</mtext></math>=<span>1D607</span></span>
   <span><math class="testfont"><mtext>&#x1D756;</mtext></math>=<span>1D756</span></span>
@@ -92,9 +80,9 @@
   <span><math class="testfont"><mtext>&#x1D758;</mtext></math>=<span>1D758</span></span>
   <span><math class="testfont"><mtext>&#x1D759;</mtext></math>=<span>1D759</span></span>
   <span><math class="testfont"><mtext>&#x1D75A;</mtext></math>=<span>1D75A</span></span>
-  <span><math class="testfont"><mtext>&#x1D75B;</mtext></math>=<span>1D75B</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D75B;</mtext></math>=<span>1D75B</span></span>
   <span><math class="testfont"><mtext>&#x1D75C;</mtext></math>=<span>1D75C</span></span>
-  <span><math class="testfont"><mtext>&#x1D75D;</mtext></math>=<span>1D75D</span></span>
+  <span><math class="testfont"><mtext>&#x1D75D;</mtext></math>=<span>1D75D</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D75E;</mtext></math>=<span>1D75E</span></span>
   <span><math class="testfont"><mtext>&#x1D75F;</mtext></math>=<span>1D75F</span></span>
   <span><math class="testfont"><mtext>&#x1D760;</mtext></math>=<span>1D760</span></span>
@@ -102,8 +90,9 @@
   <span><math class="testfont"><mtext>&#x1D762;</mtext></math>=<span>1D762</span></span>
   <span><math class="testfont"><mtext>&#x1D763;</mtext></math>=<span>1D763</span></span>
   <span><math class="testfont"><mtext>&#x1D764;</mtext></math>=<span>1D764</span></span>
-  <span><math class="testfont"><mtext>&#x1D765;</mtext></math>=<span>1D765</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D765;</mtext></math>=<span>1D765</span></span>
   <span><math class="testfont"><mtext>&#x1D766;</mtext></math>=<span>1D766</span></span>
+  <span><math class="testfont"><mtext>&#x1D767;</mtext></math>=<span>1D767</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D768;</mtext></math>=<span>1D768</span></span>
   <span><math class="testfont"><mtext>&#x1D769;</mtext></math>=<span>1D769</span></span>
   <span><math class="testfont"><mtext>&#x1D76A;</mtext></math>=<span>1D76A</span></span>
@@ -111,6 +100,7 @@
   <span><math class="testfont"><mtext>&#x1D76C;</mtext></math>=<span>1D76C</span></span>
   <span><math class="testfont"><mtext>&#x1D76D;</mtext></math>=<span>1D76D</span></span>
   <span><math class="testfont"><mtext>&#x1D76E;</mtext></math>=<span>1D76E</span></span>
+  <span><math class="testfont"><mtext>&#x1D76F;</mtext></math>=<span>1D76F</span></span>
   <span><math class="testfont"><mtext>&#x1D770;</mtext></math>=<span>1D770</span></span>
   <span><math class="testfont"><mtext>&#x1D771;</mtext></math>=<span>1D771</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D772;</mtext></math>=<span>1D772</span></span>
@@ -136,12 +126,22 @@
   <span><math class="testfont"><mtext>&#x1D786;</mtext></math>=<span>1D786</span></span>
   <span><math class="testfont"><mtext>&#x1D787;</mtext></math>=<span>1D787</span></span>
   <span><math class="testfont"><mtext>&#x1D788;</mtext></math>=<span>1D788</span></span>
+  <span><math class="testfont"><mtext>&#x1D789;</mtext></math>=<span>1D789</span></span>
+  <span><math class="testfont"><mtext>&#x1D78A;</mtext></math>=<span>1D78A</span></span>
   <span><math class="testfont"><mtext>&#x1D78B;</mtext></math>=<span>1D78B</span></span>
-  <span><math class="testfont"><mtext>&#x1D78D;</mtext></math>=<span>1D78D</span></span>
-  <span><math class="testfont"><mtext>&#x1D78F;</mtext></math>=<span>1D78F</span></span>
   <span><math class="testfont"><mtext>&#x1D78C;</mtext></math>=<span>1D78C</span></span>
+  <span><math class="testfont"><mtext>&#x1D78D;</mtext></math>=<span>1D78D</span></span>
   <span><math class="testfont"><mtext>&#x1D78E;</mtext></math>=<span>1D78E</span></span>
-  <span><math class="testfont"><mtext>&#x1D767;</mtext></math>=<span>1D767</span></span>
-  <span><math class="testfont"><mtext>&#x1D78A;</mtext></math>=<span>1D78A</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D78F;</mtext></math>=<span>1D78F</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D7EC;</mtext></math>=<span>1D7EC</span></span>
+  <span><math class="testfont"><mtext>&#x1D7ED;</mtext></math>=<span>1D7ED</span></span>
+  <span><math class="testfont"><mtext>&#x1D7EE;</mtext></math>=<span>1D7EE</span></span>
+  <span><math class="testfont"><mtext>&#x1D7EF;</mtext></math>=<span>1D7EF</span></span>
+  <span><math class="testfont"><mtext>&#x1D7F0;</mtext></math>=<span>1D7F0</span></span>
+  <span><math class="testfont"><mtext>&#x1D7F1;</mtext></math>=<span>1D7F1</span></span>
+  <span><math class="testfont"><mtext>&#x1D7F2;</mtext></math>=<span>1D7F2</span></span>
+  <span><math class="testfont"><mtext>&#x1D7F3;</mtext></math>=<span>1D7F3</span></span>
+  <span><math class="testfont"><mtext>&#x1D7F4;</mtext></math>=<span>1D7F4</span></span>
+  <span><math class="testfont"><mtext>&#x1D7F5;</mtext></math>=<span>1D7F5</span></span><br/>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-sans-serif.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-sans-serif.html
index cd7fdfa..0e0662d 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-sans-serif.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold-sans-serif.html
@@ -29,18 +29,6 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x2202;</mtext></math>=<span>1D789</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x2207;</mtext></math>=<span>1D76F</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x30;</mtext></math>=<span>1D7EC</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x31;</mtext></math>=<span>1D7ED</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x32;</mtext></math>=<span>1D7EE</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x33;</mtext></math>=<span>1D7EF</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x34;</mtext></math>=<span>1D7F0</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x35;</mtext></math>=<span>1D7F1</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x36;</mtext></math>=<span>1D7F2</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x37;</mtext></math>=<span>1D7F3</span></span><br/>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x38;</mtext></math>=<span>1D7F4</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39;</mtext></math>=<span>1D7F5</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x41;</mtext></math>=<span>1D5D4</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x42;</mtext></math>=<span>1D5D5</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x43;</mtext></math>=<span>1D5D6</span></span>
@@ -48,9 +36,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x45;</mtext></math>=<span>1D5D8</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x46;</mtext></math>=<span>1D5D9</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x47;</mtext></math>=<span>1D5DA</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x48;</mtext></math>=<span>1D5DB</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x48;</mtext></math>=<span>1D5DB</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x49;</mtext></math>=<span>1D5DC</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x4A;</mtext></math>=<span>1D5DD</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x4A;</mtext></math>=<span>1D5DD</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x4B;</mtext></math>=<span>1D5DE</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x4C;</mtext></math>=<span>1D5DF</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x4D;</mtext></math>=<span>1D5E0</span></span>
@@ -58,9 +46,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x4F;</mtext></math>=<span>1D5E2</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x50;</mtext></math>=<span>1D5E3</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x51;</mtext></math>=<span>1D5E4</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x52;</mtext></math>=<span>1D5E5</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x52;</mtext></math>=<span>1D5E5</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x53;</mtext></math>=<span>1D5E6</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x54;</mtext></math>=<span>1D5E7</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x54;</mtext></math>=<span>1D5E7</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x55;</mtext></math>=<span>1D5E8</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x56;</mtext></math>=<span>1D5E9</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x57;</mtext></math>=<span>1D5EA</span></span>
@@ -68,9 +56,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x59;</mtext></math>=<span>1D5EC</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x5A;</mtext></math>=<span>1D5ED</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x61;</mtext></math>=<span>1D5EE</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x62;</mtext></math>=<span>1D5EF</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x62;</mtext></math>=<span>1D5EF</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x63;</mtext></math>=<span>1D5F0</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x64;</mtext></math>=<span>1D5F1</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x64;</mtext></math>=<span>1D5F1</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x65;</mtext></math>=<span>1D5F2</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x66;</mtext></math>=<span>1D5F3</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x67;</mtext></math>=<span>1D5F4</span></span>
@@ -78,9 +66,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x69;</mtext></math>=<span>1D5F6</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6A;</mtext></math>=<span>1D5F7</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6B;</mtext></math>=<span>1D5F8</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6C;</mtext></math>=<span>1D5F9</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6C;</mtext></math>=<span>1D5F9</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6D;</mtext></math>=<span>1D5FA</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6E;</mtext></math>=<span>1D5FB</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6E;</mtext></math>=<span>1D5FB</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6F;</mtext></math>=<span>1D5FC</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x70;</mtext></math>=<span>1D5FD</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x71;</mtext></math>=<span>1D5FE</span></span>
@@ -88,9 +76,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x73;</mtext></math>=<span>1D600</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x74;</mtext></math>=<span>1D601</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x75;</mtext></math>=<span>1D602</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x76;</mtext></math>=<span>1D603</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x76;</mtext></math>=<span>1D603</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x77;</mtext></math>=<span>1D604</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x78;</mtext></math>=<span>1D605</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x78;</mtext></math>=<span>1D605</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x79;</mtext></math>=<span>1D606</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x7A;</mtext></math>=<span>1D607</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x391;</mtext></math>=<span>1D756</span></span>
@@ -98,9 +86,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x393;</mtext></math>=<span>1D758</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x394;</mtext></math>=<span>1D759</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x395;</mtext></math>=<span>1D75A</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x396;</mtext></math>=<span>1D75B</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x396;</mtext></math>=<span>1D75B</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x397;</mtext></math>=<span>1D75C</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x398;</mtext></math>=<span>1D75D</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x398;</mtext></math>=<span>1D75D</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x399;</mtext></math>=<span>1D75E</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39A;</mtext></math>=<span>1D75F</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39B;</mtext></math>=<span>1D760</span></span>
@@ -108,8 +96,9 @@
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39D;</mtext></math>=<span>1D762</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39E;</mtext></math>=<span>1D763</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39F;</mtext></math>=<span>1D764</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A0;</mtext></math>=<span>1D765</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A0;</mtext></math>=<span>1D765</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A1;</mtext></math>=<span>1D766</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3F4;</mtext></math>=<span>1D767</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A3;</mtext></math>=<span>1D768</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A4;</mtext></math>=<span>1D769</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A5;</mtext></math>=<span>1D76A</span></span>
@@ -117,6 +106,7 @@
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A7;</mtext></math>=<span>1D76C</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A8;</mtext></math>=<span>1D76D</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A9;</mtext></math>=<span>1D76E</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x2207;</mtext></math>=<span>1D76F</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3B1;</mtext></math>=<span>1D770</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3B2;</mtext></math>=<span>1D771</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3B3;</mtext></math>=<span>1D772</span></span>
@@ -142,12 +132,22 @@
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C7;</mtext></math>=<span>1D786</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C8;</mtext></math>=<span>1D787</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C9;</mtext></math>=<span>1D788</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x2202;</mtext></math>=<span>1D789</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3F5;</mtext></math>=<span>1D78A</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3D1;</mtext></math>=<span>1D78B</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3D5;</mtext></math>=<span>1D78D</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3D6;</mtext></math>=<span>1D78F</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3F0;</mtext></math>=<span>1D78C</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3D5;</mtext></math>=<span>1D78D</span></span>
   <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3F1;</mtext></math>=<span>1D78E</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3F4;</mtext></math>=<span>1D767</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3F5;</mtext></math>=<span>1D78A</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3D6;</mtext></math>=<span>1D78F</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x30;</mtext></math>=<span>1D7EC</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x31;</mtext></math>=<span>1D7ED</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x32;</mtext></math>=<span>1D7EE</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x33;</mtext></math>=<span>1D7EF</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x34;</mtext></math>=<span>1D7F0</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x35;</mtext></math>=<span>1D7F1</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x36;</mtext></math>=<span>1D7F2</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x37;</mtext></math>=<span>1D7F3</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x38;</mtext></math>=<span>1D7F4</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39;</mtext></math>=<span>1D7F5</span></span><br/>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold.html
index 513eac7..db5f475 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-bold.html
@@ -29,18 +29,6 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x2202;</mtext></math>=<span>1D6DB</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x2207;</mtext></math>=<span>1D6C1</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x30;</mtext></math>=<span>1D7CE</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x31;</mtext></math>=<span>1D7CF</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x32;</mtext></math>=<span>1D7D0</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x33;</mtext></math>=<span>1D7D1</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x34;</mtext></math>=<span>1D7D2</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x35;</mtext></math>=<span>1D7D3</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x36;</mtext></math>=<span>1D7D4</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x37;</mtext></math>=<span>1D7D5</span></span><br/>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x38;</mtext></math>=<span>1D7D6</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x39;</mtext></math>=<span>1D7D7</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x41;</mtext></math>=<span>1D400</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x42;</mtext></math>=<span>1D401</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x43;</mtext></math>=<span>1D402</span></span>
@@ -48,9 +36,9 @@
   <span><math class="testfont"><mtext mathvariant="bold">&#x45;</mtext></math>=<span>1D404</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x46;</mtext></math>=<span>1D405</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x47;</mtext></math>=<span>1D406</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x48;</mtext></math>=<span>1D407</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x48;</mtext></math>=<span>1D407</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x49;</mtext></math>=<span>1D408</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x4A;</mtext></math>=<span>1D409</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x4A;</mtext></math>=<span>1D409</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold">&#x4B;</mtext></math>=<span>1D40A</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x4C;</mtext></math>=<span>1D40B</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x4D;</mtext></math>=<span>1D40C</span></span>
@@ -58,9 +46,9 @@
   <span><math class="testfont"><mtext mathvariant="bold">&#x4F;</mtext></math>=<span>1D40E</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x50;</mtext></math>=<span>1D40F</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x51;</mtext></math>=<span>1D410</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x52;</mtext></math>=<span>1D411</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x52;</mtext></math>=<span>1D411</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x53;</mtext></math>=<span>1D412</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x54;</mtext></math>=<span>1D413</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x54;</mtext></math>=<span>1D413</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold">&#x55;</mtext></math>=<span>1D414</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x56;</mtext></math>=<span>1D415</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x57;</mtext></math>=<span>1D416</span></span>
@@ -68,9 +56,9 @@
   <span><math class="testfont"><mtext mathvariant="bold">&#x59;</mtext></math>=<span>1D418</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x5A;</mtext></math>=<span>1D419</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x61;</mtext></math>=<span>1D41A</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x62;</mtext></math>=<span>1D41B</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x62;</mtext></math>=<span>1D41B</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x63;</mtext></math>=<span>1D41C</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x64;</mtext></math>=<span>1D41D</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x64;</mtext></math>=<span>1D41D</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold">&#x65;</mtext></math>=<span>1D41E</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x66;</mtext></math>=<span>1D41F</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x67;</mtext></math>=<span>1D420</span></span>
@@ -78,9 +66,9 @@
   <span><math class="testfont"><mtext mathvariant="bold">&#x69;</mtext></math>=<span>1D422</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x6A;</mtext></math>=<span>1D423</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x6B;</mtext></math>=<span>1D424</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x6C;</mtext></math>=<span>1D425</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x6C;</mtext></math>=<span>1D425</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x6D;</mtext></math>=<span>1D426</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x6E;</mtext></math>=<span>1D427</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x6E;</mtext></math>=<span>1D427</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold">&#x6F;</mtext></math>=<span>1D428</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x70;</mtext></math>=<span>1D429</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x71;</mtext></math>=<span>1D42A</span></span>
@@ -88,9 +76,9 @@
   <span><math class="testfont"><mtext mathvariant="bold">&#x73;</mtext></math>=<span>1D42C</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x74;</mtext></math>=<span>1D42D</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x75;</mtext></math>=<span>1D42E</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x76;</mtext></math>=<span>1D42F</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x76;</mtext></math>=<span>1D42F</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x77;</mtext></math>=<span>1D430</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x78;</mtext></math>=<span>1D431</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x78;</mtext></math>=<span>1D431</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold">&#x79;</mtext></math>=<span>1D432</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x7A;</mtext></math>=<span>1D433</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x391;</mtext></math>=<span>1D6A8</span></span>
@@ -98,9 +86,9 @@
   <span><math class="testfont"><mtext mathvariant="bold">&#x393;</mtext></math>=<span>1D6AA</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x394;</mtext></math>=<span>1D6AB</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x395;</mtext></math>=<span>1D6AC</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x396;</mtext></math>=<span>1D6AD</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x396;</mtext></math>=<span>1D6AD</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x397;</mtext></math>=<span>1D6AE</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x398;</mtext></math>=<span>1D6AF</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x398;</mtext></math>=<span>1D6AF</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold">&#x399;</mtext></math>=<span>1D6B0</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x39A;</mtext></math>=<span>1D6B1</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x39B;</mtext></math>=<span>1D6B2</span></span>
@@ -108,8 +96,9 @@
   <span><math class="testfont"><mtext mathvariant="bold">&#x39D;</mtext></math>=<span>1D6B4</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x39E;</mtext></math>=<span>1D6B5</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x39F;</mtext></math>=<span>1D6B6</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x3A0;</mtext></math>=<span>1D6B7</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x3A0;</mtext></math>=<span>1D6B7</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3A1;</mtext></math>=<span>1D6B8</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x3F4;</mtext></math>=<span>1D6B9</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3A3;</mtext></math>=<span>1D6BA</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3A4;</mtext></math>=<span>1D6BB</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3A5;</mtext></math>=<span>1D6BC</span></span>
@@ -117,6 +106,7 @@
   <span><math class="testfont"><mtext mathvariant="bold">&#x3A7;</mtext></math>=<span>1D6BE</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3A8;</mtext></math>=<span>1D6BF</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3A9;</mtext></math>=<span>1D6C0</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x2207;</mtext></math>=<span>1D6C1</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3B1;</mtext></math>=<span>1D6C2</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3B2;</mtext></math>=<span>1D6C3</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3B3;</mtext></math>=<span>1D6C4</span></span>
@@ -142,14 +132,24 @@
   <span><math class="testfont"><mtext mathvariant="bold">&#x3C7;</mtext></math>=<span>1D6D8</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3C8;</mtext></math>=<span>1D6D9</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3C9;</mtext></math>=<span>1D6DA</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x2202;</mtext></math>=<span>1D6DB</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x3F5;</mtext></math>=<span>1D6DC</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3D1;</mtext></math>=<span>1D6DD</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x3F0;</mtext></math>=<span>1D6DE</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3D5;</mtext></math>=<span>1D6DF</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x3D6;</mtext></math>=<span>1D6E1</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x3F1;</mtext></math>=<span>1D6E0</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x3D6;</mtext></math>=<span>1D6E1</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3DC;</mtext></math>=<span>1D7CA</span></span>
   <span><math class="testfont"><mtext mathvariant="bold">&#x3DD;</mtext></math>=<span>1D7CB</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x3F0;</mtext></math>=<span>1D6DE</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x3F1;</mtext></math>=<span>1D6E0</span></span><br/>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x3F4;</mtext></math>=<span>1D6B9</span></span>
-  <span><math class="testfont"><mtext mathvariant="bold">&#x3F5;</mtext></math>=<span>1D6DC</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x30;</mtext></math>=<span>1D7CE</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x31;</mtext></math>=<span>1D7CF</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x32;</mtext></math>=<span>1D7D0</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x33;</mtext></math>=<span>1D7D1</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x34;</mtext></math>=<span>1D7D2</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x35;</mtext></math>=<span>1D7D3</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x36;</mtext></math>=<span>1D7D4</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x37;</mtext></math>=<span>1D7D5</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x38;</mtext></math>=<span>1D7D6</span></span>
+  <span><math class="testfont"><mtext mathvariant="bold">&#x39;</mtext></math>=<span>1D7D7</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-double-struck-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-double-struck-ref.html
index 686aa49..ebdb7a1 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-double-struck-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-double-struck-ref.html
@@ -23,36 +23,18 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext>&#x1EEA1;</mtext></math>=<span>1EEA1</span></span>
-  <span><math class="testfont"><mtext>&#x1EEB5;</mtext></math>=<span>1EEB5</span></span>
-  <span><math class="testfont"><mtext>&#x1EEB6;</mtext></math>=<span>1EEB6</span></span>
-  <span><math class="testfont"><mtext>&#x1EEA2;</mtext></math>=<span>1EEA2</span></span>
-  <span><math class="testfont"><mtext>&#x1EEA7;</mtext></math>=<span>1EEA7</span></span>
-  <span><math class="testfont"><mtext>&#x1EEB7;</mtext></math>=<span>1EEB7</span></span>
-  <span><math class="testfont"><mtext>&#x1EEA3;</mtext></math>=<span>1EEA3</span></span>
-  <span><math class="testfont"><mtext>&#x1EEB8;</mtext></math>=<span>1EEB8</span></span>
-  <span><math class="testfont"><mtext>&#x1EEB3;</mtext></math>=<span>1EEB3</span></span>
-  <span><math class="testfont"><mtext>&#x1EEA6;</mtext></math>=<span>1EEA6</span></span><br/>
-  <span><math class="testfont"><mtext>&#x1D7DB;</mtext></math>=<span>1D7DB</span></span>
-  <span><math class="testfont"><mtext>&#x1D7DC;</mtext></math>=<span>1D7DC</span></span>
-  <span><math class="testfont"><mtext>&#x1D7DD;</mtext></math>=<span>1D7DD</span></span>
-  <span><math class="testfont"><mtext>&#x1EEB9;</mtext></math>=<span>1EEB9</span></span>
-  <span><math class="testfont"><mtext>&#x1EEA8;</mtext></math>=<span>1EEA8</span></span>
-  <span><math class="testfont"><mtext>&#x1EEBA;</mtext></math>=<span>1EEBA</span></span>
-  <span><math class="testfont"><mtext>&#x1D7E1;</mtext></math>=<span>1D7E1</span></span>
-  <span><math class="testfont"><mtext>&#x1EEBB;</mtext></math>=<span>1EEBB</span></span>
-  <span><math class="testfont"><mtext>&#x1EEB0;</mtext></math>=<span>1EEB0</span></span>
-  <span><math class="testfont"><mtext>&#x1EEB2;</mtext></math>=<span>1EEB2</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D538;</mtext></math>=<span>1D538</span></span>
+  <span><math class="testfont"><mtext>&#x1D539;</mtext></math>=<span>1D539</span></span>
   <span><math class="testfont"><mtext>&#x2102;</mtext></math>=<span>02102</span></span>
-  <span><math class="testfont"><mtext>&#x1EEAB;</mtext></math>=<span>1EEAB</span></span>
-  <span><math class="testfont"><mtext>&#x1EEAC;</mtext></math>=<span>1EEAC</span></span>
-  <span><math class="testfont"><mtext>&#x1EEAD;</mtext></math>=<span>1EEAD</span></span>
+  <span><math class="testfont"><mtext>&#x1D53B;</mtext></math>=<span>1D53B</span></span>
+  <span><math class="testfont"><mtext>&#x1D53C;</mtext></math>=<span>1D53C</span></span>
+  <span><math class="testfont"><mtext>&#x1D53D;</mtext></math>=<span>1D53D</span></span>
   <span><math class="testfont"><mtext>&#x1D53E;</mtext></math>=<span>1D53E</span></span>
-  <span><math class="testfont"><mtext>&#x1EEA5;</mtext></math>=<span>1EEA5</span></span>
+  <span><math class="testfont"><mtext>&#x210D;</mtext></math>=<span>0210D</span></span>
   <span><math class="testfont"><mtext>&#x1D540;</mtext></math>=<span>1D540</span></span>
-  <span><math class="testfont"><mtext>&#x1EEA9;</mtext></math>=<span>1EEA9</span></span>
+  <span><math class="testfont"><mtext>&#x1D541;</mtext></math>=<span>1D541</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D542;</mtext></math>=<span>1D542</span></span>
-  <span><math class="testfont"><mtext>&#x1D543;</mtext></math>=<span>1D543</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D543;</mtext></math>=<span>1D543</span></span>
   <span><math class="testfont"><mtext>&#x1D544;</mtext></math>=<span>1D544</span></span>
   <span><math class="testfont"><mtext>&#x2115;</mtext></math>=<span>02115</span></span>
   <span><math class="testfont"><mtext>&#x1D546;</mtext></math>=<span>1D546</span></span>
@@ -60,9 +42,9 @@
   <span><math class="testfont"><mtext>&#x211A;</mtext></math>=<span>0211A</span></span>
   <span><math class="testfont"><mtext>&#x211D;</mtext></math>=<span>0211D</span></span>
   <span><math class="testfont"><mtext>&#x1D54A;</mtext></math>=<span>1D54A</span></span>
-  <span><math class="testfont"><mtext>&#x1D54B;</mtext></math>=<span>1D54B</span></span>
+  <span><math class="testfont"><mtext>&#x1D54B;</mtext></math>=<span>1D54B</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D54C;</mtext></math>=<span>1D54C</span></span>
-  <span><math class="testfont"><mtext>&#x1D54D;</mtext></math>=<span>1D54D</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D54D;</mtext></math>=<span>1D54D</span></span>
   <span><math class="testfont"><mtext>&#x1D54E;</mtext></math>=<span>1D54E</span></span>
   <span><math class="testfont"><mtext>&#x1D54F;</mtext></math>=<span>1D54F</span></span>
   <span><math class="testfont"><mtext>&#x1D550;</mtext></math>=<span>1D550</span></span>
@@ -70,9 +52,9 @@
   <span><math class="testfont"><mtext>&#x1D552;</mtext></math>=<span>1D552</span></span>
   <span><math class="testfont"><mtext>&#x1D553;</mtext></math>=<span>1D553</span></span>
   <span><math class="testfont"><mtext>&#x1D554;</mtext></math>=<span>1D554</span></span>
-  <span><math class="testfont"><mtext>&#x1D555;</mtext></math>=<span>1D555</span></span>
+  <span><math class="testfont"><mtext>&#x1D555;</mtext></math>=<span>1D555</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D556;</mtext></math>=<span>1D556</span></span>
-  <span><math class="testfont"><mtext>&#x1D557;</mtext></math>=<span>1D557</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D557;</mtext></math>=<span>1D557</span></span>
   <span><math class="testfont"><mtext>&#x1D558;</mtext></math>=<span>1D558</span></span>
   <span><math class="testfont"><mtext>&#x1D559;</mtext></math>=<span>1D559</span></span>
   <span><math class="testfont"><mtext>&#x1D55A;</mtext></math>=<span>1D55A</span></span>
@@ -80,9 +62,9 @@
   <span><math class="testfont"><mtext>&#x1D55C;</mtext></math>=<span>1D55C</span></span>
   <span><math class="testfont"><mtext>&#x1D55D;</mtext></math>=<span>1D55D</span></span>
   <span><math class="testfont"><mtext>&#x1D55E;</mtext></math>=<span>1D55E</span></span>
-  <span><math class="testfont"><mtext>&#x1D55F;</mtext></math>=<span>1D55F</span></span>
+  <span><math class="testfont"><mtext>&#x1D55F;</mtext></math>=<span>1D55F</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D560;</mtext></math>=<span>1D560</span></span>
-  <span><math class="testfont"><mtext>&#x1D561;</mtext></math>=<span>1D561</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D561;</mtext></math>=<span>1D561</span></span>
   <span><math class="testfont"><mtext>&#x1D562;</mtext></math>=<span>1D562</span></span>
   <span><math class="testfont"><mtext>&#x1D563;</mtext></math>=<span>1D563</span></span>
   <span><math class="testfont"><mtext>&#x1D564;</mtext></math>=<span>1D564</span></span>
@@ -90,25 +72,43 @@
   <span><math class="testfont"><mtext>&#x1D566;</mtext></math>=<span>1D566</span></span>
   <span><math class="testfont"><mtext>&#x1D567;</mtext></math>=<span>1D567</span></span>
   <span><math class="testfont"><mtext>&#x1D568;</mtext></math>=<span>1D568</span></span>
-  <span><math class="testfont"><mtext>&#x1D569;</mtext></math>=<span>1D569</span></span>
+  <span><math class="testfont"><mtext>&#x1D569;</mtext></math>=<span>1D569</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D56A;</mtext></math>=<span>1D56A</span></span>
-  <span><math class="testfont"><mtext>&#x1D56B;</mtext></math>=<span>1D56B</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D56B;</mtext></math>=<span>1D56B</span></span>
   <span><math class="testfont"><mtext>&#x1D7D8;</mtext></math>=<span>1D7D8</span></span>
   <span><math class="testfont"><mtext>&#x1D7D9;</mtext></math>=<span>1D7D9</span></span>
   <span><math class="testfont"><mtext>&#x1D7DA;</mtext></math>=<span>1D7DA</span></span>
-  <span><math class="testfont"><mtext>&#x1EEAE;</mtext></math>=<span>1EEAE</span></span>
-  <span><math class="testfont"><mtext>&#x1EEB4;</mtext></math>=<span>1EEB4</span></span>
-  <span><math class="testfont"><mtext>&#x1EEB1;</mtext></math>=<span>1EEB1</span></span>
+  <span><math class="testfont"><mtext>&#x1D7DB;</mtext></math>=<span>1D7DB</span></span>
+  <span><math class="testfont"><mtext>&#x1D7DC;</mtext></math>=<span>1D7DC</span></span>
+  <span><math class="testfont"><mtext>&#x1D7DD;</mtext></math>=<span>1D7DD</span></span>
   <span><math class="testfont"><mtext>&#x1D7DE;</mtext></math>=<span>1D7DE</span></span>
-  <span><math class="testfont"><mtext>&#x1D7DF;</mtext></math>=<span>1D7DF</span></span>
+  <span><math class="testfont"><mtext>&#x1D7DF;</mtext></math>=<span>1D7DF</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D7E0;</mtext></math>=<span>1D7E0</span></span>
-  <span><math class="testfont"><mtext>&#x1EEAF;</mtext></math>=<span>1EEAF</span></span><br/>
-  <span><math class="testfont"><mtext>&#x1D538;</mtext></math>=<span>1D538</span></span>
-  <span><math class="testfont"><mtext>&#x1D539;</mtext></math>=<span>1D539</span></span>
-  <span><math class="testfont"><mtext>&#x1D53B;</mtext></math>=<span>1D53B</span></span>
-  <span><math class="testfont"><mtext>&#x1D53C;</mtext></math>=<span>1D53C</span></span>
-  <span><math class="testfont"><mtext>&#x1D53D;</mtext></math>=<span>1D53D</span></span>
-  <span><math class="testfont"><mtext>&#x210D;</mtext></math>=<span>0210D</span></span>
-  <span><math class="testfont"><mtext>&#x1D541;</mtext></math>=<span>1D541</span></span>
+  <span><math class="testfont"><mtext>&#x1D7E1;</mtext></math>=<span>1D7E1</span></span>
+  <span><math class="testfont"><mtext>&#x1EEA1;</mtext></math>=<span>1EEA1</span></span>
+  <span><math class="testfont"><mtext>&#x1EEA2;</mtext></math>=<span>1EEA2</span></span>
+  <span><math class="testfont"><mtext>&#x1EEA3;</mtext></math>=<span>1EEA3</span></span>
+  <span><math class="testfont"><mtext>&#x1EEA5;</mtext></math>=<span>1EEA5</span></span>
+  <span><math class="testfont"><mtext>&#x1EEA6;</mtext></math>=<span>1EEA6</span></span>
+  <span><math class="testfont"><mtext>&#x1EEA7;</mtext></math>=<span>1EEA7</span></span>
+  <span><math class="testfont"><mtext>&#x1EEA8;</mtext></math>=<span>1EEA8</span></span>
+  <span><math class="testfont"><mtext>&#x1EEA9;</mtext></math>=<span>1EEA9</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1EEAB;</mtext></math>=<span>1EEAB</span></span>
+  <span><math class="testfont"><mtext>&#x1EEAC;</mtext></math>=<span>1EEAC</span></span>
+  <span><math class="testfont"><mtext>&#x1EEAD;</mtext></math>=<span>1EEAD</span></span>
+  <span><math class="testfont"><mtext>&#x1EEAE;</mtext></math>=<span>1EEAE</span></span>
+  <span><math class="testfont"><mtext>&#x1EEAF;</mtext></math>=<span>1EEAF</span></span>
+  <span><math class="testfont"><mtext>&#x1EEB0;</mtext></math>=<span>1EEB0</span></span>
+  <span><math class="testfont"><mtext>&#x1EEB1;</mtext></math>=<span>1EEB1</span></span>
+  <span><math class="testfont"><mtext>&#x1EEB2;</mtext></math>=<span>1EEB2</span></span>
+  <span><math class="testfont"><mtext>&#x1EEB3;</mtext></math>=<span>1EEB3</span></span>
+  <span><math class="testfont"><mtext>&#x1EEB4;</mtext></math>=<span>1EEB4</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1EEB5;</mtext></math>=<span>1EEB5</span></span>
+  <span><math class="testfont"><mtext>&#x1EEB6;</mtext></math>=<span>1EEB6</span></span>
+  <span><math class="testfont"><mtext>&#x1EEB7;</mtext></math>=<span>1EEB7</span></span>
+  <span><math class="testfont"><mtext>&#x1EEB8;</mtext></math>=<span>1EEB8</span></span>
+  <span><math class="testfont"><mtext>&#x1EEB9;</mtext></math>=<span>1EEB9</span></span>
+  <span><math class="testfont"><mtext>&#x1EEBA;</mtext></math>=<span>1EEBA</span></span>
+  <span><math class="testfont"><mtext>&#x1EEBB;</mtext></math>=<span>1EEBB</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-double-struck.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-double-struck.html
index 8592c21..335234a 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-double-struck.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-double-struck.html
@@ -29,36 +29,18 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x628;</mtext></math>=<span>1EEA1</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x62A;</mtext></math>=<span>1EEB5</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x62B;</mtext></math>=<span>1EEB6</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x62C;</mtext></math>=<span>1EEA2</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x62D;</mtext></math>=<span>1EEA7</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x62E;</mtext></math>=<span>1EEB7</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x62F;</mtext></math>=<span>1EEA3</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x630;</mtext></math>=<span>1EEB8</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x631;</mtext></math>=<span>1EEB3</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x632;</mtext></math>=<span>1EEA6</span></span><br/>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x33;</mtext></math>=<span>1D7DB</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x34;</mtext></math>=<span>1D7DC</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x35;</mtext></math>=<span>1D7DD</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x636;</mtext></math>=<span>1EEB9</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x637;</mtext></math>=<span>1EEA8</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x638;</mtext></math>=<span>1EEBA</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x39;</mtext></math>=<span>1D7E1</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x63A;</mtext></math>=<span>1EEBB</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x641;</mtext></math>=<span>1EEB0</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x642;</mtext></math>=<span>1EEB2</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x41;</mtext></math>=<span>1D538</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x42;</mtext></math>=<span>1D539</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x43;</mtext></math>=<span>02102</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x644;</mtext></math>=<span>1EEAB</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x645;</mtext></math>=<span>1EEAC</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x646;</mtext></math>=<span>1EEAD</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x44;</mtext></math>=<span>1D53B</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x45;</mtext></math>=<span>1D53C</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x46;</mtext></math>=<span>1D53D</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x47;</mtext></math>=<span>1D53E</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x648;</mtext></math>=<span>1EEA5</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x48;</mtext></math>=<span>0210D</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x49;</mtext></math>=<span>1D540</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x64A;</mtext></math>=<span>1EEA9</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x4A;</mtext></math>=<span>1D541</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x4B;</mtext></math>=<span>1D542</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x4C;</mtext></math>=<span>1D543</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x4C;</mtext></math>=<span>1D543</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x4D;</mtext></math>=<span>1D544</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x4E;</mtext></math>=<span>02115</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x4F;</mtext></math>=<span>1D546</span></span>
@@ -66,9 +48,9 @@
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x51;</mtext></math>=<span>0211A</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x52;</mtext></math>=<span>0211D</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x53;</mtext></math>=<span>1D54A</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x54;</mtext></math>=<span>1D54B</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x54;</mtext></math>=<span>1D54B</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x55;</mtext></math>=<span>1D54C</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x56;</mtext></math>=<span>1D54D</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x56;</mtext></math>=<span>1D54D</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x57;</mtext></math>=<span>1D54E</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x58;</mtext></math>=<span>1D54F</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x59;</mtext></math>=<span>1D550</span></span>
@@ -76,9 +58,9 @@
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x61;</mtext></math>=<span>1D552</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x62;</mtext></math>=<span>1D553</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x63;</mtext></math>=<span>1D554</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x64;</mtext></math>=<span>1D555</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x64;</mtext></math>=<span>1D555</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x65;</mtext></math>=<span>1D556</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x66;</mtext></math>=<span>1D557</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x66;</mtext></math>=<span>1D557</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x67;</mtext></math>=<span>1D558</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x68;</mtext></math>=<span>1D559</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x69;</mtext></math>=<span>1D55A</span></span>
@@ -86,9 +68,9 @@
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x6B;</mtext></math>=<span>1D55C</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x6C;</mtext></math>=<span>1D55D</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x6D;</mtext></math>=<span>1D55E</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x6E;</mtext></math>=<span>1D55F</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x6E;</mtext></math>=<span>1D55F</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x6F;</mtext></math>=<span>1D560</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x70;</mtext></math>=<span>1D561</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x70;</mtext></math>=<span>1D561</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x71;</mtext></math>=<span>1D562</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x72;</mtext></math>=<span>1D563</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x73;</mtext></math>=<span>1D564</span></span>
@@ -96,25 +78,43 @@
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x75;</mtext></math>=<span>1D566</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x76;</mtext></math>=<span>1D567</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x77;</mtext></math>=<span>1D568</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x78;</mtext></math>=<span>1D569</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x78;</mtext></math>=<span>1D569</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x79;</mtext></math>=<span>1D56A</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x7A;</mtext></math>=<span>1D56B</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x7A;</mtext></math>=<span>1D56B</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x30;</mtext></math>=<span>1D7D8</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x31;</mtext></math>=<span>1D7D9</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x32;</mtext></math>=<span>1D7DA</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x633;</mtext></math>=<span>1EEAE</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x634;</mtext></math>=<span>1EEB4</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x635;</mtext></math>=<span>1EEB1</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x33;</mtext></math>=<span>1D7DB</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x34;</mtext></math>=<span>1D7DC</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x35;</mtext></math>=<span>1D7DD</span></span>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x36;</mtext></math>=<span>1D7DE</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x37;</mtext></math>=<span>1D7DF</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x37;</mtext></math>=<span>1D7DF</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="double-struck">&#x38;</mtext></math>=<span>1D7E0</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x639;</mtext></math>=<span>1EEAF</span></span><br/>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x41;</mtext></math>=<span>1D538</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x42;</mtext></math>=<span>1D539</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x44;</mtext></math>=<span>1D53B</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x45;</mtext></math>=<span>1D53C</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x46;</mtext></math>=<span>1D53D</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x48;</mtext></math>=<span>0210D</span></span>
-  <span><math class="testfont"><mtext mathvariant="double-struck">&#x4A;</mtext></math>=<span>1D541</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x39;</mtext></math>=<span>1D7E1</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x628;</mtext></math>=<span>1EEA1</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x62C;</mtext></math>=<span>1EEA2</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x62F;</mtext></math>=<span>1EEA3</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x648;</mtext></math>=<span>1EEA5</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x632;</mtext></math>=<span>1EEA6</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x62D;</mtext></math>=<span>1EEA7</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x637;</mtext></math>=<span>1EEA8</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x64A;</mtext></math>=<span>1EEA9</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x644;</mtext></math>=<span>1EEAB</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x645;</mtext></math>=<span>1EEAC</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x646;</mtext></math>=<span>1EEAD</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x633;</mtext></math>=<span>1EEAE</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x639;</mtext></math>=<span>1EEAF</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x641;</mtext></math>=<span>1EEB0</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x635;</mtext></math>=<span>1EEB1</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x642;</mtext></math>=<span>1EEB2</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x631;</mtext></math>=<span>1EEB3</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x634;</mtext></math>=<span>1EEB4</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x62A;</mtext></math>=<span>1EEB5</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x62B;</mtext></math>=<span>1EEB6</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x62E;</mtext></math>=<span>1EEB7</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x630;</mtext></math>=<span>1EEB8</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x636;</mtext></math>=<span>1EEB9</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x638;</mtext></math>=<span>1EEBA</span></span>
+  <span><math class="testfont"><mtext mathvariant="double-struck">&#x63A;</mtext></math>=<span>1EEBB</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-initial-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-initial-ref.html
index 597277a..5d5b72a1 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-initial-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-initial-ref.html
@@ -23,25 +23,25 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext>&#x1EE30;</mtext></math>=<span>1EE30</span></span>
-  <span><math class="testfont"><mtext>&#x1EE32;</mtext></math>=<span>1EE32</span></span>
+  <span><math class="testfont"><mtext>&#x1EE21;</mtext></math>=<span>1EE21</span></span>
+  <span><math class="testfont"><mtext>&#x1EE22;</mtext></math>=<span>1EE22</span></span>
+  <span><math class="testfont"><mtext>&#x1EE24;</mtext></math>=<span>1EE24</span></span>
+  <span><math class="testfont"><mtext>&#x1EE27;</mtext></math>=<span>1EE27</span></span>
+  <span><math class="testfont"><mtext>&#x1EE29;</mtext></math>=<span>1EE29</span></span>
   <span><math class="testfont"><mtext>&#x1EE2A;</mtext></math>=<span>1EE2A</span></span>
   <span><math class="testfont"><mtext>&#x1EE2B;</mtext></math>=<span>1EE2B</span></span>
   <span><math class="testfont"><mtext>&#x1EE2C;</mtext></math>=<span>1EE2C</span></span>
   <span><math class="testfont"><mtext>&#x1EE2D;</mtext></math>=<span>1EE2D</span></span>
-  <span><math class="testfont"><mtext>&#x1EE24;</mtext></math>=<span>1EE24</span></span>
-  <span><math class="testfont"><mtext>&#x1EE21;</mtext></math>=<span>1EE21</span></span>
-  <span><math class="testfont"><mtext>&#x1EE29;</mtext></math>=<span>1EE29</span></span>
-  <span><math class="testfont"><mtext>&#x1EE36;</mtext></math>=<span>1EE36</span></span><br/>
-  <span><math class="testfont"><mtext>&#x1EE22;</mtext></math>=<span>1EE22</span></span>
-  <span><math class="testfont"><mtext>&#x1EE27;</mtext></math>=<span>1EE27</span></span>
-  <span><math class="testfont"><mtext>&#x1EE37;</mtext></math>=<span>1EE37</span></span>
-  <span><math class="testfont"><mtext>&#x1EE2E;</mtext></math>=<span>1EE2E</span></span>
-  <span><math class="testfont"><mtext>&#x1EE34;</mtext></math>=<span>1EE34</span></span>
-  <span><math class="testfont"><mtext>&#x1EE31;</mtext></math>=<span>1EE31</span></span>
-  <span><math class="testfont"><mtext>&#x1EE39;</mtext></math>=<span>1EE39</span></span>
+  <span><math class="testfont"><mtext>&#x1EE2E;</mtext></math>=<span>1EE2E</span></span><br/>
   <span><math class="testfont"><mtext>&#x1EE2F;</mtext></math>=<span>1EE2F</span></span>
-  <span><math class="testfont"><mtext>&#x1EE3B;</mtext></math>=<span>1EE3B</span></span>
-  <span><math class="testfont"><mtext>&#x1EE35;</mtext></math>=<span>1EE35</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1EE30;</mtext></math>=<span>1EE30</span></span>
+  <span><math class="testfont"><mtext>&#x1EE31;</mtext></math>=<span>1EE31</span></span>
+  <span><math class="testfont"><mtext>&#x1EE32;</mtext></math>=<span>1EE32</span></span>
+  <span><math class="testfont"><mtext>&#x1EE34;</mtext></math>=<span>1EE34</span></span>
+  <span><math class="testfont"><mtext>&#x1EE35;</mtext></math>=<span>1EE35</span></span>
+  <span><math class="testfont"><mtext>&#x1EE36;</mtext></math>=<span>1EE36</span></span>
+  <span><math class="testfont"><mtext>&#x1EE37;</mtext></math>=<span>1EE37</span></span>
+  <span><math class="testfont"><mtext>&#x1EE39;</mtext></math>=<span>1EE39</span></span>
+  <span><math class="testfont"><mtext>&#x1EE3B;</mtext></math>=<span>1EE3B</span></span><br/>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-initial.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-initial.html
index 5f54a5cf..3b0263a 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-initial.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-initial.html
@@ -29,25 +29,25 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x641;</mtext></math>=<span>1EE30</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x642;</mtext></math>=<span>1EE32</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x628;</mtext></math>=<span>1EE21</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x62C;</mtext></math>=<span>1EE22</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x647;</mtext></math>=<span>1EE24</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x62D;</mtext></math>=<span>1EE27</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x64A;</mtext></math>=<span>1EE29</span></span>
   <span><math class="testfont"><mtext mathvariant="initial">&#x643;</mtext></math>=<span>1EE2A</span></span>
   <span><math class="testfont"><mtext mathvariant="initial">&#x644;</mtext></math>=<span>1EE2B</span></span>
   <span><math class="testfont"><mtext mathvariant="initial">&#x645;</mtext></math>=<span>1EE2C</span></span>
   <span><math class="testfont"><mtext mathvariant="initial">&#x646;</mtext></math>=<span>1EE2D</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x647;</mtext></math>=<span>1EE24</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x628;</mtext></math>=<span>1EE21</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x64A;</mtext></math>=<span>1EE29</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x62B;</mtext></math>=<span>1EE36</span></span><br/>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x62C;</mtext></math>=<span>1EE22</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x62D;</mtext></math>=<span>1EE27</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x62E;</mtext></math>=<span>1EE37</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x633;</mtext></math>=<span>1EE2E</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x634;</mtext></math>=<span>1EE34</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x635;</mtext></math>=<span>1EE31</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x636;</mtext></math>=<span>1EE39</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x633;</mtext></math>=<span>1EE2E</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="initial">&#x639;</mtext></math>=<span>1EE2F</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x63A;</mtext></math>=<span>1EE3B</span></span>
-  <span><math class="testfont"><mtext mathvariant="initial">&#x62A;</mtext></math>=<span>1EE35</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x641;</mtext></math>=<span>1EE30</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x635;</mtext></math>=<span>1EE31</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x642;</mtext></math>=<span>1EE32</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x634;</mtext></math>=<span>1EE34</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x62A;</mtext></math>=<span>1EE35</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x62B;</mtext></math>=<span>1EE36</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x62E;</mtext></math>=<span>1EE37</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x636;</mtext></math>=<span>1EE39</span></span>
+  <span><math class="testfont"><mtext mathvariant="initial">&#x63A;</mtext></math>=<span>1EE3B</span></span><br/>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-italic-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-italic-ref.html
index f503794e..e2078c29 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-italic-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-italic-ref.html
@@ -23,68 +23,66 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext>&#x1D715;</mtext></math>=<span>1D715</span></span>
-  <span><math class="testfont"><mtext>&#x1D6FB;</mtext></math>=<span>1D6FB</span></span>
-  <span><math class="testfont"><mtext>&#x1D6A5;</mtext></math>=<span>1D6A5</span></span>
   <span><math class="testfont"><mtext>&#x1D434;</mtext></math>=<span>1D434</span></span>
   <span><math class="testfont"><mtext>&#x1D435;</mtext></math>=<span>1D435</span></span>
   <span><math class="testfont"><mtext>&#x1D436;</mtext></math>=<span>1D436</span></span>
   <span><math class="testfont"><mtext>&#x1D437;</mtext></math>=<span>1D437</span></span>
   <span><math class="testfont"><mtext>&#x1D438;</mtext></math>=<span>1D438</span></span>
   <span><math class="testfont"><mtext>&#x1D439;</mtext></math>=<span>1D439</span></span>
-  <span><math class="testfont"><mtext>&#x1D43A;</mtext></math>=<span>1D43A</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D43A;</mtext></math>=<span>1D43A</span></span>
   <span><math class="testfont"><mtext>&#x1D43B;</mtext></math>=<span>1D43B</span></span>
   <span><math class="testfont"><mtext>&#x1D43C;</mtext></math>=<span>1D43C</span></span>
-  <span><math class="testfont"><mtext>&#x1D43D;</mtext></math>=<span>1D43D</span></span>
+  <span><math class="testfont"><mtext>&#x1D43D;</mtext></math>=<span>1D43D</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D43E;</mtext></math>=<span>1D43E</span></span>
   <span><math class="testfont"><mtext>&#x1D43F;</mtext></math>=<span>1D43F</span></span>
   <span><math class="testfont"><mtext>&#x1D440;</mtext></math>=<span>1D440</span></span>
   <span><math class="testfont"><mtext>&#x1D441;</mtext></math>=<span>1D441</span></span>
   <span><math class="testfont"><mtext>&#x1D442;</mtext></math>=<span>1D442</span></span>
   <span><math class="testfont"><mtext>&#x1D443;</mtext></math>=<span>1D443</span></span>
-  <span><math class="testfont"><mtext>&#x1D444;</mtext></math>=<span>1D444</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D444;</mtext></math>=<span>1D444</span></span>
   <span><math class="testfont"><mtext>&#x1D445;</mtext></math>=<span>1D445</span></span>
   <span><math class="testfont"><mtext>&#x1D446;</mtext></math>=<span>1D446</span></span>
-  <span><math class="testfont"><mtext>&#x1D447;</mtext></math>=<span>1D447</span></span>
+  <span><math class="testfont"><mtext>&#x1D447;</mtext></math>=<span>1D447</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D448;</mtext></math>=<span>1D448</span></span>
   <span><math class="testfont"><mtext>&#x1D449;</mtext></math>=<span>1D449</span></span>
   <span><math class="testfont"><mtext>&#x1D44A;</mtext></math>=<span>1D44A</span></span>
   <span><math class="testfont"><mtext>&#x1D44B;</mtext></math>=<span>1D44B</span></span>
   <span><math class="testfont"><mtext>&#x1D44C;</mtext></math>=<span>1D44C</span></span>
   <span><math class="testfont"><mtext>&#x1D44D;</mtext></math>=<span>1D44D</span></span>
-  <span><math class="testfont"><mtext>&#x1D44E;</mtext></math>=<span>1D44E</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D44E;</mtext></math>=<span>1D44E</span></span>
   <span><math class="testfont"><mtext>&#x1D44F;</mtext></math>=<span>1D44F</span></span>
   <span><math class="testfont"><mtext>&#x1D450;</mtext></math>=<span>1D450</span></span>
-  <span><math class="testfont"><mtext>&#x1D451;</mtext></math>=<span>1D451</span></span>
+  <span><math class="testfont"><mtext>&#x1D451;</mtext></math>=<span>1D451</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D452;</mtext></math>=<span>1D452</span></span>
   <span><math class="testfont"><mtext>&#x1D453;</mtext></math>=<span>1D453</span></span>
   <span><math class="testfont"><mtext>&#x1D454;</mtext></math>=<span>1D454</span></span>
   <span><math class="testfont"><mtext>&#x210E;</mtext></math>=<span>0210E</span></span>
   <span><math class="testfont"><mtext>&#x1D456;</mtext></math>=<span>1D456</span></span>
   <span><math class="testfont"><mtext>&#x1D457;</mtext></math>=<span>1D457</span></span>
-  <span><math class="testfont"><mtext>&#x1D458;</mtext></math>=<span>1D458</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D458;</mtext></math>=<span>1D458</span></span>
   <span><math class="testfont"><mtext>&#x1D459;</mtext></math>=<span>1D459</span></span>
   <span><math class="testfont"><mtext>&#x1D45A;</mtext></math>=<span>1D45A</span></span>
-  <span><math class="testfont"><mtext>&#x1D45B;</mtext></math>=<span>1D45B</span></span>
+  <span><math class="testfont"><mtext>&#x1D45B;</mtext></math>=<span>1D45B</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D45C;</mtext></math>=<span>1D45C</span></span>
   <span><math class="testfont"><mtext>&#x1D45D;</mtext></math>=<span>1D45D</span></span>
   <span><math class="testfont"><mtext>&#x1D45E;</mtext></math>=<span>1D45E</span></span>
   <span><math class="testfont"><mtext>&#x1D45F;</mtext></math>=<span>1D45F</span></span>
   <span><math class="testfont"><mtext>&#x1D460;</mtext></math>=<span>1D460</span></span>
   <span><math class="testfont"><mtext>&#x1D461;</mtext></math>=<span>1D461</span></span>
-  <span><math class="testfont"><mtext>&#x1D462;</mtext></math>=<span>1D462</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D462;</mtext></math>=<span>1D462</span></span>
   <span><math class="testfont"><mtext>&#x1D463;</mtext></math>=<span>1D463</span></span>
   <span><math class="testfont"><mtext>&#x1D464;</mtext></math>=<span>1D464</span></span>
-  <span><math class="testfont"><mtext>&#x1D465;</mtext></math>=<span>1D465</span></span>
+  <span><math class="testfont"><mtext>&#x1D465;</mtext></math>=<span>1D465</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D466;</mtext></math>=<span>1D466</span></span>
   <span><math class="testfont"><mtext>&#x1D467;</mtext></math>=<span>1D467</span></span>
   <span><math class="testfont"><mtext>&#x1D6A4;</mtext></math>=<span>1D6A4</span></span>
+  <span><math class="testfont"><mtext>&#x1D6A5;</mtext></math>=<span>1D6A5</span></span>
   <span><math class="testfont"><mtext>&#x1D6E2;</mtext></math>=<span>1D6E2</span></span>
   <span><math class="testfont"><mtext>&#x1D6E3;</mtext></math>=<span>1D6E3</span></span>
   <span><math class="testfont"><mtext>&#x1D6E4;</mtext></math>=<span>1D6E4</span></span>
-  <span><math class="testfont"><mtext>&#x1D6E5;</mtext></math>=<span>1D6E5</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D6E5;</mtext></math>=<span>1D6E5</span></span>
   <span><math class="testfont"><mtext>&#x1D6E6;</mtext></math>=<span>1D6E6</span></span>
-  <span><math class="testfont"><mtext>&#x1D6E7;</mtext></math>=<span>1D6E7</span></span>
+  <span><math class="testfont"><mtext>&#x1D6E7;</mtext></math>=<span>1D6E7</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D6E8;</mtext></math>=<span>1D6E8</span></span>
   <span><math class="testfont"><mtext>&#x1D6E9;</mtext></math>=<span>1D6E9</span></span>
   <span><math class="testfont"><mtext>&#x1D6EA;</mtext></math>=<span>1D6EA</span></span>
@@ -92,17 +90,19 @@
   <span><math class="testfont"><mtext>&#x1D6EC;</mtext></math>=<span>1D6EC</span></span>
   <span><math class="testfont"><mtext>&#x1D6ED;</mtext></math>=<span>1D6ED</span></span>
   <span><math class="testfont"><mtext>&#x1D6EE;</mtext></math>=<span>1D6EE</span></span>
-  <span><math class="testfont"><mtext>&#x1D6EF;</mtext></math>=<span>1D6EF</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D6EF;</mtext></math>=<span>1D6EF</span></span>
   <span><math class="testfont"><mtext>&#x1D6F0;</mtext></math>=<span>1D6F0</span></span>
-  <span><math class="testfont"><mtext>&#x1D6F1;</mtext></math>=<span>1D6F1</span></span>
+  <span><math class="testfont"><mtext>&#x1D6F1;</mtext></math>=<span>1D6F1</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D6F2;</mtext></math>=<span>1D6F2</span></span>
+  <span><math class="testfont"><mtext>&#x1D6F3;</mtext></math>=<span>1D6F3</span></span>
   <span><math class="testfont"><mtext>&#x1D6F4;</mtext></math>=<span>1D6F4</span></span>
   <span><math class="testfont"><mtext>&#x1D6F5;</mtext></math>=<span>1D6F5</span></span>
   <span><math class="testfont"><mtext>&#x1D6F6;</mtext></math>=<span>1D6F6</span></span>
   <span><math class="testfont"><mtext>&#x1D6F7;</mtext></math>=<span>1D6F7</span></span>
   <span><math class="testfont"><mtext>&#x1D6F8;</mtext></math>=<span>1D6F8</span></span>
   <span><math class="testfont"><mtext>&#x1D6F9;</mtext></math>=<span>1D6F9</span></span>
-  <span><math class="testfont"><mtext>&#x1D6FA;</mtext></math>=<span>1D6FA</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D6FA;</mtext></math>=<span>1D6FA</span></span>
+  <span><math class="testfont"><mtext>&#x1D6FB;</mtext></math>=<span>1D6FB</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D6FC;</mtext></math>=<span>1D6FC</span></span>
   <span><math class="testfont"><mtext>&#x1D6FD;</mtext></math>=<span>1D6FD</span></span>
   <span><math class="testfont"><mtext>&#x1D6FE;</mtext></math>=<span>1D6FE</span></span>
@@ -128,12 +128,12 @@
   <span><math class="testfont"><mtext>&#x1D712;</mtext></math>=<span>1D712</span></span>
   <span><math class="testfont"><mtext>&#x1D713;</mtext></math>=<span>1D713</span></span>
   <span><math class="testfont"><mtext>&#x1D714;</mtext></math>=<span>1D714</span></span>
-  <span><math class="testfont"><mtext>&#x1D717;</mtext></math>=<span>1D717</span></span>
-  <span><math class="testfont"><mtext>&#x1D719;</mtext></math>=<span>1D719</span></span>
-  <span><math class="testfont"><mtext>&#x1D71B;</mtext></math>=<span>1D71B</span></span>
-  <span><math class="testfont"><mtext>&#x1D718;</mtext></math>=<span>1D718</span></span>
-  <span><math class="testfont"><mtext>&#x1D71A;</mtext></math>=<span>1D71A</span></span><br/>
-  <span><math class="testfont"><mtext>&#x1D6F3;</mtext></math>=<span>1D6F3</span></span>
+  <span><math class="testfont"><mtext>&#x1D715;</mtext></math>=<span>1D715</span></span>
   <span><math class="testfont"><mtext>&#x1D716;</mtext></math>=<span>1D716</span></span>
+  <span><math class="testfont"><mtext>&#x1D717;</mtext></math>=<span>1D717</span></span>
+  <span><math class="testfont"><mtext>&#x1D718;</mtext></math>=<span>1D718</span></span>
+  <span><math class="testfont"><mtext>&#x1D719;</mtext></math>=<span>1D719</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D71A;</mtext></math>=<span>1D71A</span></span>
+  <span><math class="testfont"><mtext>&#x1D71B;</mtext></math>=<span>1D71B</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-italic.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-italic.html
index f22f23f..1e6aa65 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-italic.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-italic.html
@@ -29,68 +29,66 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x2202;</mtext></math>=<span>1D715</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x2207;</mtext></math>=<span>1D6FB</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x237;</mtext></math>=<span>1D6A5</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x41;</mtext></math>=<span>1D434</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x42;</mtext></math>=<span>1D435</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x43;</mtext></math>=<span>1D436</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x44;</mtext></math>=<span>1D437</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x45;</mtext></math>=<span>1D438</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x46;</mtext></math>=<span>1D439</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x47;</mtext></math>=<span>1D43A</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x47;</mtext></math>=<span>1D43A</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x48;</mtext></math>=<span>1D43B</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x49;</mtext></math>=<span>1D43C</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x4A;</mtext></math>=<span>1D43D</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x4A;</mtext></math>=<span>1D43D</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="italic">&#x4B;</mtext></math>=<span>1D43E</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x4C;</mtext></math>=<span>1D43F</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x4D;</mtext></math>=<span>1D440</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x4E;</mtext></math>=<span>1D441</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x4F;</mtext></math>=<span>1D442</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x50;</mtext></math>=<span>1D443</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x51;</mtext></math>=<span>1D444</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x51;</mtext></math>=<span>1D444</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x52;</mtext></math>=<span>1D445</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x53;</mtext></math>=<span>1D446</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x54;</mtext></math>=<span>1D447</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x54;</mtext></math>=<span>1D447</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="italic">&#x55;</mtext></math>=<span>1D448</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x56;</mtext></math>=<span>1D449</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x57;</mtext></math>=<span>1D44A</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x58;</mtext></math>=<span>1D44B</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x59;</mtext></math>=<span>1D44C</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x5A;</mtext></math>=<span>1D44D</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x61;</mtext></math>=<span>1D44E</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x61;</mtext></math>=<span>1D44E</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x62;</mtext></math>=<span>1D44F</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x63;</mtext></math>=<span>1D450</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x64;</mtext></math>=<span>1D451</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x64;</mtext></math>=<span>1D451</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="italic">&#x65;</mtext></math>=<span>1D452</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x66;</mtext></math>=<span>1D453</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x67;</mtext></math>=<span>1D454</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x68;</mtext></math>=<span>0210E</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x69;</mtext></math>=<span>1D456</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x6A;</mtext></math>=<span>1D457</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x6B;</mtext></math>=<span>1D458</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x6B;</mtext></math>=<span>1D458</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x6C;</mtext></math>=<span>1D459</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x6D;</mtext></math>=<span>1D45A</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x6E;</mtext></math>=<span>1D45B</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x6E;</mtext></math>=<span>1D45B</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="italic">&#x6F;</mtext></math>=<span>1D45C</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x70;</mtext></math>=<span>1D45D</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x71;</mtext></math>=<span>1D45E</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x72;</mtext></math>=<span>1D45F</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x73;</mtext></math>=<span>1D460</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x74;</mtext></math>=<span>1D461</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x75;</mtext></math>=<span>1D462</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x75;</mtext></math>=<span>1D462</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x76;</mtext></math>=<span>1D463</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x77;</mtext></math>=<span>1D464</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x78;</mtext></math>=<span>1D465</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x78;</mtext></math>=<span>1D465</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="italic">&#x79;</mtext></math>=<span>1D466</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x7A;</mtext></math>=<span>1D467</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x131;</mtext></math>=<span>1D6A4</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x237;</mtext></math>=<span>1D6A5</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x391;</mtext></math>=<span>1D6E2</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x392;</mtext></math>=<span>1D6E3</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x393;</mtext></math>=<span>1D6E4</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x394;</mtext></math>=<span>1D6E5</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x394;</mtext></math>=<span>1D6E5</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x395;</mtext></math>=<span>1D6E6</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x396;</mtext></math>=<span>1D6E7</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x396;</mtext></math>=<span>1D6E7</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="italic">&#x397;</mtext></math>=<span>1D6E8</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x398;</mtext></math>=<span>1D6E9</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x399;</mtext></math>=<span>1D6EA</span></span>
@@ -98,17 +96,19 @@
   <span><math class="testfont"><mtext mathvariant="italic">&#x39B;</mtext></math>=<span>1D6EC</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x39C;</mtext></math>=<span>1D6ED</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x39D;</mtext></math>=<span>1D6EE</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x39E;</mtext></math>=<span>1D6EF</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x39E;</mtext></math>=<span>1D6EF</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x39F;</mtext></math>=<span>1D6F0</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x3A0;</mtext></math>=<span>1D6F1</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x3A0;</mtext></math>=<span>1D6F1</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3A1;</mtext></math>=<span>1D6F2</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x3F4;</mtext></math>=<span>1D6F3</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3A3;</mtext></math>=<span>1D6F4</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3A4;</mtext></math>=<span>1D6F5</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3A5;</mtext></math>=<span>1D6F6</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3A6;</mtext></math>=<span>1D6F7</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3A7;</mtext></math>=<span>1D6F8</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3A8;</mtext></math>=<span>1D6F9</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x3A9;</mtext></math>=<span>1D6FA</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x3A9;</mtext></math>=<span>1D6FA</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x2207;</mtext></math>=<span>1D6FB</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3B1;</mtext></math>=<span>1D6FC</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3B2;</mtext></math>=<span>1D6FD</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3B3;</mtext></math>=<span>1D6FE</span></span>
@@ -134,12 +134,12 @@
   <span><math class="testfont"><mtext mathvariant="italic">&#x3C7;</mtext></math>=<span>1D712</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3C8;</mtext></math>=<span>1D713</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3C9;</mtext></math>=<span>1D714</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x3D1;</mtext></math>=<span>1D717</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x3D5;</mtext></math>=<span>1D719</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x3D6;</mtext></math>=<span>1D71B</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x3F0;</mtext></math>=<span>1D718</span></span>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x3F1;</mtext></math>=<span>1D71A</span></span><br/>
-  <span><math class="testfont"><mtext mathvariant="italic">&#x3F4;</mtext></math>=<span>1D6F3</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x2202;</mtext></math>=<span>1D715</span></span>
   <span><math class="testfont"><mtext mathvariant="italic">&#x3F5;</mtext></math>=<span>1D716</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x3D1;</mtext></math>=<span>1D717</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x3F0;</mtext></math>=<span>1D718</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x3D5;</mtext></math>=<span>1D719</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x3F1;</mtext></math>=<span>1D71A</span></span>
+  <span><math class="testfont"><mtext mathvariant="italic">&#x3D6;</mtext></math>=<span>1D71B</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-looped-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-looped-ref.html
index 12ccb49..f00e5d8 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-looped-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-looped-ref.html
@@ -25,30 +25,30 @@
   <p>Test passes if all the equalities below are true.</p>
   <span><math class="testfont"><mtext>&#x1EE80;</mtext></math>=<span>1EE80</span></span>
   <span><math class="testfont"><mtext>&#x1EE81;</mtext></math>=<span>1EE81</span></span>
-  <span><math class="testfont"><mtext>&#x1EE95;</mtext></math>=<span>1EE95</span></span>
-  <span><math class="testfont"><mtext>&#x1EE96;</mtext></math>=<span>1EE96</span></span>
   <span><math class="testfont"><mtext>&#x1EE82;</mtext></math>=<span>1EE82</span></span>
-  <span><math class="testfont"><mtext>&#x1EE87;</mtext></math>=<span>1EE87</span></span>
-  <span><math class="testfont"><mtext>&#x1EE97;</mtext></math>=<span>1EE97</span></span>
   <span><math class="testfont"><mtext>&#x1EE83;</mtext></math>=<span>1EE83</span></span>
-  <span><math class="testfont"><mtext>&#x1EE98;</mtext></math>=<span>1EE98</span></span>
-  <span><math class="testfont"><mtext>&#x1EE93;</mtext></math>=<span>1EE93</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1EE84;</mtext></math>=<span>1EE84</span></span>
+  <span><math class="testfont"><mtext>&#x1EE85;</mtext></math>=<span>1EE85</span></span>
   <span><math class="testfont"><mtext>&#x1EE86;</mtext></math>=<span>1EE86</span></span>
-  <span><math class="testfont"><mtext>&#x1EE8E;</mtext></math>=<span>1EE8E</span></span>
-  <span><math class="testfont"><mtext>&#x1EE94;</mtext></math>=<span>1EE94</span></span>
-  <span><math class="testfont"><mtext>&#x1EE91;</mtext></math>=<span>1EE91</span></span>
-  <span><math class="testfont"><mtext>&#x1EE99;</mtext></math>=<span>1EE99</span></span>
+  <span><math class="testfont"><mtext>&#x1EE87;</mtext></math>=<span>1EE87</span></span>
   <span><math class="testfont"><mtext>&#x1EE88;</mtext></math>=<span>1EE88</span></span>
-  <span><math class="testfont"><mtext>&#x1EE9A;</mtext></math>=<span>1EE9A</span></span>
-  <span><math class="testfont"><mtext>&#x1EE8F;</mtext></math>=<span>1EE8F</span></span>
-  <span><math class="testfont"><mtext>&#x1EE9B;</mtext></math>=<span>1EE9B</span></span>
-  <span><math class="testfont"><mtext>&#x1EE90;</mtext></math>=<span>1EE90</span></span><br/>
-  <span><math class="testfont"><mtext>&#x1EE92;</mtext></math>=<span>1EE92</span></span>
+  <span><math class="testfont"><mtext>&#x1EE89;</mtext></math>=<span>1EE89</span></span><br/>
   <span><math class="testfont"><mtext>&#x1EE8B;</mtext></math>=<span>1EE8B</span></span>
   <span><math class="testfont"><mtext>&#x1EE8C;</mtext></math>=<span>1EE8C</span></span>
   <span><math class="testfont"><mtext>&#x1EE8D;</mtext></math>=<span>1EE8D</span></span>
-  <span><math class="testfont"><mtext>&#x1EE84;</mtext></math>=<span>1EE84</span></span>
-  <span><math class="testfont"><mtext>&#x1EE85;</mtext></math>=<span>1EE85</span></span>
-  <span><math class="testfont"><mtext>&#x1EE89;</mtext></math>=<span>1EE89</span></span>
+  <span><math class="testfont"><mtext>&#x1EE8E;</mtext></math>=<span>1EE8E</span></span>
+  <span><math class="testfont"><mtext>&#x1EE8F;</mtext></math>=<span>1EE8F</span></span>
+  <span><math class="testfont"><mtext>&#x1EE90;</mtext></math>=<span>1EE90</span></span>
+  <span><math class="testfont"><mtext>&#x1EE91;</mtext></math>=<span>1EE91</span></span>
+  <span><math class="testfont"><mtext>&#x1EE92;</mtext></math>=<span>1EE92</span></span>
+  <span><math class="testfont"><mtext>&#x1EE93;</mtext></math>=<span>1EE93</span></span>
+  <span><math class="testfont"><mtext>&#x1EE94;</mtext></math>=<span>1EE94</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1EE95;</mtext></math>=<span>1EE95</span></span>
+  <span><math class="testfont"><mtext>&#x1EE96;</mtext></math>=<span>1EE96</span></span>
+  <span><math class="testfont"><mtext>&#x1EE97;</mtext></math>=<span>1EE97</span></span>
+  <span><math class="testfont"><mtext>&#x1EE98;</mtext></math>=<span>1EE98</span></span>
+  <span><math class="testfont"><mtext>&#x1EE99;</mtext></math>=<span>1EE99</span></span>
+  <span><math class="testfont"><mtext>&#x1EE9A;</mtext></math>=<span>1EE9A</span></span>
+  <span><math class="testfont"><mtext>&#x1EE9B;</mtext></math>=<span>1EE9B</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-looped.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-looped.html
index 1e9b4f1..b208849 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-looped.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-looped.html
@@ -31,30 +31,30 @@
   <p>Test passes if all the equalities below are true.</p>
   <span><math class="testfont"><mtext mathvariant="looped">&#x627;</mtext></math>=<span>1EE80</span></span>
   <span><math class="testfont"><mtext mathvariant="looped">&#x628;</mtext></math>=<span>1EE81</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x62A;</mtext></math>=<span>1EE95</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x62B;</mtext></math>=<span>1EE96</span></span>
   <span><math class="testfont"><mtext mathvariant="looped">&#x62C;</mtext></math>=<span>1EE82</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x62D;</mtext></math>=<span>1EE87</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x62E;</mtext></math>=<span>1EE97</span></span>
   <span><math class="testfont"><mtext mathvariant="looped">&#x62F;</mtext></math>=<span>1EE83</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x630;</mtext></math>=<span>1EE98</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x631;</mtext></math>=<span>1EE93</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x647;</mtext></math>=<span>1EE84</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x648;</mtext></math>=<span>1EE85</span></span>
   <span><math class="testfont"><mtext mathvariant="looped">&#x632;</mtext></math>=<span>1EE86</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x633;</mtext></math>=<span>1EE8E</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x634;</mtext></math>=<span>1EE94</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x635;</mtext></math>=<span>1EE91</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x636;</mtext></math>=<span>1EE99</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x62D;</mtext></math>=<span>1EE87</span></span>
   <span><math class="testfont"><mtext mathvariant="looped">&#x637;</mtext></math>=<span>1EE88</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x638;</mtext></math>=<span>1EE9A</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x639;</mtext></math>=<span>1EE8F</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x63A;</mtext></math>=<span>1EE9B</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x641;</mtext></math>=<span>1EE90</span></span><br/>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x642;</mtext></math>=<span>1EE92</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x64A;</mtext></math>=<span>1EE89</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="looped">&#x644;</mtext></math>=<span>1EE8B</span></span>
   <span><math class="testfont"><mtext mathvariant="looped">&#x645;</mtext></math>=<span>1EE8C</span></span>
   <span><math class="testfont"><mtext mathvariant="looped">&#x646;</mtext></math>=<span>1EE8D</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x647;</mtext></math>=<span>1EE84</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x648;</mtext></math>=<span>1EE85</span></span>
-  <span><math class="testfont"><mtext mathvariant="looped">&#x64A;</mtext></math>=<span>1EE89</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x633;</mtext></math>=<span>1EE8E</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x639;</mtext></math>=<span>1EE8F</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x641;</mtext></math>=<span>1EE90</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x635;</mtext></math>=<span>1EE91</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x642;</mtext></math>=<span>1EE92</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x631;</mtext></math>=<span>1EE93</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x634;</mtext></math>=<span>1EE94</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x62A;</mtext></math>=<span>1EE95</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x62B;</mtext></math>=<span>1EE96</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x62E;</mtext></math>=<span>1EE97</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x630;</mtext></math>=<span>1EE98</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x636;</mtext></math>=<span>1EE99</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x638;</mtext></math>=<span>1EE9A</span></span>
+  <span><math class="testfont"><mtext mathvariant="looped">&#x63A;</mtext></math>=<span>1EE9B</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-monospace-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-monospace-ref.html
index bfa672a..1d4a0c0 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-monospace-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-monospace-ref.html
@@ -23,16 +23,6 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext>&#x1D7F6;</mtext></math>=<span>1D7F6</span></span>
-  <span><math class="testfont"><mtext>&#x1D7F7;</mtext></math>=<span>1D7F7</span></span>
-  <span><math class="testfont"><mtext>&#x1D7F8;</mtext></math>=<span>1D7F8</span></span>
-  <span><math class="testfont"><mtext>&#x1D7F9;</mtext></math>=<span>1D7F9</span></span>
-  <span><math class="testfont"><mtext>&#x1D7FA;</mtext></math>=<span>1D7FA</span></span>
-  <span><math class="testfont"><mtext>&#x1D7FB;</mtext></math>=<span>1D7FB</span></span>
-  <span><math class="testfont"><mtext>&#x1D7FC;</mtext></math>=<span>1D7FC</span></span>
-  <span><math class="testfont"><mtext>&#x1D7FD;</mtext></math>=<span>1D7FD</span></span>
-  <span><math class="testfont"><mtext>&#x1D7FE;</mtext></math>=<span>1D7FE</span></span>
-  <span><math class="testfont"><mtext>&#x1D7FF;</mtext></math>=<span>1D7FF</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D670;</mtext></math>=<span>1D670</span></span>
   <span><math class="testfont"><mtext>&#x1D671;</mtext></math>=<span>1D671</span></span>
   <span><math class="testfont"><mtext>&#x1D672;</mtext></math>=<span>1D672</span></span>
@@ -85,5 +75,15 @@
   <span><math class="testfont"><mtext>&#x1D6A1;</mtext></math>=<span>1D6A1</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D6A2;</mtext></math>=<span>1D6A2</span></span>
   <span><math class="testfont"><mtext>&#x1D6A3;</mtext></math>=<span>1D6A3</span></span>
+  <span><math class="testfont"><mtext>&#x1D7F6;</mtext></math>=<span>1D7F6</span></span>
+  <span><math class="testfont"><mtext>&#x1D7F7;</mtext></math>=<span>1D7F7</span></span>
+  <span><math class="testfont"><mtext>&#x1D7F8;</mtext></math>=<span>1D7F8</span></span>
+  <span><math class="testfont"><mtext>&#x1D7F9;</mtext></math>=<span>1D7F9</span></span>
+  <span><math class="testfont"><mtext>&#x1D7FA;</mtext></math>=<span>1D7FA</span></span>
+  <span><math class="testfont"><mtext>&#x1D7FB;</mtext></math>=<span>1D7FB</span></span>
+  <span><math class="testfont"><mtext>&#x1D7FC;</mtext></math>=<span>1D7FC</span></span>
+  <span><math class="testfont"><mtext>&#x1D7FD;</mtext></math>=<span>1D7FD</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D7FE;</mtext></math>=<span>1D7FE</span></span>
+  <span><math class="testfont"><mtext>&#x1D7FF;</mtext></math>=<span>1D7FF</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-monospace.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-monospace.html
index a1a5c2d3..ad5541f 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-monospace.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-monospace.html
@@ -29,16 +29,6 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext mathvariant="monospace">&#x30;</mtext></math>=<span>1D7F6</span></span>
-  <span><math class="testfont"><mtext mathvariant="monospace">&#x31;</mtext></math>=<span>1D7F7</span></span>
-  <span><math class="testfont"><mtext mathvariant="monospace">&#x32;</mtext></math>=<span>1D7F8</span></span>
-  <span><math class="testfont"><mtext mathvariant="monospace">&#x33;</mtext></math>=<span>1D7F9</span></span>
-  <span><math class="testfont"><mtext mathvariant="monospace">&#x34;</mtext></math>=<span>1D7FA</span></span>
-  <span><math class="testfont"><mtext mathvariant="monospace">&#x35;</mtext></math>=<span>1D7FB</span></span>
-  <span><math class="testfont"><mtext mathvariant="monospace">&#x36;</mtext></math>=<span>1D7FC</span></span>
-  <span><math class="testfont"><mtext mathvariant="monospace">&#x37;</mtext></math>=<span>1D7FD</span></span>
-  <span><math class="testfont"><mtext mathvariant="monospace">&#x38;</mtext></math>=<span>1D7FE</span></span>
-  <span><math class="testfont"><mtext mathvariant="monospace">&#x39;</mtext></math>=<span>1D7FF</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="monospace">&#x41;</mtext></math>=<span>1D670</span></span>
   <span><math class="testfont"><mtext mathvariant="monospace">&#x42;</mtext></math>=<span>1D671</span></span>
   <span><math class="testfont"><mtext mathvariant="monospace">&#x43;</mtext></math>=<span>1D672</span></span>
@@ -91,5 +81,15 @@
   <span><math class="testfont"><mtext mathvariant="monospace">&#x78;</mtext></math>=<span>1D6A1</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="monospace">&#x79;</mtext></math>=<span>1D6A2</span></span>
   <span><math class="testfont"><mtext mathvariant="monospace">&#x7A;</mtext></math>=<span>1D6A3</span></span>
+  <span><math class="testfont"><mtext mathvariant="monospace">&#x30;</mtext></math>=<span>1D7F6</span></span>
+  <span><math class="testfont"><mtext mathvariant="monospace">&#x31;</mtext></math>=<span>1D7F7</span></span>
+  <span><math class="testfont"><mtext mathvariant="monospace">&#x32;</mtext></math>=<span>1D7F8</span></span>
+  <span><math class="testfont"><mtext mathvariant="monospace">&#x33;</mtext></math>=<span>1D7F9</span></span>
+  <span><math class="testfont"><mtext mathvariant="monospace">&#x34;</mtext></math>=<span>1D7FA</span></span>
+  <span><math class="testfont"><mtext mathvariant="monospace">&#x35;</mtext></math>=<span>1D7FB</span></span>
+  <span><math class="testfont"><mtext mathvariant="monospace">&#x36;</mtext></math>=<span>1D7FC</span></span>
+  <span><math class="testfont"><mtext mathvariant="monospace">&#x37;</mtext></math>=<span>1D7FD</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="monospace">&#x38;</mtext></math>=<span>1D7FE</span></span>
+  <span><math class="testfont"><mtext mathvariant="monospace">&#x39;</mtext></math>=<span>1D7FF</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif-bold-italic-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif-bold-italic-ref.html
index 2b992af..f918db9 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif-bold-italic-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif-bold-italic-ref.html
@@ -23,8 +23,6 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext>&#x1D7C3;</mtext></math>=<span>1D7C3</span></span>
-  <span><math class="testfont"><mtext>&#x1D7A9;</mtext></math>=<span>1D7A9</span></span>
   <span><math class="testfont"><mtext>&#x1D63C;</mtext></math>=<span>1D63C</span></span>
   <span><math class="testfont"><mtext>&#x1D63D;</mtext></math>=<span>1D63D</span></span>
   <span><math class="testfont"><mtext>&#x1D63E;</mtext></math>=<span>1D63E</span></span>
@@ -32,9 +30,9 @@
   <span><math class="testfont"><mtext>&#x1D640;</mtext></math>=<span>1D640</span></span>
   <span><math class="testfont"><mtext>&#x1D641;</mtext></math>=<span>1D641</span></span>
   <span><math class="testfont"><mtext>&#x1D642;</mtext></math>=<span>1D642</span></span>
-  <span><math class="testfont"><mtext>&#x1D643;</mtext></math>=<span>1D643</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D643;</mtext></math>=<span>1D643</span></span>
   <span><math class="testfont"><mtext>&#x1D644;</mtext></math>=<span>1D644</span></span>
-  <span><math class="testfont"><mtext>&#x1D645;</mtext></math>=<span>1D645</span></span>
+  <span><math class="testfont"><mtext>&#x1D645;</mtext></math>=<span>1D645</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D646;</mtext></math>=<span>1D646</span></span>
   <span><math class="testfont"><mtext>&#x1D647;</mtext></math>=<span>1D647</span></span>
   <span><math class="testfont"><mtext>&#x1D648;</mtext></math>=<span>1D648</span></span>
@@ -42,9 +40,9 @@
   <span><math class="testfont"><mtext>&#x1D64A;</mtext></math>=<span>1D64A</span></span>
   <span><math class="testfont"><mtext>&#x1D64B;</mtext></math>=<span>1D64B</span></span>
   <span><math class="testfont"><mtext>&#x1D64C;</mtext></math>=<span>1D64C</span></span>
-  <span><math class="testfont"><mtext>&#x1D64D;</mtext></math>=<span>1D64D</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D64D;</mtext></math>=<span>1D64D</span></span>
   <span><math class="testfont"><mtext>&#x1D64E;</mtext></math>=<span>1D64E</span></span>
-  <span><math class="testfont"><mtext>&#x1D64F;</mtext></math>=<span>1D64F</span></span>
+  <span><math class="testfont"><mtext>&#x1D64F;</mtext></math>=<span>1D64F</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D650;</mtext></math>=<span>1D650</span></span>
   <span><math class="testfont"><mtext>&#x1D651;</mtext></math>=<span>1D651</span></span>
   <span><math class="testfont"><mtext>&#x1D652;</mtext></math>=<span>1D652</span></span>
@@ -52,9 +50,9 @@
   <span><math class="testfont"><mtext>&#x1D654;</mtext></math>=<span>1D654</span></span>
   <span><math class="testfont"><mtext>&#x1D655;</mtext></math>=<span>1D655</span></span>
   <span><math class="testfont"><mtext>&#x1D656;</mtext></math>=<span>1D656</span></span>
-  <span><math class="testfont"><mtext>&#x1D657;</mtext></math>=<span>1D657</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D657;</mtext></math>=<span>1D657</span></span>
   <span><math class="testfont"><mtext>&#x1D658;</mtext></math>=<span>1D658</span></span>
-  <span><math class="testfont"><mtext>&#x1D659;</mtext></math>=<span>1D659</span></span>
+  <span><math class="testfont"><mtext>&#x1D659;</mtext></math>=<span>1D659</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D65A;</mtext></math>=<span>1D65A</span></span>
   <span><math class="testfont"><mtext>&#x1D65B;</mtext></math>=<span>1D65B</span></span>
   <span><math class="testfont"><mtext>&#x1D65C;</mtext></math>=<span>1D65C</span></span>
@@ -62,9 +60,9 @@
   <span><math class="testfont"><mtext>&#x1D65E;</mtext></math>=<span>1D65E</span></span>
   <span><math class="testfont"><mtext>&#x1D65F;</mtext></math>=<span>1D65F</span></span>
   <span><math class="testfont"><mtext>&#x1D660;</mtext></math>=<span>1D660</span></span>
-  <span><math class="testfont"><mtext>&#x1D661;</mtext></math>=<span>1D661</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D661;</mtext></math>=<span>1D661</span></span>
   <span><math class="testfont"><mtext>&#x1D662;</mtext></math>=<span>1D662</span></span>
-  <span><math class="testfont"><mtext>&#x1D663;</mtext></math>=<span>1D663</span></span>
+  <span><math class="testfont"><mtext>&#x1D663;</mtext></math>=<span>1D663</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D664;</mtext></math>=<span>1D664</span></span>
   <span><math class="testfont"><mtext>&#x1D665;</mtext></math>=<span>1D665</span></span>
   <span><math class="testfont"><mtext>&#x1D666;</mtext></math>=<span>1D666</span></span>
@@ -72,9 +70,9 @@
   <span><math class="testfont"><mtext>&#x1D668;</mtext></math>=<span>1D668</span></span>
   <span><math class="testfont"><mtext>&#x1D669;</mtext></math>=<span>1D669</span></span>
   <span><math class="testfont"><mtext>&#x1D66A;</mtext></math>=<span>1D66A</span></span>
-  <span><math class="testfont"><mtext>&#x1D66B;</mtext></math>=<span>1D66B</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D66B;</mtext></math>=<span>1D66B</span></span>
   <span><math class="testfont"><mtext>&#x1D66C;</mtext></math>=<span>1D66C</span></span>
-  <span><math class="testfont"><mtext>&#x1D66D;</mtext></math>=<span>1D66D</span></span>
+  <span><math class="testfont"><mtext>&#x1D66D;</mtext></math>=<span>1D66D</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D66E;</mtext></math>=<span>1D66E</span></span>
   <span><math class="testfont"><mtext>&#x1D66F;</mtext></math>=<span>1D66F</span></span>
   <span><math class="testfont"><mtext>&#x1D790;</mtext></math>=<span>1D790</span></span>
@@ -82,9 +80,9 @@
   <span><math class="testfont"><mtext>&#x1D792;</mtext></math>=<span>1D792</span></span>
   <span><math class="testfont"><mtext>&#x1D793;</mtext></math>=<span>1D793</span></span>
   <span><math class="testfont"><mtext>&#x1D794;</mtext></math>=<span>1D794</span></span>
-  <span><math class="testfont"><mtext>&#x1D795;</mtext></math>=<span>1D795</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D795;</mtext></math>=<span>1D795</span></span>
   <span><math class="testfont"><mtext>&#x1D796;</mtext></math>=<span>1D796</span></span>
-  <span><math class="testfont"><mtext>&#x1D797;</mtext></math>=<span>1D797</span></span>
+  <span><math class="testfont"><mtext>&#x1D797;</mtext></math>=<span>1D797</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D798;</mtext></math>=<span>1D798</span></span>
   <span><math class="testfont"><mtext>&#x1D799;</mtext></math>=<span>1D799</span></span>
   <span><math class="testfont"><mtext>&#x1D79A;</mtext></math>=<span>1D79A</span></span>
@@ -92,8 +90,9 @@
   <span><math class="testfont"><mtext>&#x1D79C;</mtext></math>=<span>1D79C</span></span>
   <span><math class="testfont"><mtext>&#x1D79D;</mtext></math>=<span>1D79D</span></span>
   <span><math class="testfont"><mtext>&#x1D79E;</mtext></math>=<span>1D79E</span></span>
-  <span><math class="testfont"><mtext>&#x1D79F;</mtext></math>=<span>1D79F</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D79F;</mtext></math>=<span>1D79F</span></span>
   <span><math class="testfont"><mtext>&#x1D7A0;</mtext></math>=<span>1D7A0</span></span>
+  <span><math class="testfont"><mtext>&#x1D7A1;</mtext></math>=<span>1D7A1</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D7A2;</mtext></math>=<span>1D7A2</span></span>
   <span><math class="testfont"><mtext>&#x1D7A3;</mtext></math>=<span>1D7A3</span></span>
   <span><math class="testfont"><mtext>&#x1D7A4;</mtext></math>=<span>1D7A4</span></span>
@@ -101,6 +100,7 @@
   <span><math class="testfont"><mtext>&#x1D7A6;</mtext></math>=<span>1D7A6</span></span>
   <span><math class="testfont"><mtext>&#x1D7A7;</mtext></math>=<span>1D7A7</span></span>
   <span><math class="testfont"><mtext>&#x1D7A8;</mtext></math>=<span>1D7A8</span></span>
+  <span><math class="testfont"><mtext>&#x1D7A9;</mtext></math>=<span>1D7A9</span></span>
   <span><math class="testfont"><mtext>&#x1D7AA;</mtext></math>=<span>1D7AA</span></span>
   <span><math class="testfont"><mtext>&#x1D7AB;</mtext></math>=<span>1D7AB</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D7AC;</mtext></math>=<span>1D7AC</span></span>
@@ -126,12 +126,12 @@
   <span><math class="testfont"><mtext>&#x1D7C0;</mtext></math>=<span>1D7C0</span></span>
   <span><math class="testfont"><mtext>&#x1D7C1;</mtext></math>=<span>1D7C1</span></span>
   <span><math class="testfont"><mtext>&#x1D7C2;</mtext></math>=<span>1D7C2</span></span>
+  <span><math class="testfont"><mtext>&#x1D7C3;</mtext></math>=<span>1D7C3</span></span>
+  <span><math class="testfont"><mtext>&#x1D7C4;</mtext></math>=<span>1D7C4</span></span>
   <span><math class="testfont"><mtext>&#x1D7C5;</mtext></math>=<span>1D7C5</span></span>
-  <span><math class="testfont"><mtext>&#x1D7C7;</mtext></math>=<span>1D7C7</span></span>
-  <span><math class="testfont"><mtext>&#x1D7C9;</mtext></math>=<span>1D7C9</span></span>
   <span><math class="testfont"><mtext>&#x1D7C6;</mtext></math>=<span>1D7C6</span></span>
+  <span><math class="testfont"><mtext>&#x1D7C7;</mtext></math>=<span>1D7C7</span></span>
   <span><math class="testfont"><mtext>&#x1D7C8;</mtext></math>=<span>1D7C8</span></span>
-  <span><math class="testfont"><mtext>&#x1D7A1;</mtext></math>=<span>1D7A1</span></span>
-  <span><math class="testfont"><mtext>&#x1D7C4;</mtext></math>=<span>1D7C4</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D7C9;</mtext></math>=<span>1D7C9</span></span><br/>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif-bold-italic.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif-bold-italic.html
index d1512bb..d51afe4 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif-bold-italic.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif-bold-italic.html
@@ -29,8 +29,6 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x2202;</mtext></math>=<span>1D7C3</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x2207;</mtext></math>=<span>1D7A9</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x41;</mtext></math>=<span>1D63C</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x42;</mtext></math>=<span>1D63D</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x43;</mtext></math>=<span>1D63E</span></span>
@@ -38,9 +36,9 @@
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x45;</mtext></math>=<span>1D640</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x46;</mtext></math>=<span>1D641</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x47;</mtext></math>=<span>1D642</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x48;</mtext></math>=<span>1D643</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x48;</mtext></math>=<span>1D643</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x49;</mtext></math>=<span>1D644</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x4A;</mtext></math>=<span>1D645</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x4A;</mtext></math>=<span>1D645</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x4B;</mtext></math>=<span>1D646</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x4C;</mtext></math>=<span>1D647</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x4D;</mtext></math>=<span>1D648</span></span>
@@ -48,9 +46,9 @@
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x4F;</mtext></math>=<span>1D64A</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x50;</mtext></math>=<span>1D64B</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x51;</mtext></math>=<span>1D64C</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x52;</mtext></math>=<span>1D64D</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x52;</mtext></math>=<span>1D64D</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x53;</mtext></math>=<span>1D64E</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x54;</mtext></math>=<span>1D64F</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x54;</mtext></math>=<span>1D64F</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x55;</mtext></math>=<span>1D650</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x56;</mtext></math>=<span>1D651</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x57;</mtext></math>=<span>1D652</span></span>
@@ -58,9 +56,9 @@
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x59;</mtext></math>=<span>1D654</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x5A;</mtext></math>=<span>1D655</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x61;</mtext></math>=<span>1D656</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x62;</mtext></math>=<span>1D657</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x62;</mtext></math>=<span>1D657</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x63;</mtext></math>=<span>1D658</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x64;</mtext></math>=<span>1D659</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x64;</mtext></math>=<span>1D659</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x65;</mtext></math>=<span>1D65A</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x66;</mtext></math>=<span>1D65B</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x67;</mtext></math>=<span>1D65C</span></span>
@@ -68,9 +66,9 @@
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x69;</mtext></math>=<span>1D65E</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6A;</mtext></math>=<span>1D65F</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6B;</mtext></math>=<span>1D660</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6C;</mtext></math>=<span>1D661</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6C;</mtext></math>=<span>1D661</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6D;</mtext></math>=<span>1D662</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6E;</mtext></math>=<span>1D663</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6E;</mtext></math>=<span>1D663</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6F;</mtext></math>=<span>1D664</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x70;</mtext></math>=<span>1D665</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x71;</mtext></math>=<span>1D666</span></span>
@@ -78,9 +76,9 @@
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x73;</mtext></math>=<span>1D668</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x74;</mtext></math>=<span>1D669</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x75;</mtext></math>=<span>1D66A</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x76;</mtext></math>=<span>1D66B</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x76;</mtext></math>=<span>1D66B</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x77;</mtext></math>=<span>1D66C</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x78;</mtext></math>=<span>1D66D</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x78;</mtext></math>=<span>1D66D</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x79;</mtext></math>=<span>1D66E</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x7A;</mtext></math>=<span>1D66F</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x391;</mtext></math>=<span>1D790</span></span>
@@ -88,9 +86,9 @@
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x393;</mtext></math>=<span>1D792</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x394;</mtext></math>=<span>1D793</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x395;</mtext></math>=<span>1D794</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x396;</mtext></math>=<span>1D795</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x396;</mtext></math>=<span>1D795</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x397;</mtext></math>=<span>1D796</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x398;</mtext></math>=<span>1D797</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x398;</mtext></math>=<span>1D797</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x399;</mtext></math>=<span>1D798</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x39A;</mtext></math>=<span>1D799</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x39B;</mtext></math>=<span>1D79A</span></span>
@@ -98,8 +96,9 @@
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x39D;</mtext></math>=<span>1D79C</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x39E;</mtext></math>=<span>1D79D</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x39F;</mtext></math>=<span>1D79E</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A0;</mtext></math>=<span>1D79F</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A0;</mtext></math>=<span>1D79F</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A1;</mtext></math>=<span>1D7A0</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3F4;</mtext></math>=<span>1D7A1</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A3;</mtext></math>=<span>1D7A2</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A4;</mtext></math>=<span>1D7A3</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A5;</mtext></math>=<span>1D7A4</span></span>
@@ -107,6 +106,7 @@
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A7;</mtext></math>=<span>1D7A6</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A8;</mtext></math>=<span>1D7A7</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A9;</mtext></math>=<span>1D7A8</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x2207;</mtext></math>=<span>1D7A9</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3B1;</mtext></math>=<span>1D7AA</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3B2;</mtext></math>=<span>1D7AB</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3B3;</mtext></math>=<span>1D7AC</span></span>
@@ -132,12 +132,12 @@
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C7;</mtext></math>=<span>1D7C0</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C8;</mtext></math>=<span>1D7C1</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C9;</mtext></math>=<span>1D7C2</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x2202;</mtext></math>=<span>1D7C3</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3F5;</mtext></math>=<span>1D7C4</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3D1;</mtext></math>=<span>1D7C5</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3D5;</mtext></math>=<span>1D7C7</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3D6;</mtext></math>=<span>1D7C9</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3F0;</mtext></math>=<span>1D7C6</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3D5;</mtext></math>=<span>1D7C7</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3F1;</mtext></math>=<span>1D7C8</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3F4;</mtext></math>=<span>1D7A1</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3F5;</mtext></math>=<span>1D7C4</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3D6;</mtext></math>=<span>1D7C9</span></span><br/>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif-ref.html
index 1087565..ced5272 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif-ref.html
@@ -23,16 +23,6 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext>&#x1D7E2;</mtext></math>=<span>1D7E2</span></span>
-  <span><math class="testfont"><mtext>&#x1D7E3;</mtext></math>=<span>1D7E3</span></span>
-  <span><math class="testfont"><mtext>&#x1D7E4;</mtext></math>=<span>1D7E4</span></span>
-  <span><math class="testfont"><mtext>&#x1D7E5;</mtext></math>=<span>1D7E5</span></span>
-  <span><math class="testfont"><mtext>&#x1D7E6;</mtext></math>=<span>1D7E6</span></span>
-  <span><math class="testfont"><mtext>&#x1D7E7;</mtext></math>=<span>1D7E7</span></span>
-  <span><math class="testfont"><mtext>&#x1D7E8;</mtext></math>=<span>1D7E8</span></span>
-  <span><math class="testfont"><mtext>&#x1D7E9;</mtext></math>=<span>1D7E9</span></span>
-  <span><math class="testfont"><mtext>&#x1D7EA;</mtext></math>=<span>1D7EA</span></span>
-  <span><math class="testfont"><mtext>&#x1D7EB;</mtext></math>=<span>1D7EB</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D5A0;</mtext></math>=<span>1D5A0</span></span>
   <span><math class="testfont"><mtext>&#x1D5A1;</mtext></math>=<span>1D5A1</span></span>
   <span><math class="testfont"><mtext>&#x1D5A2;</mtext></math>=<span>1D5A2</span></span>
@@ -85,5 +75,15 @@
   <span><math class="testfont"><mtext>&#x1D5D1;</mtext></math>=<span>1D5D1</span></span><br/>
   <span><math class="testfont"><mtext>&#x1D5D2;</mtext></math>=<span>1D5D2</span></span>
   <span><math class="testfont"><mtext>&#x1D5D3;</mtext></math>=<span>1D5D3</span></span>
+  <span><math class="testfont"><mtext>&#x1D7E2;</mtext></math>=<span>1D7E2</span></span>
+  <span><math class="testfont"><mtext>&#x1D7E3;</mtext></math>=<span>1D7E3</span></span>
+  <span><math class="testfont"><mtext>&#x1D7E4;</mtext></math>=<span>1D7E4</span></span>
+  <span><math class="testfont"><mtext>&#x1D7E5;</mtext></math>=<span>1D7E5</span></span>
+  <span><math class="testfont"><mtext>&#x1D7E6;</mtext></math>=<span>1D7E6</span></span>
+  <span><math class="testfont"><mtext>&#x1D7E7;</mtext></math>=<span>1D7E7</span></span>
+  <span><math class="testfont"><mtext>&#x1D7E8;</mtext></math>=<span>1D7E8</span></span>
+  <span><math class="testfont"><mtext>&#x1D7E9;</mtext></math>=<span>1D7E9</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1D7EA;</mtext></math>=<span>1D7EA</span></span>
+  <span><math class="testfont"><mtext>&#x1D7EB;</mtext></math>=<span>1D7EB</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif.html
index 0b346aa1..43a1fa8 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-sans-serif.html
@@ -29,16 +29,6 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x30;</mtext></math>=<span>1D7E2</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x31;</mtext></math>=<span>1D7E3</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x32;</mtext></math>=<span>1D7E4</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x33;</mtext></math>=<span>1D7E5</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x34;</mtext></math>=<span>1D7E6</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x35;</mtext></math>=<span>1D7E7</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x36;</mtext></math>=<span>1D7E8</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x37;</mtext></math>=<span>1D7E9</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x38;</mtext></math>=<span>1D7EA</span></span>
-  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x39;</mtext></math>=<span>1D7EB</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="sans-serif">&#x41;</mtext></math>=<span>1D5A0</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif">&#x42;</mtext></math>=<span>1D5A1</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif">&#x43;</mtext></math>=<span>1D5A2</span></span>
@@ -91,5 +81,15 @@
   <span><math class="testfont"><mtext mathvariant="sans-serif">&#x78;</mtext></math>=<span>1D5D1</span></span><br/>
   <span><math class="testfont"><mtext mathvariant="sans-serif">&#x79;</mtext></math>=<span>1D5D2</span></span>
   <span><math class="testfont"><mtext mathvariant="sans-serif">&#x7A;</mtext></math>=<span>1D5D3</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x30;</mtext></math>=<span>1D7E2</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x31;</mtext></math>=<span>1D7E3</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x32;</mtext></math>=<span>1D7E4</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x33;</mtext></math>=<span>1D7E5</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x34;</mtext></math>=<span>1D7E6</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x35;</mtext></math>=<span>1D7E7</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x36;</mtext></math>=<span>1D7E8</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x37;</mtext></math>=<span>1D7E9</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x38;</mtext></math>=<span>1D7EA</span></span>
+  <span><math class="testfont"><mtext mathvariant="sans-serif">&#x39;</mtext></math>=<span>1D7EB</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-stretched-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-stretched-ref.html
index 8ad8f7b..454f200 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-stretched-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-stretched-ref.html
@@ -23,28 +23,28 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext>&#x1EE7E;</mtext></math>=<span>1EE7E</span></span>
   <span><math class="testfont"><mtext>&#x1EE61;</mtext></math>=<span>1EE61</span></span>
-  <span><math class="testfont"><mtext>&#x1EE75;</mtext></math>=<span>1EE75</span></span>
-  <span><math class="testfont"><mtext>&#x1EE76;</mtext></math>=<span>1EE76</span></span>
   <span><math class="testfont"><mtext>&#x1EE62;</mtext></math>=<span>1EE62</span></span>
+  <span><math class="testfont"><mtext>&#x1EE64;</mtext></math>=<span>1EE64</span></span>
   <span><math class="testfont"><mtext>&#x1EE67;</mtext></math>=<span>1EE67</span></span>
-  <span><math class="testfont"><mtext>&#x1EE77;</mtext></math>=<span>1EE77</span></span>
-  <span><math class="testfont"><mtext>&#x1EE6E;</mtext></math>=<span>1EE6E</span></span>
-  <span><math class="testfont"><mtext>&#x1EE74;</mtext></math>=<span>1EE74</span></span>
-  <span><math class="testfont"><mtext>&#x1EE71;</mtext></math>=<span>1EE71</span></span><br/>
-  <span><math class="testfont"><mtext>&#x1EE79;</mtext></math>=<span>1EE79</span></span>
   <span><math class="testfont"><mtext>&#x1EE68;</mtext></math>=<span>1EE68</span></span>
-  <span><math class="testfont"><mtext>&#x1EE7A;</mtext></math>=<span>1EE7A</span></span>
-  <span><math class="testfont"><mtext>&#x1EE6F;</mtext></math>=<span>1EE6F</span></span>
-  <span><math class="testfont"><mtext>&#x1EE7B;</mtext></math>=<span>1EE7B</span></span>
-  <span><math class="testfont"><mtext>&#x1EE70;</mtext></math>=<span>1EE70</span></span>
-  <span><math class="testfont"><mtext>&#x1EE72;</mtext></math>=<span>1EE72</span></span>
+  <span><math class="testfont"><mtext>&#x1EE69;</mtext></math>=<span>1EE69</span></span>
   <span><math class="testfont"><mtext>&#x1EE6A;</mtext></math>=<span>1EE6A</span></span>
   <span><math class="testfont"><mtext>&#x1EE6C;</mtext></math>=<span>1EE6C</span></span>
-  <span><math class="testfont"><mtext>&#x1EE6D;</mtext></math>=<span>1EE6D</span></span><br/>
-  <span><math class="testfont"><mtext>&#x1EE64;</mtext></math>=<span>1EE64</span></span>
-  <span><math class="testfont"><mtext>&#x1EE69;</mtext></math>=<span>1EE69</span></span>
+  <span><math class="testfont"><mtext>&#x1EE6D;</mtext></math>=<span>1EE6D</span></span>
+  <span><math class="testfont"><mtext>&#x1EE6E;</mtext></math>=<span>1EE6E</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1EE6F;</mtext></math>=<span>1EE6F</span></span>
+  <span><math class="testfont"><mtext>&#x1EE70;</mtext></math>=<span>1EE70</span></span>
+  <span><math class="testfont"><mtext>&#x1EE71;</mtext></math>=<span>1EE71</span></span>
+  <span><math class="testfont"><mtext>&#x1EE72;</mtext></math>=<span>1EE72</span></span>
+  <span><math class="testfont"><mtext>&#x1EE74;</mtext></math>=<span>1EE74</span></span>
+  <span><math class="testfont"><mtext>&#x1EE75;</mtext></math>=<span>1EE75</span></span>
+  <span><math class="testfont"><mtext>&#x1EE76;</mtext></math>=<span>1EE76</span></span>
+  <span><math class="testfont"><mtext>&#x1EE77;</mtext></math>=<span>1EE77</span></span>
+  <span><math class="testfont"><mtext>&#x1EE79;</mtext></math>=<span>1EE79</span></span>
+  <span><math class="testfont"><mtext>&#x1EE7A;</mtext></math>=<span>1EE7A</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1EE7B;</mtext></math>=<span>1EE7B</span></span>
   <span><math class="testfont"><mtext>&#x1EE7C;</mtext></math>=<span>1EE7C</span></span>
+  <span><math class="testfont"><mtext>&#x1EE7E;</mtext></math>=<span>1EE7E</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-stretched.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-stretched.html
index 84210c3..99b06fb4 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-stretched.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-stretched.html
@@ -29,28 +29,28 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x6A1;</mtext></math>=<span>1EE7E</span></span>
   <span><math class="testfont"><mtext mathvariant="stretched">&#x628;</mtext></math>=<span>1EE61</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x62A;</mtext></math>=<span>1EE75</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x62B;</mtext></math>=<span>1EE76</span></span>
   <span><math class="testfont"><mtext mathvariant="stretched">&#x62C;</mtext></math>=<span>1EE62</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x647;</mtext></math>=<span>1EE64</span></span>
   <span><math class="testfont"><mtext mathvariant="stretched">&#x62D;</mtext></math>=<span>1EE67</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x62E;</mtext></math>=<span>1EE77</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x633;</mtext></math>=<span>1EE6E</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x634;</mtext></math>=<span>1EE74</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x635;</mtext></math>=<span>1EE71</span></span><br/>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x636;</mtext></math>=<span>1EE79</span></span>
   <span><math class="testfont"><mtext mathvariant="stretched">&#x637;</mtext></math>=<span>1EE68</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x638;</mtext></math>=<span>1EE7A</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x639;</mtext></math>=<span>1EE6F</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x63A;</mtext></math>=<span>1EE7B</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x641;</mtext></math>=<span>1EE70</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x642;</mtext></math>=<span>1EE72</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x64A;</mtext></math>=<span>1EE69</span></span>
   <span><math class="testfont"><mtext mathvariant="stretched">&#x643;</mtext></math>=<span>1EE6A</span></span>
   <span><math class="testfont"><mtext mathvariant="stretched">&#x645;</mtext></math>=<span>1EE6C</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x646;</mtext></math>=<span>1EE6D</span></span><br/>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x647;</mtext></math>=<span>1EE64</span></span>
-  <span><math class="testfont"><mtext mathvariant="stretched">&#x64A;</mtext></math>=<span>1EE69</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x646;</mtext></math>=<span>1EE6D</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x633;</mtext></math>=<span>1EE6E</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x639;</mtext></math>=<span>1EE6F</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x641;</mtext></math>=<span>1EE70</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x635;</mtext></math>=<span>1EE71</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x642;</mtext></math>=<span>1EE72</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x634;</mtext></math>=<span>1EE74</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x62A;</mtext></math>=<span>1EE75</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x62B;</mtext></math>=<span>1EE76</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x62E;</mtext></math>=<span>1EE77</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x636;</mtext></math>=<span>1EE79</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x638;</mtext></math>=<span>1EE7A</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x63A;</mtext></math>=<span>1EE7B</span></span>
   <span><math class="testfont"><mtext mathvariant="stretched">&#x66E;</mtext></math>=<span>1EE7C</span></span>
+  <span><math class="testfont"><mtext mathvariant="stretched">&#x6A1;</mtext></math>=<span>1EE7E</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-tailed-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-tailed-ref.html
index 5273a28..5e1461cd3 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-tailed-ref.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-tailed-ref.html
@@ -23,20 +23,20 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext>&#x1EE52;</mtext></math>=<span>1EE52</span></span>
-  <span><math class="testfont"><mtext>&#x1EE4B;</mtext></math>=<span>1EE4B</span></span>
-  <span><math class="testfont"><mtext>&#x1EE4D;</mtext></math>=<span>1EE4D</span></span>
-  <span><math class="testfont"><mtext>&#x1EE49;</mtext></math>=<span>1EE49</span></span>
   <span><math class="testfont"><mtext>&#x1EE42;</mtext></math>=<span>1EE42</span></span>
   <span><math class="testfont"><mtext>&#x1EE47;</mtext></math>=<span>1EE47</span></span>
-  <span><math class="testfont"><mtext>&#x1EE57;</mtext></math>=<span>1EE57</span></span>
-  <span><math class="testfont"><mtext>&#x1EE5F;</mtext></math>=<span>1EE5F</span></span>
+  <span><math class="testfont"><mtext>&#x1EE49;</mtext></math>=<span>1EE49</span></span>
+  <span><math class="testfont"><mtext>&#x1EE4B;</mtext></math>=<span>1EE4B</span></span>
+  <span><math class="testfont"><mtext>&#x1EE4D;</mtext></math>=<span>1EE4D</span></span>
   <span><math class="testfont"><mtext>&#x1EE4E;</mtext></math>=<span>1EE4E</span></span>
-  <span><math class="testfont"><mtext>&#x1EE54;</mtext></math>=<span>1EE54</span></span><br/>
-  <span><math class="testfont"><mtext>&#x1EE51;</mtext></math>=<span>1EE51</span></span>
-  <span><math class="testfont"><mtext>&#x1EE59;</mtext></math>=<span>1EE59</span></span>
   <span><math class="testfont"><mtext>&#x1EE4F;</mtext></math>=<span>1EE4F</span></span>
+  <span><math class="testfont"><mtext>&#x1EE51;</mtext></math>=<span>1EE51</span></span>
+  <span><math class="testfont"><mtext>&#x1EE52;</mtext></math>=<span>1EE52</span></span>
+  <span><math class="testfont"><mtext>&#x1EE54;</mtext></math>=<span>1EE54</span></span><br/>
+  <span><math class="testfont"><mtext>&#x1EE57;</mtext></math>=<span>1EE57</span></span>
+  <span><math class="testfont"><mtext>&#x1EE59;</mtext></math>=<span>1EE59</span></span>
   <span><math class="testfont"><mtext>&#x1EE5B;</mtext></math>=<span>1EE5B</span></span>
   <span><math class="testfont"><mtext>&#x1EE5D;</mtext></math>=<span>1EE5D</span></span>
+  <span><math class="testfont"><mtext>&#x1EE5F;</mtext></math>=<span>1EE5F</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-tailed.html b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-tailed.html
index 4590b76a..43fbca5 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-tailed.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/css-styling/mathvariant-tailed.html
@@ -29,20 +29,20 @@
 <body>
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
   <p>Test passes if all the equalities below are true.</p>
-  <span><math class="testfont"><mtext mathvariant="tailed">&#x642;</mtext></math>=<span>1EE52</span></span>
-  <span><math class="testfont"><mtext mathvariant="tailed">&#x644;</mtext></math>=<span>1EE4B</span></span>
-  <span><math class="testfont"><mtext mathvariant="tailed">&#x646;</mtext></math>=<span>1EE4D</span></span>
-  <span><math class="testfont"><mtext mathvariant="tailed">&#x64A;</mtext></math>=<span>1EE49</span></span>
   <span><math class="testfont"><mtext mathvariant="tailed">&#x62C;</mtext></math>=<span>1EE42</span></span>
   <span><math class="testfont"><mtext mathvariant="tailed">&#x62D;</mtext></math>=<span>1EE47</span></span>
-  <span><math class="testfont"><mtext mathvariant="tailed">&#x62E;</mtext></math>=<span>1EE57</span></span>
-  <span><math class="testfont"><mtext mathvariant="tailed">&#x66F;</mtext></math>=<span>1EE5F</span></span>
+  <span><math class="testfont"><mtext mathvariant="tailed">&#x64A;</mtext></math>=<span>1EE49</span></span>
+  <span><math class="testfont"><mtext mathvariant="tailed">&#x644;</mtext></math>=<span>1EE4B</span></span>
+  <span><math class="testfont"><mtext mathvariant="tailed">&#x646;</mtext></math>=<span>1EE4D</span></span>
   <span><math class="testfont"><mtext mathvariant="tailed">&#x633;</mtext></math>=<span>1EE4E</span></span>
-  <span><math class="testfont"><mtext mathvariant="tailed">&#x634;</mtext></math>=<span>1EE54</span></span><br/>
-  <span><math class="testfont"><mtext mathvariant="tailed">&#x635;</mtext></math>=<span>1EE51</span></span>
-  <span><math class="testfont"><mtext mathvariant="tailed">&#x636;</mtext></math>=<span>1EE59</span></span>
   <span><math class="testfont"><mtext mathvariant="tailed">&#x639;</mtext></math>=<span>1EE4F</span></span>
+  <span><math class="testfont"><mtext mathvariant="tailed">&#x635;</mtext></math>=<span>1EE51</span></span>
+  <span><math class="testfont"><mtext mathvariant="tailed">&#x642;</mtext></math>=<span>1EE52</span></span>
+  <span><math class="testfont"><mtext mathvariant="tailed">&#x634;</mtext></math>=<span>1EE54</span></span><br/>
+  <span><math class="testfont"><mtext mathvariant="tailed">&#x62E;</mtext></math>=<span>1EE57</span></span>
+  <span><math class="testfont"><mtext mathvariant="tailed">&#x636;</mtext></math>=<span>1EE59</span></span>
   <span><math class="testfont"><mtext mathvariant="tailed">&#x63A;</mtext></math>=<span>1EE5B</span></span>
   <span><math class="testfont"><mtext mathvariant="tailed">&#x6BA;</mtext></math>=<span>1EE5D</span></span>
+  <span><math class="testfont"><mtext mathvariant="tailed">&#x66F;</mtext></math>=<span>1EE5F</span></span>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/tools/mathvariant-transforms.py b/third_party/blink/web_tests/external/wpt/mathml/tools/mathvariant-transforms.py
index 49c2087..f2e9f18 100755
--- a/third_party/blink/web_tests/external/wpt/mathml/tools/mathvariant-transforms.py
+++ b/third_party/blink/web_tests/external/wpt/mathml/tools/mathvariant-transforms.py
@@ -71,44 +71,51 @@
         mathfont.createGlyphFromValue(font, transformedChar)
     mathfont.save(font)
 
-# Create a MathML and CSS test for each mathvariant.
-for mathvariant in mathvariantTransforms:
+# Common function to generate test for MathML mathvariant / CSS text-transform.
+def generateTestFor(mathvariant, mathml):
+    assert mathml or mathvariant == "auto", "These tests have been removed!"
     print("Generating tests for %s..." % mathvariant, end="")
-    reftest = open("../relations/css-styling/mathvariant-%s.html" % mathvariant, "w")
-    reftestReference = open("../relations/css-styling/mathvariant-%s-ref.html" % mathvariant, "w")
-    CSSreftest = open("../../css/css-text/text-transform/math/text-transform-math-%s-001.tentative.html" % mathvariant, "w")
-    CSSreftestReference = open("../../css/css-text/text-transform/math/text-transform-math-%s-001.tentative-ref.html" % mathvariant, "w")
+    if mathml:
+        reftest = open("../relations/css-styling/mathvariant-%s.html" % mathvariant, "w")
+        reftestReference = open("../relations/css-styling/mathvariant-%s-ref.html" % mathvariant, "w")
+    else:
+        reftest = open("../../css/css-text/text-transform/math/text-transform-math-%s-001.html" % mathvariant, "w")
+        reftestReference = open("../../css/css-text/text-transform/math/text-transform-math-%s-001-ref.html" % mathvariant, "w")
     source = '\
 <!DOCTYPE html>\n\
 <html>\n\
 <head>\n\
 <meta charset="utf-8"/>\n\
 <title>%s</title>\n'
-    reftest.write(source % ("mathvariant %s" % mathvariant))
-    reftestReference.write(source % ("mathvariant %s (reference)" % mathvariant))
-    CSSreftest.write(source % ("text-transform math-%s" % mathvariant))
-    CSSreftestReference.write(source % ("text-transform math-%s (reference)" % mathvariant))
+    if mathml:
+        reftest.write(source % ("mathvariant %s" % mathvariant))
+        reftestReference.write(source % ("mathvariant %s (reference)" % mathvariant))
+    else:
+        reftest.write(source % ("text-transform math-%s" % mathvariant))
+        reftestReference.write(source % ("text-transform math-%s (reference)" % mathvariant))
     if mathvariant == "auto":
         mathAssert = "Verify that a single-char <mi> is equivalent to an <mi> with the transformed italic unicode character."
         mapping = "italic"
     else:
         mathAssert = "Verify that a single-char <mtext> with a %s mathvariant is equivalent to an <mtext> with the transformed unicode character." % mathvariant
         mapping = mathvariant
-    source ='\
+    if mathml:
+        source ='\
 <link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">\n\
 <link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">\n\
 <link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">\n\
 <link rel="help" href="https://w3c.github.io/mathml-core/#%s-mappings">\n\
 <link rel="match" href="mathvariant-%s-ref.html"/>\n\
 <meta name="assert" content="%s">\n'
-    reftest.write(source % (mapping, mathvariant, mathAssert))
-    source = '\
+        reftest.write(source % (mapping, mathvariant, mathAssert))
+    else:
+        source = '\
 <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3745"/>\n\
 <link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">\n\
 <link rel="help" href="https://w3c.github.io/mathml-core/#%s-mappings">\n\
-<link rel="match" href="text-transform-math-%s-001.tentative-ref.html"/>\n\
+<link rel="match" href="text-transform-math-%s-001-ref.html"/>\n\
 <meta name="assert" content="Verify that a character with \'text-transform: math-%s\' renders the same as the transformed unicode character.">\n'
-    CSSreftest.write(source % (mapping, mathvariant, mathvariant))
+        reftest.write(source % (mapping, mathvariant, mathvariant))
     WOFFfont = "mathvariant-%s.woff" % mapping
     source = '\
 <style>\n\
@@ -131,10 +138,12 @@
 <body>\n\
   <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->\n\
   <p>Test passes if all the equalities below are true.</p>\n' % WOFFfont
-    reftest.write(source)
-    reftestReference.write(source)
-    CSSreftest.write(source)
-    CSSreftestReference.write(source)
+    if mathml:
+        reftest.write(source)
+        reftestReference.write(source)
+    else:
+        reftest.write(source)
+        reftestReference.write(source)
     charIndex = 0
     for baseChar in mathvariantTransforms[mathvariant]:
         transformedChar = mathvariantTransforms[mathvariant][baseChar]
@@ -144,27 +153,30 @@
         else:
             tokenTag = '<mtext mathvariant="%s">&#x%0X;</mtext>' % (mathvariant, baseChar)
             tokenTagRef = '<mtext>&#x%0X;</mtext>' % transformedChar
-        reftest.write('  <span><math class="testfont">%s</math>=<span>%05X</span></span>' % (tokenTag, transformedChar))
-        reftestReference.write('  <span><math class="testfont">%s</math>=<span>%05X</span></span>' % (tokenTagRef, transformedChar))
-        CSSreftest.write('  <span><span class="testfont" style="text-transform: math-%s">&#x%0X;</span>=<span>%05X</span></span>' % (mathvariant, baseChar, transformedChar))
-        CSSreftestReference.write('  <span><span class="testfont">&#x%0X;</span>=<span>%05X</span></span>' % (transformedChar, transformedChar))
+        if mathml:
+            reftest.write('  <span><math class="testfont">%s</math>=<span>%05X</span></span>' % (tokenTag, transformedChar))
+            reftestReference.write('  <span><math class="testfont">%s</math>=<span>%05X</span></span>' % (tokenTagRef, transformedChar))
+        else:
+            reftest.write('  <span><span class="testfont" style="text-transform: math-%s">&#x%0X;</span>=<span>%05X</span></span>' % (mathvariant, baseChar, transformedChar))
+            reftestReference.write('  <span><span class="testfont">&#x%0X;</span>=<span>%05X</span></span>' % (transformedChar, transformedChar))
         charIndex += 1
         if charIndex % 10 == 0:
             reftest.write('<br/>')
             reftestReference.write('<br/>')
-            CSSreftest.write('<br/>')
-            CSSreftestReference.write('<br/>')
         reftest.write('\n')
         reftestReference.write('\n')
-        CSSreftest.write('\n')
-        CSSreftestReference.write('\n')
     source = '</body>\n</html>\n'
     reftest.write(source)
     reftestReference.write(source)
-    CSSreftest.write(source)
-    CSSreftestReference.write(source)
     reftest.close()
     reftestReference.close()
-    CSSreftest.close()
-    CSSreftestReference.close()
     print(" done.")
+
+# Generate css/css-text/text-transform/math/text-transform-math-auto-001.html
+generateTestFor(mathvariant="auto", mathml=False)
+
+# Generate mathml/relations/css-styling/mathvariant-* tests.
+# TODO: Remove these tests from WPT and move them back to internal repos of
+# WebKit and Mozilla. See https://github.com/w3c/mathml-core/issues/182
+for mathvariant in mathvariantTransforms:
+    generateTestFor(mathvariant, mathml=True)
diff --git a/third_party/blink/web_tests/external/wpt/mathml/tools/utils/mathfont.py b/third_party/blink/web_tests/external/wpt/mathml/tools/utils/mathfont.py
index 79772a2..ff11cc5 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/tools/utils/mathfont.py
+++ b/third_party/blink/web_tests/external/wpt/mathml/tools/utils/mathfont.py
@@ -168,7 +168,7 @@
     for i in range(0, 5):
         drawHexaDigit(g, (5 - (i + 1)) * em / 2, value % 16)
         value /= 16
-    g.width = 5 * em / 2
+    g.width = 5 * em // 2
     g.stroke("circular", em / 10, "square", "miter", "cleanup")
 
 def createSizeVariants(aFont, aUsePUA = False, aCenterOnBaseline = False):
diff --git a/third_party/blink/web_tests/external/wpt/navigation-api/scroll-behavior/scroll-after-preventDefault.html.ini b/third_party/blink/web_tests/external/wpt/navigation-api/scroll-behavior/scroll-after-preventDefault.html.ini
new file mode 100644
index 0000000..95d1a1f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/navigation-api/scroll-behavior/scroll-after-preventDefault.html.ini
@@ -0,0 +1,2 @@
+[scroll-after-preventDefault.html]
+  expected: ERROR
diff --git a/third_party/blink/web_tests/external/wpt/preload/modulepreload.html b/third_party/blink/web_tests/external/wpt/preload/modulepreload.html
index 58830fe0..0e4b692 100644
--- a/third_party/blink/web_tests/external/wpt/preload/modulepreload.html
+++ b/third_party/blink/web_tests/external/wpt/preload/modulepreload.html
@@ -36,17 +36,17 @@
 promise_test(function(t) {
     var link = document.createElement('link');
     link.rel = 'modulepreload';
-    link.href = 'resources/dummy.js';
+    link.href = 'resources/dummy.js?unique';
     return attachAndWaitForLoad(link).then(() => {
-        verifyNumberOfDownloads('resources/dummy.js', 1);
+        verifyNumberOfDownloads('resources/dummy.js?unique', 1);
 
         // Verify that <script> doesn't fetch the module again.
         var script = document.createElement('script');
         script.type = 'module';
-        script.src = 'resources/dummy.js';
+        script.src = 'resources/dummy.js?unique';
         return attachAndWaitForLoad(script);
     }).then(() => {
-        verifyNumberOfDownloads('resources/dummy.js', 1);
+        verifyNumberOfDownloads('resources/dummy.js?unique', 1);
     });
 }, 'link rel=modulepreload');
 
diff --git a/third_party/blink/web_tests/external/wpt/webmessaging/without-ports/020.html.ini b/third_party/blink/web_tests/external/wpt/webmessaging/without-ports/020.html.ini
new file mode 100644
index 0000000..0a16a392a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/webmessaging/without-ports/020.html.ini
@@ -0,0 +1,3 @@
+[020.html]
+  [cross-origin test]
+    expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/websockets/stream/tentative/close.any.js.ini b/third_party/blink/web_tests/external/wpt/websockets/stream/tentative/close.any.js.ini
new file mode 100644
index 0000000..4c5ec505
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/websockets/stream/tentative/close.any.js.ini
@@ -0,0 +1,2 @@
+[close.any.html?wpt_flags=h2]
+  expected: TIMEOUT
diff --git a/third_party/blink/web_tests/external/wpt/websockets/stream/tentative/constructor.any.js.ini b/third_party/blink/web_tests/external/wpt/websockets/stream/tentative/constructor.any.js.ini
new file mode 100644
index 0000000..21540c7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/websockets/stream/tentative/constructor.any.js.ini
@@ -0,0 +1,2 @@
+[constructor.any.serviceworker.html?wpt_flags=h2]
+  expected: TIMEOUT
diff --git a/third_party/blink/web_tests/external/wpt/webtransport/close.https.any.js b/third_party/blink/web_tests/external/wpt/webtransport/close.https.any.js
index d1f66751..b6b367ba 100644
--- a/third_party/blink/web_tests/external/wpt/webtransport/close.https.any.js
+++ b/third_party/blink/web_tests/external/wpt/webtransport/close.https.any.js
@@ -13,8 +13,8 @@
 
   const close_info = await wt.closed;
 
-  assert_not_own_property(close_info, 'closeCode');
-  assert_not_own_property(close_info, 'reason');
+  assert_equals(close_info.closeCode, 0 , 'code');
+  assert_equals(close_info.reason, '', 'reason');
 
   await wait(10);
   const data = await query(id);
diff --git a/third_party/blink/web_tests/external/wpt/webtransport/constructor.https.any.js b/third_party/blink/web_tests/external/wpt/webtransport/constructor.https.any.js
index acb91d8..0f39c499 100644
--- a/third_party/blink/web_tests/external/wpt/webtransport/constructor.https.any.js
+++ b/third_party/blink/web_tests/external/wpt/webtransport/constructor.https.any.js
@@ -1,6 +1,7 @@
 // META: global=window,worker
 // META: script=/common/get-host-info.sub.js
 // META: script=resources/webtransport-test-helpers.sub.js
+// META: script=/common/utils.js
 
 const BAD_URLS = [
   null,
@@ -33,7 +34,8 @@
 
 for (const options of OPTIONS) {
   promise_test(async t => {
-    const wt = new WebTransport(`https://${HOST}:0/`, options );
+    const id = token();
+    const wt = new WebTransport(webtransport_url(`client-close.py?token=${id}`), options );
     await wt.ready;
     wt.close();
   }, "WebTransport constructor should allow options " + JSON.stringify(options));
diff --git a/third_party/blink/web_tests/external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_multiple_tracks.html.ini b/third_party/blink/web_tests/external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_multiple_tracks.html.ini
new file mode 100644
index 0000000..5b1c4f1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_multiple_tracks.html.ini
@@ -0,0 +1,2 @@
+[embedded_style_multiple_tracks.html]
+  expected: FAIL
diff --git a/third_party/blink/web_tests/http/tests/inspector-protocol/issues/webrtc-stats-deprecation-expected.txt b/third_party/blink/web_tests/http/tests/inspector-protocol/issues/webrtc-stats-deprecation-expected.txt
new file mode 100644
index 0000000..bc31886
--- /dev/null
+++ b/third_party/blink/web_tests/http/tests/inspector-protocol/issues/webrtc-stats-deprecation-expected.txt
@@ -0,0 +1,21 @@
+Tests that deprecation issues are reported
+Inspector issue: {
+    issue : {
+        code : DeprecationIssue
+        details : {
+            deprecationIssueDetails : {
+                affectedFrame : {
+                    frameId : <string>
+                }
+                sourceCodeLocation : {
+                    columnNumber : 25
+                    lineNumber : 0
+                    scriptId : <string>
+                    url : 
+                }
+                type : RTCPeerConnectionGetStatsLegacyNonCompliant
+            }
+        }
+    }
+}
+
diff --git a/third_party/blink/web_tests/http/tests/inspector-protocol/issues/webrtc-stats-deprecation.js b/third_party/blink/web_tests/http/tests/inspector-protocol/issues/webrtc-stats-deprecation.js
new file mode 100644
index 0000000..69d93bf
--- /dev/null
+++ b/third_party/blink/web_tests/http/tests/inspector-protocol/issues/webrtc-stats-deprecation.js
@@ -0,0 +1,9 @@
+(async function (testRunner) {
+  const { session, dp } = await testRunner.startBlank(`Tests that deprecation issues are reported`);
+  await dp.Audits.enable();
+  const promise = dp.Audits.onceIssueAdded();
+  session.evaluate("new RTCPeerConnection().getStats(r => {})");
+  const result = await promise;
+  testRunner.log(result.params, "Inspector issue: ");
+  testRunner.completeTest();
+})
diff --git a/third_party/blink/web_tests/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt b/third_party/blink/web_tests/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
index e20c6d0..78348995 100644
--- a/third_party/blink/web_tests/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
+++ b/third_party/blink/web_tests/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
@@ -109,9 +109,6 @@
     attribute @@toStringTag
     method constructor
     method respondWith
-interface CanvasFilter
-    attribute @@toStringTag
-    method constructor
 interface CanvasGradient
     attribute @@toStringTag
     method addColorStop
diff --git a/third_party/blink/web_tests/virtual/stable/http/tests/worklet/webexposed/global-interface-listing-paint-worklet-expected.txt b/third_party/blink/web_tests/virtual/stable/http/tests/worklet/webexposed/global-interface-listing-paint-worklet-expected.txt
index 739eab52..e674a9f 100644
--- a/third_party/blink/web_tests/virtual/stable/http/tests/worklet/webexposed/global-interface-listing-paint-worklet-expected.txt
+++ b/third_party/blink/web_tests/virtual/stable/http/tests/worklet/webexposed/global-interface-listing-paint-worklet-expected.txt
@@ -175,9 +175,6 @@
 CONSOLE MESSAGE:     getter variable
 CONSOLE MESSAGE:     method constructor
 CONSOLE MESSAGE:     setter variable
-CONSOLE MESSAGE: interface CanvasFilter
-CONSOLE MESSAGE:     attribute @@toStringTag
-CONSOLE MESSAGE:     method constructor
 CONSOLE MESSAGE: interface CountQueuingStrategy
 CONSOLE MESSAGE:     attribute @@toStringTag
 CONSOLE MESSAGE:     getter highWaterMark
@@ -575,9 +572,6 @@
 CONSOLE MESSAGE:     getter variable
 CONSOLE MESSAGE:     method constructor
 CONSOLE MESSAGE:     setter variable
-CONSOLE MESSAGE: interface CanvasFilter
-CONSOLE MESSAGE:     attribute @@toStringTag
-CONSOLE MESSAGE:     method constructor
 CONSOLE MESSAGE: interface CountQueuingStrategy
 CONSOLE MESSAGE:     attribute @@toStringTag
 CONSOLE MESSAGE:     getter highWaterMark
diff --git a/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt b/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt
index a0f9869..8df3a4a 100644
--- a/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt
+++ b/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt
@@ -137,9 +137,6 @@
 [Worker]     method keys
 [Worker]     method match
 [Worker]     method open
-[Worker] interface CanvasFilter
-[Worker]     attribute @@toStringTag
-[Worker]     method constructor
 [Worker] interface CanvasGradient
 [Worker]     attribute @@toStringTag
 [Worker]     method addColorStop
diff --git a/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt b/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
index 30b92de..02d3b0f 100644
--- a/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
+++ b/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
@@ -815,9 +815,6 @@
     getter canvas
     method constructor
     method requestFrame
-interface CanvasFilter
-    attribute @@toStringTag
-    method constructor
 interface CanvasGradient
     attribute @@toStringTag
     method addColorStop
diff --git a/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-shared-worker-expected.txt b/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-shared-worker-expected.txt
index ccc2a920..e13ca669 100644
--- a/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-shared-worker-expected.txt
+++ b/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-shared-worker-expected.txt
@@ -98,9 +98,6 @@
 [Worker]     method keys
 [Worker]     method match
 [Worker]     method open
-[Worker] interface CanvasFilter
-[Worker]     attribute @@toStringTag
-[Worker]     method constructor
 [Worker] interface CanvasGradient
 [Worker]     attribute @@toStringTag
 [Worker]     method addColorStop
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 4e4dbc3..1f635643 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -50984,6 +50984,12 @@
   </int>
   <int value="4" label="kUpgradeNetError">Upgrade failed due to net error</int>
   <int value="5" label="kUpgradeTimedOut">Upgrade failed due to timing out</int>
+  <int value="6" label="kPrerenderCancelled">
+    Prerender navigation cancelled
+  </int>
+  <int value="7" label="kUpgradeNotAttempted">
+    Upgrade not attempted because not enabled
+  </int>
 </enum>
 
 <enum name="HttpsImageCompressionInfoBarAction">
@@ -51220,89 +51226,6 @@
   <int value="2" label="Load icon via non-mojom call"/>
 </enum>
 
-<enum name="ICUCreateInstanceCode">
-  <summary>Recorded when ICU create instance of key objects.</summary>
-  <int value="0" label="Character Break Iterator"/>
-  <int value="1" label="Word Break Iterator"/>
-  <int value="2" label="Line Break Iterator"/>
-  <int value="3" label="Line Break Iterator (type=loose)"/>
-  <int value="4" label="Line Break Iterator (type=normal)"/>
-  <int value="5" label="Line Break Iterator (type=strict)"/>
-  <int value="6" label="Sentence Break Iterator"/>
-  <int value="7" label="Title Break Iterator"/>
-  <int value="8" label="Thai Break Engine"/>
-  <int value="9" label="Lao Break Engine"/>
-  <int value="10" label="Burmese Break Engine"/>
-  <int value="11" label="Khmer Break Engine"/>
-  <int value="12" label="Chinese/Japanese Break Engine"/>
-</enum>
-
-<enum name="ICUDataFileCode">
-  <summary>
-    Hash values for strings of the ICU built-in data file names.
-  </summary>
-  <int value="-2111503073" label="/windows-1258-html.cnv"/>
-  <int value="-2110345586" label="/macintosh-html.cnv"/>
-  <int value="-2034479209" label="/confusables.cfu"/>
-  <int value="-1917305109" label="brkitr/thaidict.dict"/>
-  <int value="-1873162436" label="/x-mac-cyrillic-html.cnv"/>
-  <int value="-1780009268" label="/windows-1250-html.cnv"/>
-  <int value="-1759448336" label="brkitr/line_normal.brk"/>
-  <int value="-1697710168" label="/iso-8859-16-html.cnv"/>
-  <int value="-1687120246" label="brkitr/line_loose_cj.brk"/>
-  <int value="-1504981961" label="/koi8-r-html.cnv"/>
-  <int value="-1364734694" label="/iso-8859-7-html.cnv"/>
-  <int value="-1327619847" label="/iso-8859-3-html.cnv"/>
-  <int value="-1288434136" label="/koi8-u-html.cnv"/>
-  <int value="-1224386407" label="/iso-8859-13-html.cnv"/>
-  <int value="-1078901331" label="/cnvalias.icu"/>
-  <int value="-1055927650" label="/ISO-2022-KR.cnv"/>
-  <int value="-1052227072" label="/shift_jis-html.cnv"/>
-  <int value="-1052125062" label="/nfkc.nrm"/>
-  <int value="-1047426245" label="/ISO-2022-CN.cnv"/>
-  <int value="-1014217346" label="brkitr/line.brk"/>
-  <int value="-840844187" label="brkitr/sent.brk"/>
-  <int value="-834793818" label="/HZ-GB-2312.cnv"/>
-  <int value="-737609096" label="/windows-1256-html.cnv"/>
-  <int value="-727059472" label="brkitr/laodict.dict"/>
-  <int value="-716747528" label="brkitr/khmerdict.dict"/>
-  <int value="-524379715" label="/windows-1257-html.cnv"/>
-  <int value="-279661608" label="/ulayout.icu"/>
-  <int value="-194101744" label="/nfkc_cf.nrm"/>
-  <int value="-116865252" label="/uts46.nrm"/>
-  <int value="-52152166" label="brkitr/line_loose.brk"/>
-  <int value="-25592431" label="brkitr/burmesedict.dict"/>
-  <int value="17625259" label="/iso-8859-4-html.cnv"/>
-  <int value="143580007" label="/iso-8859-5-html.cnv"/>
-  <int value="335235069" label="/unames.icu"/>
-  <int value="385770370" label="brkitr/line_normal_cj.brk"/>
-  <int value="457714494" label="/windows-936-2000.cnv"/>
-  <int value="516825216" label="/iso-8859-2-html.cnv"/>
-  <int value="521388409" label="/windows-1252-html.cnv"/>
-  <int value="638014984" label="/iso-8859-10-html.cnv"/>
-  <int value="644061783" label="/big5-html.cnv"/>
-  <int value="741606455" label="brkitr/word.brk"/>
-  <int value="803888318" label="coll/ucadata.icu"/>
-  <int value="815707934" label="/windows-1253-html.cnv"/>
-  <int value="824383969" label="/windows-1255-html.cnv"/>
-  <int value="828722545" label="/iso-8859-8-html.cnv"/>
-  <int value="855391538" label="brkitr/title.brk"/>
-  <int value="1069381207" label="/windows-1251-html.cnv"/>
-  <int value="1077119420" label="/iso-8859-15-html.cnv"/>
-  <int value="1107452641" label="/iso-8859-6-html.cnv"/>
-  <int value="1110127155" label="/euc-jp-html.cnv"/>
-  <int value="1169621536" label="brkitr/cjdict.dict"/>
-  <int value="1197891648" label="/windows-874-html.cnv"/>
-  <int value="1263030766" label="/euc-kr-html.cnv"/>
-  <int value="1593431589" label="/ISO-2022-CN-EXT.cnv"/>
-  <int value="1611823660" label="/windows-1254-html.cnv"/>
-  <int value="1721050252" label="/iso-8859-14-html.cnv"/>
-  <int value="1743955546" label="brkitr/char.brk"/>
-  <int value="1764849685" label="brkitr/sent_el.brk"/>
-  <int value="1993636507" label="/gb18030.cnv"/>
-  <int value="1998603597" label="/ibm866-html.cnv"/>
-</enum>
-
 <enum name="IDBAction">
   <int value="0" label="BackingStoreOpenAttempt">
     Recorded when the there is an attempt to open the backing store from disk,
diff --git a/tools/metrics/histograms/metadata/gpu/histograms.xml b/tools/metrics/histograms/metadata/gpu/histograms.xml
index 04e78ab..aea318d 100644
--- a/tools/metrics/histograms/metadata/gpu/histograms.xml
+++ b/tools/metrics/histograms/metadata/gpu/histograms.xml
@@ -914,6 +914,27 @@
   </summary>
 </histogram>
 
+<histogram name="GPU.IntelVpSuperResolution.{State}.{Call}" enum="Hresult"
+    expires_after="2023-05-18">
+  <owner>magchen@chromium.org</owner>
+  <owner>zmo@chromium.org</owner>
+  <owner>graphics-dev@chromium.org</owner>
+  <summary>
+    Records HRESULT in IntelVpSuperResolution. This metric is only collected on
+    Intel Windows every frame from video streams.
+  </summary>
+  <token key="State">
+    <variant name="Off" summary="off"/>
+    <variant name="On" summary="on"/>
+  </token>
+  <token key="Call">
+    <variant name="VideoProcessorBlt" summary="vpblt"/>
+    <variant name="VpeFnMode" summary="mode"/>
+    <variant name="VpeFnScaling" summary="scaling"/>
+    <variant name="VpeFnVersion" summary="version"/>
+  </token>
+</histogram>
+
 <histogram name="GPU.IOSurface.CATransactionTimeUs" units="microseconds"
     expires_after="2023-08-20">
   <owner>magchen@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/others/histograms.xml b/tools/metrics/histograms/metadata/others/histograms.xml
index 095a465..a0036df 100644
--- a/tools/metrics/histograms/metadata/others/histograms.xml
+++ b/tools/metrics/histograms/metadata/others/histograms.xml
@@ -7052,31 +7052,6 @@
   <summary>The time it takes to open a hyphenation dictionary file.</summary>
 </histogram>
 
-<histogram name="ICU.CreateInstance" enum="ICUCreateInstanceCode"
-    expires_after="2021-02-21">
-  <owner>ftang@chromium.org</owner>
-  <owner>intl-libs-team@google.com</owner>
-  <summary>
-    This metric logs the creation of key ICU objects. These object creation
-    called directly from Chrome code or indirectly from depending library such
-    as blink and v8.
-  </summary>
-</histogram>
-
-<histogram name="ICU.DataFile" enum="ICUDataFileCode"
-    expires_after="2021-02-21">
-  <owner>ftang@chromium.org</owner>
-  <owner>intl-libs-team@google.com</owner>
-  <summary>
-    This metric logs the ICU built-in data file name opened and used by chrome.
-    These file open calls are perform internally inside ICU while Chrome
-    directly or indirectly call ICU to create object and cause ICU to load new
-    data files, such as loading codeset conversion table, create break iterator,
-    and open dictionary files for word break/line break iterator. It however
-    does not include the opening of resource bundle files.
-  </summary>
-</histogram>
-
 <histogram name="Import.ImportedHistorySize.AutoImportFromIE" units="urls"
     expires_after="M77">
   <owner>gcomanici@chromium.org</owner>
diff --git a/tools/v8_context_snapshot/v8_context_snapshot_generator.cc b/tools/v8_context_snapshot/v8_context_snapshot_generator.cc
index ee9be745..4cdea7b 100644
--- a/tools/v8_context_snapshot/v8_context_snapshot_generator.cc
+++ b/tools/v8_context_snapshot/v8_context_snapshot_generator.cc
@@ -57,11 +57,12 @@
   base::FilePath file_path =
       base::CommandLine::ForCurrentProcess()->GetSwitchValuePath("output_file");
   CHECK(!file_path.empty());
-  int written = base::WriteFile(file_path, blob.data, blob.raw_size);
   int error_code = 0;
-  if (written != blob.raw_size) {
-    fprintf(stderr, "Error: WriteFile of %d snapshot bytes returned %d.\n",
-            blob.raw_size, written);
+  if (!base::WriteFile(file_path,
+                       base::as_bytes(base::make_span(
+                           blob.data, static_cast<size_t>(blob.raw_size))))) {
+    fprintf(stderr, "Error: WriteFile of %d snapshot has failed.\n",
+            blob.raw_size);
     error_code = 1;
   }
 
diff --git a/ui/display/BUILD.gn b/ui/display/BUILD.gn
index 4855e6b..7bd65e6 100644
--- a/ui/display/BUILD.gn
+++ b/ui/display/BUILD.gn
@@ -156,8 +156,6 @@
     "test/display_matchers.cc",
     "test/display_matchers.h",
     "test/display_test_util.h",
-    "test/scoped_screen_override.cc",
-    "test/scoped_screen_override.h",
     "test/test_screen.cc",
     "test/test_screen.h",
   ]
diff --git a/ui/display/test/scoped_screen_override.cc b/ui/display/test/scoped_screen_override.cc
deleted file mode 100644
index 3425bdb..0000000
--- a/ui/display/test/scoped_screen_override.cc
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2018 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ui/display/test/scoped_screen_override.h"
-
-#include "ui/display/screen.h"
-
-namespace display {
-namespace test {
-
-ScopedScreenOverride::ScopedScreenOverride(Screen* screen)
-    : original_screen_(display::Screen::GetScreen()) {
-  display::Screen::SetScreenInstance(screen);
-}
-
-ScopedScreenOverride::~ScopedScreenOverride() {
-  display::Screen::SetScreenInstance(original_screen_);
-}
-
-}  // namespace test
-}  // namespace display
diff --git a/ui/display/test/scoped_screen_override.h b/ui/display/test/scoped_screen_override.h
deleted file mode 100644
index 03d2296..0000000
--- a/ui/display/test/scoped_screen_override.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2018 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef UI_DISPLAY_TEST_SCOPED_SCREEN_OVERRIDE_H_
-#define UI_DISPLAY_TEST_SCOPED_SCREEN_OVERRIDE_H_
-
-#include "base/memory/raw_ptr.h"
-
-namespace display {
-
-class Screen;
-
-namespace test {
-
-// [Deprecated] Do not use this in new code.
-//
-// This class represents a RAII wrapper for global screen overriding. An object
-// of this class restores original display::Screen instance when it goes out of
-// scope. Prefer to use it instead of directly call of
-// display::Screen::SetScreenInstance().
-class ScopedScreenOverride {
- public:
-  explicit ScopedScreenOverride(Screen* screen);
-
-  ScopedScreenOverride(const ScopedScreenOverride&) = delete;
-  ScopedScreenOverride& operator=(const ScopedScreenOverride&) = delete;
-
-  ~ScopedScreenOverride();
-
- private:
-  raw_ptr<Screen> original_screen_;
-};
-
-}  // namespace test
-}  // namespace display
-
-#endif  // UI_DISPLAY_TEST_SCOPED_SCREEN_OVERRIDE_H_
diff --git a/ui/gl/swap_chain_presenter.cc b/ui/gl/swap_chain_presenter.cc
index a3263dd2..b2257f00 100644
--- a/ui/gl/swap_chain_presenter.cc
+++ b/ui/gl/swap_chain_presenter.cc
@@ -208,7 +208,7 @@
   raw_ptr<void> param;
 };
 
-void ToggleIntelVpSuperResolution(ID3D11VideoContext* video_context,
+bool ToggleIntelVpSuperResolution(ID3D11VideoContext* video_context,
                                   ID3D11VideoProcessor* video_processor,
                                   bool is_on_battery_power) {
   TRACE_EVENT1("gpu", "ToggleIntelVpSuperResolution", "on",
@@ -222,20 +222,28 @@
   param = kIntelVpeVersion3;
   HRESULT hr = video_context->VideoProcessorSetOutputExtension(
       video_processor, &GUID_INTEL_VPE_INTERFACE, sizeof(ext), &ext);
+  base::UmaHistogramSparse(is_on_battery_power
+                               ? "GPU.IntelVpSuperResolution.Off.VpeFnVersion"
+                               : "GPU.IntelVpSuperResolution.On.VpeFnVersion",
+                           hr);
   if (FAILED(hr)) {
     DLOG(ERROR) << "VideoProcessorSetOutputExtension failed with error 0x"
                 << std::hex << hr;
-    return;
+    return false;
   }
 
   ext.function = kIntelVpeFnMode;
   param = is_on_battery_power ? kIntelVpeModeNone : kIntelVpeModePreproc;
   hr = video_context->VideoProcessorSetOutputExtension(
       video_processor, &GUID_INTEL_VPE_INTERFACE, sizeof(ext), &ext);
+  base::UmaHistogramSparse(is_on_battery_power
+                               ? "GPU.IntelVpSuperResolution.Off.VpeFnMode"
+                               : "GPU.IntelVpSuperResolution.On.VpeFnMode",
+                           hr);
   if (FAILED(hr)) {
     DLOG(ERROR) << "VideoProcessorSetOutputExtension failed with error 0x"
                 << std::hex << hr;
-    return;
+    return false;
   }
 
   ext.function = kIntelVpeFnScaling;
@@ -244,10 +252,16 @@
 
   hr = video_context->VideoProcessorSetStreamExtension(
       video_processor, 0, &GUID_INTEL_VPE_INTERFACE, sizeof(ext), &ext);
+  base::UmaHistogramSparse(is_on_battery_power
+                               ? "GPU.IntelVpSuperResolution.Off.VpeFnScaling"
+                               : "GPU.IntelVpSuperResolution.On.VpeFnScaling",
+                           hr);
   if (FAILED(hr)) {
     DLOG(ERROR) << "VideoProcessorSetStreamExtension failed with error 0x"
                 << std::hex << hr;
+    return false;
   }
+  return !is_on_battery_power;
 }
 
 void ToggleNvidiaVpSuperResolution(ID3D11VideoContext* video_context,
@@ -1568,11 +1582,12 @@
       DCHECK(output_view_);
     }
 
+    bool use_intel_vp_super_resolution = false;
     if (!layer_tree_->disable_vp_super_resolution()) {
       if (gpu_vendor_id_ == 0x8086 &&
           base::FeatureList::IsEnabled(features::kIntelVpSuperResolution)) {
-        ToggleIntelVpSuperResolution(video_context.Get(), video_processor.Get(),
-                                     is_on_battery_power_);
+        use_intel_vp_super_resolution = ToggleIntelVpSuperResolution(
+            video_context.Get(), video_processor.Get(), is_on_battery_power_);
       }
       if (gpu_vendor_id_ == 0x10de &&
           base::FeatureList::IsEnabled(features::kNvidiaVpSuperResolution)) {
@@ -1583,6 +1598,13 @@
 
     hr = video_context->VideoProcessorBlt(video_processor.Get(),
                                           output_view_.Get(), 0, 1, &stream);
+    if (gpu_vendor_id_ == 0x8086) {
+      base::UmaHistogramSparse(
+          (use_intel_vp_super_resolution
+               ? "GPU.IntelVpSuperResolution.On.VideoProcessorBlt"
+               : "GPU.IntelVpSuperResolution.Off.VideoProcessorBlt"),
+          hr);
+    }
     if (FAILED(hr)) {
       DLOG(ERROR) << "VideoProcessorBlt failed with error 0x" << std::hex << hr;
       return false;
diff --git a/ui/message_center/message_center_impl.cc b/ui/message_center/message_center_impl.cc
index bc1dd14..854ac3dd 100644
--- a/ui/message_center/message_center_impl.cc
+++ b/ui/message_center/message_center_impl.cc
@@ -201,9 +201,19 @@
       notification_list_->GetNotificationsByNotifierId(
           notification->notifier_id());
 
-  // `notifications` keeps notifications ordered with the most recent one in the
-  // front. If we have notifications for this notifier_id we return the last
-  // notification..
+  auto parent_notification_it = base::ranges::find_if(
+      notifications,
+      [](Notification* notification) { return notification->group_parent(); });
+
+  // If there's already a notification assigned to be the group parent,
+  // returns that notification immediately.
+  if (parent_notification_it != notifications.cend()) {
+    return *parent_notification_it;
+  }
+
+  // Otherwise, the parent notification should be the oldest one. Since
+  // `notifications` keeps notifications ordered with the most recent one in
+  // the front, the oldest one should be the last in the list.
   return notifications.size() ? *notifications.rbegin() : nullptr;
 }
 
diff --git a/ui/views/bubble/bubble_dialog_delegate_view_unittest.cc b/ui/views/bubble/bubble_dialog_delegate_view_unittest.cc
index fb94fea..37126ba2 100644
--- a/ui/views/bubble/bubble_dialog_delegate_view_unittest.cc
+++ b/ui/views/bubble/bubble_dialog_delegate_view_unittest.cc
@@ -16,7 +16,6 @@
 #include "base/strings/utf_string_conversions.h"
 #include "build/build_config.h"
 #include "ui/base/hit_test.h"
-#include "ui/display/test/scoped_screen_override.h"
 #include "ui/display/test/test_screen.h"
 #include "ui/events/event_utils.h"
 #include "ui/views/animation/ink_drop.h"